Saturday, 21 June 2014

sensor - Can I "integrate" the data from an accelerometer to record a motion trajectory?


I would like use an accelerometer equipped device to record a motion trajectory, as high-resolution and low-noise as possible. For instance, let's say I run a jogging route of 6 kilometres, returning exactly back to the location I started from. So I have the idea that I could possibly do without a GPS module and just record at constant rate the data from an accelerometer, say an ADXL345.


My questions thus:



  • can I use a 3-axis accelerometer to integrate twice, from acceleration to velocity to distances?

  • if the constraint is that I return to the exact location from where I started, can I apply an error-correction to the trajectory that compensates for drift, so that the last (x,y,z) coordinate of the recorded and integrated data becomes identical to the first one?


  • say I run from location A to B and back to A again. If I apply the mentioned drift-correction, do I still have a meaningful/correct position of spot B?


If not, how would I achieve this? Do I have to combine the accelerometer with a GPS?



Answer



No, this won't work in theory or practice because you do not have sensors to capture rotational motion. When you rotate an accelerometer, it is unable to detect that its coordinate system has rotated with respect to the desired coordinate system. What you are trying to do is called inertial navigation. In principle, to do inertial navigation, you need a three-axis accelerometer as well as a three-axis gyro (or angular rate sensor) to capture rotational motion. Then the acceleration data can be converted to displacements in the frame of reference you are using.


In practice, even if you add a gyro, doing this accurately is very difficult because small constant errors in acceleration become very large position errors during the process of integration. The only saving grace in your case is that if you add the assumption that you start and stop in the same place, you may be able to leverage that to calibrate out the drift (again, assuming you add a 3-axis gyro). Although user CortAmmon expressed skepticism that this extra information would be sufficient for calibrating out any drift in the acceleration measurement.


CortAmmon points out that the Northrup Grumman LN200 inertial measurement unit costs US$90,000, and could be expected to have a position error measured in km after the time it takes to do a run. Items like this are not only very expensive, but likely "export controlled" if made in the US. The reason is that Inertial nav units are used in missiles. This gives them the ability to hit a target even when GPS is being jammed.


No comments:

Post a Comment

arduino - Can I use TI's cc2541 BLE as micro controller to perform operations/ processing instead of ATmega328P AU to save cost?

I am using arduino pro mini (which contains Atmega328p AU ) along with cc2541(HM-10) to process and transfer data over BLE to smartphone. I...