
Sensor Fusion on Android Devices: A Revolution in Motion Processing
About this video
David Sachs of InvenSense explains how gyroscopes, accelerometers and compasses work on their own and together, demonstrated on a modified Android handset. He covers sensor fusion algorithms and why rotation math such as Euler angles matters.
Why it appears in the archive
HN recommends it as the definitive talk on mobile motion sensing, including why integrating acceleration twice drifts so badly.
AI-generated summary and labels from the source dataset; verify important details against the video. Source & credits.
From the Hacker News discussion
When this topic comes up, I'm always happy to share this incredible lecture from many many years ago about dead reckoning and how you _cannot_ integrate acceleration twice: [VIDEO] (the whole video is incredible, but this is the magical bit)
Read original comment ↗Then you would be surprised how bad they are. A great talk on using mobile sensors is here: [VIDEO] Long story short, expect something like 20 cm/s of position drift trying to do dead reckoning off of mobile sensors.
Read original comment ↗> The big winner will be an easy 3d modeler. Oh, I agree 100%. I was thinking a phone could be ideal here. You'd just wave it through the air, drawing what you want, you could review what you've drawn in the screen and adjust parameters, and it could vibrate to give haptic feedback to help you draw in a straight line, or let you know when your path connects to another that you've drawn. Stuff like that. Unfortunately, it looks like there's too much noise in the accelerometers to make the double integration to position meaningful. Something like Sensor Fusion[1] can make it more accurate by incorporating data from the gyroscope and compass, but even so it's not enough. In any case, like you I hope someone develops something intuitive to really help 3D printing take off. The future should be interesting... [1] [VIDEO]
Read original comment ↗That is surprising, you must have had an extremely accurate accelerometer and gyro, or employed tricks [1]. There are two problems with determining position from acceleration measurements: 1. You're integrating twice (acceleration to obtain velocity, then velocity to obtain position). So if you have any noise or error, you're integrating that, and integrate that again. Hello, parabola. 2. Gravity. It's strong. So you have to subtract it (as it induces an apparent acceleration upwards). If the difference between actual down and where your model thinks is down is just a fraction of a degree, you'll be totally off within minutes. See eg here: [VIDEO] Or here: [LINK] > As a concrete example consider a tilt error of just 0.05 [degrees]. This error will cause a component of the acceleration due to gravity with magnitude 0.0086 m/s2 to be projected onto the horizontal axes. This residual bias causes an error in the horizontal position which grows quadratically to 7.7 m after only 30 seconds [and thus to 770 m after 5 minutes, unless I'm mistaken, and 110 km after an hour] Or here: [LINK] (search for "Accuracy of Velocity and Position Estimates"). [1] such as assuming that your foot has velocity zero while on the ground, which does not hold when you're in an elevator, for example, and which you can't use in a drone without some serious sensor fusion.
Read original comment ↗