View Single Post
  #12   Spotlight this post!  
Unread 18-01-2014, 01:35
slibert slibert is offline
Software Mentor
AKA: Scott Libert
FRC #2465 (Kauaibots)
Team Role: Mentor
 
Join Date: Oct 2011
Rookie Year: 2005
Location: Kauai, Hawaii
Posts: 355
slibert has much to be proud ofslibert has much to be proud ofslibert has much to be proud ofslibert has much to be proud ofslibert has much to be proud ofslibert has much to be proud ofslibert has much to be proud ofslibert has much to be proud ofslibert has much to be proud of
Re: Accelerometers and speed

Quote:
Originally Posted by John View Post
An IMU is a set of accelerometers and gyroscopes (in this three accelerometers and three gyros to detect all 6 degrees of freedom). The nav6 includes a magnetometer, which may help mitigate gyro drift, but won't do anything for linear acceleration.

In general, you may have success with an accelerometer (or an IMU containing one) if your margin for error is large enough (say, if you just want to drive forward ~8-12 feet in auto to pick up the 5 points, and want a sensor instead of timing). But if you want really accurate positioning you will probably need a different sensor (probably encoders).
As we developed the nav6, we developed code to calculate linear acceleration. Given the digital motion processing that fuses the gyro/accellerometer and the sensor calibration that's automatically performed, a reasonably accurate estimate of the gravity vector is developed. This gravity vector, when adjusted to be relative to the world reference frame and then removed from the raw accelerometer data, yields linear acceleration, which in the X and Y axes is reasonably accurate.

As you've indicated, it really depends the level of accuracy that is required. I don't have nav6 linear acceleration accuracy measures yet, but will try to post them when we've measured them. The linear acceleration measures certainly won't be perfect, since an IMU uses estimation techniques during the gyro/accelerometer fusion.

Of course, wheel slip and encoder decode tracking error can also be introduce inaccuracies in certain cases, so encoders pose challenges, too.

One of the nice ideas I've seen discussed on Chief Delphi is fusing the encoder data from the drive wheels w/the linear acceleration (like that calculated by the nav6). These two data streams would be fused by a Kalman Filter (or perhaps more simply by a complementary filter approach) which would be tuned to use the encoder data - unless wheel slip was detected in which case the IMU-generated linear acceleration measures would be used until the slippage had subsided.

I'm curious as to others thoughts on this idea, as I'm thinking this would be a nice research and development project that we could work on during the off-season and make available to the community if there was interest.....

Last edited by slibert : 18-01-2014 at 01:43.