ArduPilotMega IMU shield vibration test results

Hi all,
I have been testing the new sensor shield board for ArduPilot Mega. This new version (codename : Foxtrap2) comes with the IDG500 gyros from Invensense. Old board (and also ArduIMU) uses ST gyros. Well I had heard that Invensense gyros are more vibration resistance than ST´s (because the internal resonant frequency is much higher) so I decided to do a "real world" test.

As you can see the Invensense gyros are MUCH cleaner than ST´s. This is a nice performance for a vibration enviroment (real quad flight).
This is how I did the test:
- I mounted the two boards at the same time in a quadcopter (60cm size, 10x4.5 props)
- Register the raw sensor data in the DataFlash EEPROM at main loop rate (70Hz in this test) on each board
- In order to syncronize the two data sets I tap (with my finger) at the beggining and end of flight (this tap is clearly visible on data)
- I started increasing the throttle slowly and then made a 25 seconds hovering

I calculated the standard deviation of the gyros on the three steps (at rest, ground with motors on and hovering)
The results are VERY clear, the Invensense gyros are MUCH better in vibration resistance than ST´s. This are fantastic news!! and really worth the delay on the sensor shield!!
With this performance, in the case of a quad (and planes also), we can increase the gain of the gyro rate to increase the stability. (Usually the limit of the gain is the noise on the gyros).

Here is the full set of data with graphics (Excel file):

I have made several flights with this new shield and I´m very happy with the results, the quad shows a fantastic stability :-)

We have tested also the other components of this shield like the Dataflash EEPROM, the new barometer, the rele (for payloads), switches... We needed to make some minor changes (pin assignements) to some libraries (APM_ADC and DataFlash) and we are now developing the Arduino libraries for the barometer and the optional magnetometer.
Also in the final production of the board, Jordi will do some improvements in the ADC part adding a dedicated voltage regulator for gyros and accels because we discovered in this version that the I2C translator (for the barometer) add some noise to the system.
When I talked to Jordi he says that this IMU board should be available starting late next week.


Views: 4298

Comment by Knuckles904 on May 27, 2010 at 4:32pm
Are the two other spikes on either side of the "hovering" section the takeoff and landing?

Comment by Jani Hirvinen on May 27, 2010 at 8:11pm
Knuckless, no they are that Tap:ing with Joses finger so he can sync data from both boards. Like he says in he's text: "- In order to syncronize the two data sets I tap (with my finger) at the beggining and end of flight (this tap is clearly visible on data)"

E.g he his touching the quad to make some noticeable vibration on logger. Just like video people when they have multiple cameras they use loud and really short BEEP and then on video editor they can see this beep on voice channels easily and then easily sync those two-three... camera feeds to gether.

Comment by Jani Hirvinen on May 27, 2010 at 8:15pm
And Jose great work. Yes we have seen this same issue on AeroQuad group and now it's proven in real world too. Would be great to see other gyros also compared against IDG/IXZ gyros. Like ADXRS610 and especially that new digi gyro.
Comment by Lew Payne on May 27, 2010 at 9:13pm
Thanks for posting these results, as well as your testing methodology. I like seeing real-life data - even if I'm not using your particular platform, I like seeing MEMS sensors sized up.

Note that Analog Devices announced the new ADXRS450 iMEMS gyro recently. Quoting from AD, "this fourth-generation device features an advanced, differential quad-sensor design that enables it to operate accurately under intense shock and vibration conditions." Apparently, they use a set of differential MEMS sensors to cancel out the effect of vibration and external noise.

Comment by Sandro Benigno on May 28, 2010 at 12:50pm
Very nice news, man! I can't wait more... :(

Jose, would be possible increase the main loop to more then 70hz? I'm thinking about use fast PWM with the Pilot Mega. It's very doable on it, but I understand that fast PWM actualized at 70hz isn't a big deal. Could we put 250hz PWM (i.e. 1~2ms pulse with 2ms of gap) commanded by a fastest PID actualization?
Comment by Earl on May 28, 2010 at 8:31pm
The new shield with the ping sonar sensor for hovering is going to pose a rock solid hover machine !
The ping code works great now.
Comment by Heinrich Mueller on May 30, 2010 at 6:58am
the Invensense senors are also used by the eth group with good results:
I have found that the new st sensors LPR530AL LY530ALH (IMU 6DOF Razor) work fine on quadrocopter to.
See the link It would be nice if you can do the test again with the new st sensors.

Comment by Sandro Benigno on June 2, 2010 at 5:44am
Jose, Can I ask you two small questions?
1- I noticed that you are using 500hz PWM on the code, with a minimal gap at 4.8uSec between pulses. Does it work on all ESCs based on Atmega8?
2- Would be possible increase the main loop to more than 70hz? (I imagine that a so incredible fast PWM actualized at 70hz isn't a big deal... Isn't right? <-- 3 questions... sorry ).

Comment by Ryan Beall on June 2, 2010 at 6:54pm
Comment by Mauro Rodriguez on June 6, 2010 at 4:16pm
Hi! I dont see the PPM enconder in the picture... will I need it for the Arducopter? I already bought the Ardupilot Mega and the shield (pre order) :)


You need to be a member of DIY Drones to add comments!

Join DIY Drones

© 2020   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service