Comment on ELI5: how do mobile devices know your movements?
blackstampede@sh.itjust.works 3 months ago
The most basic way to measure movement is with an accelerometer. It’s a little component inside your phone that has a small weight with a known mass connected to springs. When the phone moves or rotates, the weight moves, and the tension on the springs changes. The tension is either constant (you rotated your phone and are now holding it in the new position) or temporary (you moved in a direction and stopped. There are other ways this can be done, but this is the most conceptually simple.
Steps, length of step, distance moved, and heart rate can be estimated from analyzing the movement in various ways.
For example, to detect a step, your phone might see movement slightly up and forward, then down, then a jarring impact. Heart rate can be estimated based on your entered weight in an app, your speed of movement, how long you’ve been moving, and averages for people of your weight moving in those ways. This is a very inaccurate way to measure your heart rate, however. A better way would be by a sensor located on your wrist, arm, or chest, which is what smart watches often do.
Movement measured by an accelerometer can quickly become inaccurate, because small errors add up over time, so for movement over longer distances, phones generally use GPS (communication with a satellite positioning system) which is accurate to within about 5 meters.
If GPS isn’t available, but the phone is connected to multiple cell phone towers, then it’s possible to triangulate the position of the phone given the tower locations. If we know the distance and direction to the towers, and the position of the towers, then we can find the location of the phone by basically adding an offset to one of the tower locations.
There are other, more niche ways to measure positions without triangulation or GPS, but they’re generally used for autonomous robotics - laser positioning with reflectors, ultra-wode-band positioning with special sensors, or visual positioning with cameras surrounding the region in which the robot will be working.
Let me know if you have any further questions.
Successful_Try543@feddit.org 3 months ago
For completing your nice explanation, here is the DeepL translation of the section in German Wikipedia on micro accelerometers:
blackstampede@sh.itjust.works 3 months ago
Thank you. I’m not an expert on how accelerometers work, I’ve generally just used them in robotic and mobile applications.