Question Regarding 9-DOF IMU Breakout

Breakout boards, sensors, other Adafruit kits, etc.

Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.
Locked
User avatar
Billwaa
 
Posts: 10
Joined: Wed Apr 16, 2014 11:10 pm

Question Regarding 9-DOF IMU Breakout

Post by Billwaa »

Hi, I am building a multi-rotors model aircraft for my research thesis and is looking for a reliable and easy to use IMU. I did some searching and landed on the Adafruit 9-DOF IMU Breakout. Example codes seems easy enough to use. However, just wondering how is the performance?

From the header file, it seems that the code only do sensor fusion of the accelerometer and the magnetometer. Will that be a problem during flight considered that the force vector is changing? Also will the magnetic field from the motors interfere with the magnometer? Are there any libraries that do fusion of all 9 axis including the gyroscope?

So far, most of the parts for my project is from Adafruit, so I kinda hope I can use the IMU from here too lol.

Thanks ahead of time!

waltr
 
Posts: 306
Joined: Wed Jun 12, 2013 5:01 pm

Re: Question Regarding 9-DOF IMU Breakout

Post by waltr »

I do build multi-rotors.

1- Magnetometers can be affected by the magnetic fields generated by current flowing through wires. So it is not uncommon for a magnetometer is change its values with different throttle settings. The best way around this issue is to mount the magnetometer as far away from the motor power wires as possible.

2- Are you writing all this code from scratch?
I suggest you look into the MultiWii code since most to this work has been done and it is an open source project for Arduino based processor boards.
This code does have many IMUs already setup so can use Adafruits boards that interface to an Atmega through I2C.

3- Exactly which 9-DOF IMU are you looking at (post a link). This prevents any confusion as to what you plan to use.

User avatar
Billwaa
 
Posts: 10
Joined: Wed Apr 16, 2014 11:10 pm

Re: Question Regarding 9-DOF IMU Breakout

Post by Billwaa »

I am thinking about this one:
http://www.adafruit.com/products/1714

I have used MultiWii to test out a quad I built, it work very nice with few configuration. Originally, my adviser insist on getting a super expensive ($500+) IMU and computer. But I was able to convince him later that more expensive is not always better.

For my project, I am supposed to develop and implement a control system instead of using someone else's. Luckily, since I am not a CS major, I don't have to do all the low level programming, I am allow to use libraries written by others.

This project is supposed to simulate the space hopper concept, he want to use a microcomputer instead of a microcontroller. We got a linux computer (recently switched an intel based one to beaglebone) as the main computer, which handle stuffs like path-finding, control algorithm, wireless communication / command, pwm output... we use an Arduino micro as the data acquisition module to read GPS, altimeter, backup radio receiver, battery voltage monitor...

Anyway, I will take a look at MultiWii's source code and see how they implement the IMU. Do you know if MultiWii use the FreeIMU library? That one seems pretty promising too.

waltr
 
Posts: 306
Joined: Wed Jun 12, 2013 5:01 pm

Re: Question Regarding 9-DOF IMU Breakout

Post by waltr »

Ok, much better explanation of your project.
The IMU will work but you may need to add some code to Multiwii.

Another throught:
Use a MW flight controller board and Multiwii code. Then interface the MW board and code to 'talk' to the Linus (BB). There is code in MW to do this but you may need to add more. This lets the MW FC do the low level sensor reading and tight control loops to the motors/ESCs.
This then leaves the bulk of your project in the 'high level' code on the BB which will still be a big challenge. A reason for this suggestion is the low level stuff has been done many times on many processors so why re-do this. Not much has been done using another board for the high level work. Also, most OS's (Linux, etc) are not good for tight control loops that are required between the sensors and motors. The OS's 'time slice' the multiple tasks and you'll find that the control loop just stops for short time periods.

User avatar
Billwaa
 
Posts: 10
Joined: Wed Apr 16, 2014 11:10 pm

Re: Question Regarding 9-DOF IMU Breakout

Post by Billwaa »

Great, thanks for the suggestions, I will explore that route for a bit.

Locked
Please be positive and constructive with your questions and comments.

Return to “Other Products from Adafruit”