This code implements a paper called AMT: Acoustic Multi-target Tracking with Smartphone MIMO System, which does Acoustic target tracking using multiple microphones and speakers.
A constant position shift bug has been observed where sometimes the targets are off by a constant shift from their actual location. To help diagnose this issue, diagnostic images are saved to the amt_debug_images directory when running the simulation.
When analyzing the debug images, look for:
-
Error Maps: These visualize the multilateration error landscape. Look for:
- Multiple local minima that might confuse the position estimation
- Asymmetric error patterns that might bias the estimation in a particular direction
- Different optimal positions across different Z-heights
-
Per-Axis Error Analysis: Look at the tracking_errors.png file to see:
- If there's a consistent bias in a particular direction (X, Y, or Z)
- If the shift is truly constant or if it changes over time
- In particular, check if any axis has a consistent non-zero mean error
-
Correlation Data: In the correlation visualization images, pay attention to:
- The difference between expected and detected peaks
- Whether the direct path delay estimation is accurate
- Any systematic errors in the time-of-flight measurements
-
Ellipse Analysis: In the ellipses visualization, check:
- If the ellipses are correctly positioned based on speakers and mics
- If the target true position is at the intersection of multiple ellipses
- If there are systematic biases in the ellipse positions
The constant shift could be caused by several factors:
- Calibration Error: Incorrect speaker or microphone positions
- Speed of Sound Error: Incorrect speed of sound parameter
- Multilateration Algorithm Issues: Local minima or biased error functions
- Direct Path Delay Issues: Incorrect calculation of the direct path delays
- Systematic Measurement Bias: Consistent error in time-of-flight or correlation peak detection
After analyzing the debug images, consider:
- If the shift is truly constant, adding a calibration offset to compensate
- Refining the multilateration algorithm to be more robust to multiple minima
- Improving the correlation peak detection with more precise filtering
- Adjusting the Kalman filter parameters to be more/less reliant on measurements
- Adding more rigorous validation of multilateration results before accepting them