I'm developing a Flutter app on MacOS aimed at tracking short distances (less than 2 meters) for brief periods (up to 60 seconds) using the device's accelerometer, gyroscope, and magnetometer. I've attempted to apply several algorithms, including the Extended Kalman Filter and the Madgwick algorithm. However, I'm encountering significant issues with my outputs from the start, not just simple drift.
The app is designed to convert the phone's orientation to a global user orientation, with the Y-axis pointing up and the Z-axis moving forward or backward, according to current conventions. It should then measure the distance traveled from a starting point. A few practical scenarios include tracking how far a user leans forward from an upright position, or how low they can squat from standing.
I have a strong suspicion that the problem lies within my [login to view URL] file. I'm willing to pay for an expert who can identify and fix this issue. I plan to handle the actual coding for measuring forward lean and squat depth myself. Your task is solely to diagnose the bug and implement a fix.
Key Skills and Experience:
- Some knowledge of Flutter and Dart is helpful but likely not required
- Proficiency in working with sensor data
- Experience with real-time data processing
- Familiarity with algorithms like Extended Kalman Filter and Madgwick
- Strong debugging skills
Code attached.