Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
97 commits
Select commit Hold shift + click to select a range
6309498
feat: Update to Proto v2.0
ning-gogo Feb 8, 2026
a838b05
Before adding trajectory name feature
ning-gogo Feb 9, 2026
cca343b
feat: Add trajectory name input dialog
ning-gogo Feb 9, 2026
9090590
feat: Add initial position recording
ning-gogo Feb 9, 2026
7cbe937
feat: Add initial orientation recording
ning-gogo Feb 9, 2026
88cb8b1
feat: Complete all 7 sensor info fields
ning-gogo Feb 9, 2026
5633044
feat: Add WiFi fingerprint deduplication
ning-gogo Feb 9, 2026
e1e78ad
feat: Complete BLE data collection implementation
ning-gogo Feb 10, 2026
b46672d
Test Points in Recording Fragment implemented
Bhavyas15 Feb 10, 2026
8436af1
feat: Add BLE deduplication and WiFi RSSI comparison
ning-gogo Feb 10, 2026
8932a4f
feat: Add live data display card in recording interface
ning-gogo Feb 10, 2026
21473c6
merge sensor data and test points
Bhavyas15 Feb 10, 2026
a3ffd08
Uploads page and xml files updated
Bhavyas15 Feb 11, 2026
8d13c06
indoor map and floor plan capabilities
sydneysavarese Feb 11, 2026
1765c22
Merge branch 'feature/ble-8932a4f-plus-b46672d' into indoormap
sydneysavarese Feb 11, 2026
209bde7
Merge pull request #1 from ning-gogo/indoormap
sydneysavarese Feb 11, 2026
111e2d7
Merge pull request #2 from ning-gogo/feature/ble-8932a4f-plus-b46672d
sydneysavarese Feb 11, 2026
3d12855
commented FloorPlanData.java
sydneysavarese Feb 11, 2026
8551d65
comment VenueMapper.java
sydneysavarese Feb 11, 2026
e1111d2
commented TrajectoryMapFragment.java
sydneysavarese Feb 11, 2026
28141c8
Describe what you changed
Bhavyas15 Feb 12, 2026
c0e9400
merge to develop
Bhavyas15 Feb 12, 2026
919d7da
added secrets.properties to gitignore
sydneysavarese Feb 12, 2026
72f4e37
deleted secrets
sydneysavarese Feb 12, 2026
e3894bb
feat: add WiFi RTT ranging support with rtt_enabled flag and WiFiRTTR…
ning-gogo Mar 16, 2026
10c9bb5
feat: add particle filter positioning fusion and coordinate converter
ning-gogo Mar 16, 2026
c70a036
feat: expose per-source raw positions for colour-coded display
ning-gogo Mar 16, 2026
171fd78
feat: add uncertainty metric, adaptive noise, and WiFi cold-start boo…
ning-gogo Mar 16, 2026
421e8b0
feat: expose particle cloud via getParticles() for map matching integ…
ning-gogo Mar 17, 2026
326c794
feat: floor-aware particle reset on floor change detection
ning-gogo Mar 17, 2026
4c4d286
fix: initialise EKF in WiFi cold-start bootstrap alongside ParticleFi…
ning-gogo Mar 19, 2026
48fbf50
change EKFPositioning to ExtendedKalmanFilter
ning-gogo Mar 19, 2026
f2cede2
added indoor map corrections, need to be edited
sydneysavarese Mar 20, 2026
4d8daaa
Merge branch 'develop' of https://github.com/ning-gogo/PositionMe int…
sydneysavarese Mar 20, 2026
ed86b98
added particle filtering to map matching
sydneysavarese Mar 21, 2026
c8fbf11
fixed bug that was making venue outline not appear
sydneysavarese Mar 23, 2026
03ca994
Data Display
Bhavyas15 Mar 23, 2026
52dad8b
implementing particle filter approach to map matching
sydneysavarese Mar 25, 2026
ab503c0
Display-map control dropbox + pdr path toggle
Bhavyas15 Mar 25, 2026
3dc901e
corrected orientation
Bhavyas15 Mar 26, 2026
46f1f39
merged display and fused position
Bhavyas15 Mar 26, 2026
bf847ae
Merge pull request #3 from ning-gogo/Display
Bhavyas15 Mar 26, 2026
43b91cd
floor stuff
sydneysavarese Mar 26, 2026
d76887e
merged from develop
sydneysavarese Mar 26, 2026
2c06239
added smth
sydneysavarese Mar 26, 2026
b6130ed
idk anymore
sydneysavarese Mar 28, 2026
47831a2
applywallconstraints works until weight collapse, arrow also seems to…
sydneysavarese Mar 28, 2026
d25adb9
completely stops fused path from going through walls, it will get stu…
sydneysavarese Mar 29, 2026
a3e7010
floor switch working!
sydneysavarese Mar 29, 2026
75f3271
feat: accuracy-adaptive GNSS noise, fix duplicate WiFi fingerprint, f…
ning-gogo Mar 29, 2026
735880c
Merge feature/positioning-fusion into develop
ning-gogo Mar 29, 2026
aba3957
feat: fix PDR heading bias and add WiFi AP-count adaptive noise
ning-gogo Mar 29, 2026
c3c1111
fix: inject particles near observation on weight collapse
ning-gogo Mar 29, 2026
fa41275
feat: ZUPT, jump rejection, sigma-adaptive noise, GNSS heading, displ…
ning-gogo Mar 29, 2026
94efd2d
fix: guard GNSS heading update against low-accuracy fixes
ning-gogo Mar 29, 2026
3b0af2b
fix: reduce motion noise std and re-centre on high-accuracy GNSS
ning-gogo Mar 30, 2026
5789930
fix: connect map-matching floor change to particle filter reset
ning-gogo Mar 30, 2026
3b5dee0
fix: add missing use_ekf toggle to Settings screen
ning-gogo Mar 30, 2026
bd8618a
changed colors of stairs and lifts
sydneysavarese Mar 30, 2026
95b7e82
merging w develop
sydneysavarese Mar 30, 2026
4e3f9d6
fix: unify trajectory colors, fix GNSS dots, fix EKF display, add wal…
ning-gogo Mar 30, 2026
4581145
WIP: positioning fusion improvements (recording bugs present)
ning-gogo Mar 30, 2026
6b5c2dd
fix: correct recording start position and increase observation dot limit
ning-gogo Mar 30, 2026
03a45ac
merge: positioning fusion improvements from wip branch
ning-gogo Mar 30, 2026
794370f
starting to implement new wall filtering
sydneysavarese Mar 30, 2026
d35ec7d
Merge branch 'develop' of https://github.com/ning-gogo/PositionMe int…
sydneysavarese Mar 30, 2026
ca1db5c
idk
sydneysavarese Mar 30, 2026
349f34d
best estimate wall constraints
sydneysavarese Mar 30, 2026
158f374
trying to improve walls, still not great
sydneysavarese Mar 31, 2026
2564375
working wall constraints
sydneysavarese Mar 31, 2026
6760d88
added circle to indicate what lift or stairs was taken and point snap…
sydneysavarese Mar 31, 2026
4f46f5a
horizontal displacement works!
sydneysavarese Mar 31, 2026
d982171
wip: ui merge in progress — partial changes applied
ning-gogo Mar 31, 2026
805b0a0
ui: use fused position for test points, remove wifi toasts
ning-gogo Mar 31, 2026
6a8d6ed
ui: draw fused trajectory on correction map, add fusedTrajectoryPoint…
ning-gogo Mar 31, 2026
f0417bd
ui: update trajectory map layout — add gnssPathSwitch, adjust switch …
ning-gogo Mar 31, 2026
a68dc77
ui: update TrajectoryMapFragment — rename polylines, add gnssPathSwit…
ning-gogo Mar 31, 2026
0097b54
ui: show raw fused position on purple path, LPF only on cyan path
ning-gogo Mar 31, 2026
49aa417
ui: highlight stairs (yellow) and lifts (blue) on indoor map, remove …
ning-gogo Mar 31, 2026
0deaf8e
feat: add EKF single-position wall constraint methods (clampToWallEnu…
ning-gogo Mar 31, 2026
2cec6d1
feat: add floor commit system — confirmed floor baseline, 1500ms dela…
ning-gogo Mar 31, 2026
1f3950e
feat: upgrade acceptFloorChange — FloorChangeResult, debounce, transi…
ning-gogo Mar 31, 2026
746d4a5
fix: init confirmed floor on venue select, connect EKF wall constrain…
ning-gogo Mar 31, 2026
bb7cf6d
Refined code + correction fragment updations
Bhavyas15 Mar 31, 2026
a498f0a
Correction fragment best estimate update
Bhavyas15 Mar 31, 2026
3d29355
Increase max points display from 15 to 30
Bhavyas15 Apr 1, 2026
7c66250
added floor button visibility and autofloor functionality
sydneysavarese Apr 1, 2026
8721fc3
fix: reduce EKF covariance inflation and cap single-step WiFi displac…
ning-gogo Apr 1, 2026
46aca2b
fix: add EKF innovation gating to reject outlier WiFi observations
ning-gogo Apr 1, 2026
c7b8ac8
fix: apply EMA smoothing to WiFi observations before EKF update
ning-gogo Apr 1, 2026
415a73b
debug: log isStationary suppression of PDR steps
ning-gogo Apr 1, 2026
eee2430
fix: tighten isStationary — min 5 samples, threshold 0.5 → 0.3 m/s²
ning-gogo Apr 1, 2026
89ddf72
merged w develop
sydneysavarese Apr 1, 2026
fc5c51e
Merge branch 'develop' of https://github.com/ning-gogo/PositionMe int…
sydneysavarese Apr 1, 2026
3e1b970
fix: remove duplicate EKF wall clamp and gate display constraint on s…
ning-gogo Apr 1, 2026
2a15684
added comments
sydneysavarese Apr 1, 2026
79578b4
Merge branch 'develop' of https://github.com/ning-gogo/PositionMe int…
sydneysavarese Apr 1, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -14,3 +14,4 @@
.cxx
local.properties
/.idea/
secrets.properties
78 changes: 78 additions & 0 deletions Change_by_haoning_0208.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
**Date**: 2026-02-08

### New Fields Added
1. **trajectory_id** (string) - For naming/identifying trajectories
2. **initial_position** (GNSSPosition) - Starting position of trajectory
3. **test_points** (repeated GNSSPosition) - Test points for positioning algorithms
4. **sensor_info** - Information for 7 sensors:
- accelerometer_info
- gyroscope_info
- rotation_vector_info
- magnetometer_info
- barometer_info
- light_sensor_info
- proximity_info
5. **WiFiAPData.rtt_enabled** (bool) - RTT support flag
6. **BleData** enhanced with:
- mac_address, name, tx_power_level
- advertise_flags, service_uuids, manufacturer_data

---

### Breaking Changes - API Updates

### Class Name Changes

| Old Name | New Name |
|-------------------|----------|
| `Pdr_Sample` | `RelativePosition` |
| `GNSS_Sample` | `GNSSReading` |
| `WiFi_Sample` | `Fingerprint` |
| `Mac_Scan` | `RFScan` |
| `Motion_Sampleq` | `IMUReading` |
| `Position_Sample` | `MagnetometerReading` |
| `Pressure_Sample` | `BarometerReading` |
| `Light_Sample` | `LightReading` |
| `AP_Data` | `WiFiAPData` |

### Method Name Changes

| Old Method | New Method |
|------------|------------|
| `addRfScans()` | `addRfScans()` |
| `addWifiData()` | `addWifiFingerprints()` |
| `addPositionData()` | `addMagnetometerData()` |
| `getPositionDataCount()` | `getMagnetometerDataCount()` |
| `getWifiDataCount()` | `getWifiFingerprintsCount()` |

### Structure Changes

**IMU Data** - Now uses Vector3/Quaternion:
```java
// OLD
.setAccX(x).setAccY(y).setAccZ(z)

// NEW
.setAcc(Traj.Vector3.newBuilder().setX(x).setY(y).setZ(z).build())
```

**GNSS Data** - Position nested in GNSSPosition:
```java
// OLD
.setLatitude(lat).setLongitude(lon).setAltitude(alt)

// NEW
.setPosition(Traj.GNSSPosition.newBuilder()
.setLatitude(lat).setLongitude(lon).setAltitude(alt).build())
```

---

### Files Modified

- `Traj.java` - Regenerated from proto
- `SensorFusion.java` - Updated API calls
- `ServerCommunications.java` - Updated API calls
- `app/build.gradle` - Updated protobuf dependency to 4.29.6

---
5 changes: 4 additions & 1 deletion app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,9 @@ android {

testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"

manifestPlaceholders = [
MAPS_API_KEY: localProperties['MAPS_API_KEY'] ?: ''
]
// Example of referencing secrets (if you use secrets.properties):
buildConfigField "String", "MAPS_API_KEY",
"\"${localProperties['MAPS_API_KEY'] ?: ''}\""
Expand Down Expand Up @@ -73,7 +76,7 @@ dependencies {
androidTestImplementation 'androidx.test.espresso:espresso-core:3.6.1'
implementation 'com.google.android.material:material:1.12.0'

implementation 'com.google.protobuf:protobuf-java:3.0.0'
implementation 'com.google.protobuf:protobuf-java:4.29.6'
implementation 'com.squareup.okhttp3:okhttp:4.10.0'
implementation "com.google.protobuf:protobuf-java-util:3.0.0"
implementation "com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava"
Expand Down
12 changes: 11 additions & 1 deletion app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,16 @@
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

<!-- Bluetooth Permissions -->
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<uses-permission android:name="android.permission.BLUETOOTH_SCAN"
android:usesPermissionFlags="neverForLocation" />
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
<uses-feature
android:name="android.hardware.bluetooth_le"
android:required="false" />

<!-- Location -->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
Expand Down Expand Up @@ -84,7 +94,7 @@
<!-- Google Maps API key metadata -->
<meta-data
android:name="com.google.android.geo.API_KEY"
android:value="@string/google_maps_key"/>
android:value="${MAPS_API_KEY}"/>

<activity
android:name="com.openpositioning.PositionMe.presentation.activity.MainActivity"
Expand Down
Loading