Does anyone know of a complete IMU solution that can "fuse" the data from the accelerometers and gyros onboard in order to output an absolute angle for roll and pitch?  This would mean the main micro controller wouldn't have to continuously integrate the gyros and crunch through Kalman filters.

Forgive me if I'm asking to cheat a bit and take some of the DIY out of DIY drones.

Tags: IMU, absolute, position

Views: 883

Reply to This

Replies to This Discussion

And Here to integrate magnetometer/GPS in DCM to get AHRS :).
Sweet! That should save me a few weeks ;-)

Thanks again Guido!
Andy, I'm actually working with two different people, on two independent projects, that involve experimentation and implementation of a new formulation (what great buzzwords!). Basically, a bit more fusion and perhaps some dabbling in adaptive feedback techniques or at least a stepped approach (we can discuss this more over email or phone).

One project involves the STM32 CORTEX-M3 uC, which is the one I personally want to migrate to for (most) all future development endeavors. The other involves a TI TMS320F28335, which is actually more powerful than the TI chip being used in the BrainyBEE Autopilot (which is very impressive in and of itself). The reason for the two different projects - I get to learn the platform I want (STM32), plus a powerful DSP platform (TI) that I may need in the future for video processing.

This is a project of personal love for me. My last uC project was some 25 years ago, when I designed and produced a repeater controller using the (then powerful) 8748 micro and the DigiTalker (MM54104) "speech with a lisp" chip set. Prior to that, I had done the PCM speech encoding algorithm for what became the first commercially produced talking car alarm. Both were coded in pure assembler, one without the benefit of a compiler (eg: create a hex file of opcodes and burn to the device). I now want to get up to speed on modern embedded systems before retiring to a cardboard box deep in the ground.

Send me a message and we'll swap emails/phones or whatever you want.
My application is an indoor quadcopter. I'm not going to use GPS and I'm not planning any high speed aerobatics. Would I run into any of the limitations of the CHRobotics AHRS? If I use the ArduIMU, would the lack of centripetal acceleration correction be a deal breaker for me?
Hey Mike

There is a long-standing debate about whether accels are useful at all for estimating attitude on a quadrotor aircraft when it is near hover. We probably shouldn't rehash the debate now...

Whatever the case, I don't think you need centripetal compensation for a hovering rotorcraft. I think that the CHR-6dm (or the CHR-6d), or the ArduIMU would work just fine.
Agreed. A heli is unlikely to encounter the limitations set forth earlier - especially for extended periods of time. You may not even really need magnetometers, as Caleb points out.
Hey! I bought this CHR-6DM straight after seeing this: http://vrhome.net/vassilis/category/quadcopter/

It's a quad made off of this sensor board. And it works AMAZING!

So, now I sit here with a working Arduino Mega/Nintendo Wii sensor IMU setup working (but not as good as in that video of course!!!). And my question is, how would we most easy way get the needed data out of the CHR-6DM as fast and good as possible? I read on CHR homepage forum that there were problems with doing this data transfer over UART, and the Mega's got 4 UART's but it also got I2C bus and one SPI bus.

Which way would be the simplest?
My ultimate goal is to incorporate this sensor into AeroQuad software because of the routines already made in that project that I wanna benefit from and also the simpleness to add my liking of sensors to it such as barometers. And there's nothing wrong with the Arduino Mega doing the simple tasks as PID and taking barometer readings for example.

So, any hints tips or further linkings you would want to share would be highly appreciated. I do have some experience with C and C++ in these native systems, but I prefer as little as possible work done in the source for the CHR AHRS unit.


Also, the hardware I got is:
*Arduino 5V Mega (with 3V3 reg.)
*Arduino 5v Duemilanove (with 3V3 reg.)
*Arduino 5v Pro Mini
*Basic 5V FTDI breakout board
*CHR-6DM

My first step is to look at the CHR-6DM with the FTDI breakout board to just convert UART to USB to look at the computer.
How goes your progress?

I gave up trying to mod/port jordi's and wiliams code to fit an arduino 328 or mega with 6dof + 3x mag + bar pressure + gps. spent 2 months... no luck

i just ordered the CHR-6DM as well, and cant wait to get it. we will use a mega to extract the data, probably via the I2C... i dont have a lot of experience with this, but i will use examples to get going

hopefully i get it soon - but i also hope it comes after i finish all my midterms......... because this will definitely distract me
Great news!

I've teamed up with a super coder named Lokling and he helped me (i.e. made it for us) with a complete way to both send data to and extract from the CHR6DM to the Arduino Mega Serial1 port.

It can be found here:
https://github.com/lokling/AeroQuad/tree/master/AeroQuad/

You'll have to take away the AeroQuad parts, but the important file is the CHR6DM.h which is found there. It handles the serial protocol just as good as the original interface program that comes with the CHR sensor, but with an Arduino Mega instead of the computer as host.

Let me know if you have problems retrieving the code.
That is great news! now im twice as excited - that code looks great!!!

Thanks for giving me that link too! i've been thinking about the code aspect for a while now, but to know that its already been done and tested? excellent

I am using the 6dm unit with an Arduino UNO, just wondering if the code would be the same or much changes? Im hoping to just retreive the data from the unit once per second rather than continuously let the data flow since all I am doing is logging the data rather than using it for a drone situation. My SD card will get full rather quickly if I let it get every ounce of data from the 6dm.

 

Thanks

Honks last reply here on page 5 has the best stand-alone version of the code. If you are justing wanting to retrive data, just store the variables that are being sent to output.

 

http://aeroquad.com/showthread.php?1138-REVOLUTION!!!-New-IMU!!!/page5

 

I am using the 6dm as well. output is the same. the E. kalman fuses the mag into it, but like i said, output is same as the 6d.

RSS

Social Networking

Contests

Season Two of the Trust Time Trial (T3) Contest has now begun. The fourth round is an accuracy round for multicopters, which requires contestants to fly a cube. The deadline is April 14th.

A list of all T3 contests is here

Advertisement

© 2013   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service