Posted by Chris Anderson on September 22, 2009 at 12:36pm
At last, the long-awaited ArduIMU is available! You can buy the hardware here (the first batch sold out within minutes, but he's making more quickly). The software is in beta, and you can find it here. It is, as promised, $99, making it the first sub-$100 AHRS in the world!
Proper documentation is coming soon, but here are the highlights:
Features
-3 Axis Accelerometer
-3 Axis Gyroscopes
-Arduino Compatible (Atmega328 onboard)
-Source Code included and Open Source!
-Power LED (Green)
-Status LEDs (Red, Blue, Yellow)
-SPI port available for more sensors.
-GPS port (uBlox ready!)
-Code based on Bill Premerlani's Direction Cosine Matrix
This is actually considered a full Attitude Heading Reference System, because it is IMU hardware plus the software to interpret the sensor readings and convert them into absolute attitude and heading information. The output is a serial ASCII string with raw sensor values and the DCM matrix values. You would use this with an autopilot board to convert those matrix values into commands for the your control surfaces.
The board works without the GPS module, but in that case the yaw readings are unreliable. If you add the GPS, the yaw is corrected. We will be releasing a magnetometer module to do the same thing indoors.
So this is a very cool project, and I love the low cost nature of it..but it seems to me that for around $150 we could have the flat board, USE a 12 bit ADC AND add barometric and airspeed sensors and we would have a full on ADAHRS (Air Data Attitude Heading Reference System) that would be ArduPilot compatible, could be a replacement shield, AND could be compatible with the NextGen ArduPilotMega - that might even free up some resources (clock cycles) on the Mega to do some other interesting things - so how about it?? - I'd be willing to kick in some time / dollars for board development and the like. We could even use the forum here to flesh out what we would all like to see done on the calculations side like - how do we compare / treat the data from the GPS vs the airspeed sensor, and the GPS vs. the Baro Altitude, etc., etc.
Regardless, I think the community isn't really screaming Hey! that's wrong...I think what I'm reading is more like...Ummm, what about the hardware I just got working...I can't use any of it other than my GPS (and in cases where people have the EM40x even that, now that the UBlox transition is happening?)
Just my two hundredths of a single unit of US credit backed currency.
The only way to use those gyros is using an external ADC of 12 bits. A 10 bits ADC is not enough for the output of those gyros if you want at least 1 degree of resolution. I proposed to add a SPI 12 ADC to use those sensors but that means bigger size, more problems and higher price, so we decided to make it simple. This is only a learning product for everybody and for me! I hope the community will say" Hey! HEy! that's wrong!! And i will happily correct it. The result will be a communist system, cheap and open source for all! Like ArduPilot.
This IMU is not meant for the current ArduPilot. It is a stand-alone IMU/AHRS at the moment (not an autopilot). It will also the core of our next autopilot, ArduMega, but don't look for that until the end of the year at the earliest. The current ArduPilot will continue to be our thermopile option.
well this is intersting... I have finally gotten the adrupilot to work on my mentor... now onto new things I guess... haha... so is this a daughter board then to the main adruinto autopilot? as in it takes place of the shield? Or is it stand alone? if so where are the servo connections input and output?
are the sensorboards on the little blue motherboard identical with the Breakout Board Expandable IMU ADXL330/LISY300 v2 and two of the Breakout Board LISY300 GYRO 300deg/sec from the webshop ? If yes, would it be possible to get such a motherboard alone because I bought a set of those sensorboards some time ago and I'd be happy when I can use the boards for this purpose.
To Chris and Jordi, since there are so many users out there using the Ardupilot 168/328 together with horizon XYZ sensors, why not make a special IMU version with 3 analog outputs,....i do not wish to order another AP version so fast...just got mine a few months back,...and i bet there are others thinking like me !
So, is that so difficult for you guys to take some care of us ?
Yes, that's 50hz, not 50Mhz. It's determined by servo refresh rate (no point in doing the calculations faster than you can act on them). The GPS is only required to correct yaw; the other dimensions are self-corrected.
The board design was based on the best tested gyros available at our price point during the development period. But the board is designed to be modular so you can swap in better gyros as they become available. The code and core processor board will remain the one constant.
Comments
http://www.atmel.com/dyn/resources/prod_documents/doc8003.pdf
Awesome job Jordi! Code is very clean and readable....love the floating point aspect of port as well!
I believe the ADCs are sampled at 50hz followed by 1st order filtering, fcutoff ( -3db ) @ 0.8 Hz.
In contrast, the UAV DevBoard samples at 500hz with -3db bandwidth @ 4.55 Hz (if my calcs are correct).
Do we have access to real world "telemetry" data for gryo and accel bandwidth (rate of change) requirements?
Do you anticipate any issues regarding DCM lag or slew limiting in an EasyStar?
Thank you for all your efforts, I can only imagine the time that was put into this! :)
Regardless, I think the community isn't really screaming Hey! that's wrong...I think what I'm reading is more like...Ummm, what about the hardware I just got working...I can't use any of it other than my GPS (and in cases where people have the EM40x even that, now that the UBlox transition is happening?)
Just my two hundredths of a single unit of US credit backed currency.
The only way to use those gyros is using an external ADC of 12 bits. A 10 bits ADC is not enough for the output of those gyros if you want at least 1 degree of resolution. I proposed to add a SPI 12 ADC to use those sensors but that means bigger size, more problems and higher price, so we decided to make it simple. This is only a learning product for everybody and for me! I hope the community will say" Hey! HEy! that's wrong!! And i will happily correct it. The result will be a communist system, cheap and open source for all! Like ArduPilot.
This IMU is not meant for the current ArduPilot. It is a stand-alone IMU/AHRS at the moment (not an autopilot). It will also the core of our next autopilot, ArduMega, but don't look for that until the end of the year at the earliest. The current ArduPilot will continue to be our thermopile option.
are the sensorboards on the little blue motherboard identical with the Breakout Board Expandable IMU ADXL330/LISY300 v2 and two of the Breakout Board LISY300 GYRO 300deg/sec from the webshop ? If yes, would it be possible to get such a motherboard alone because I bought a set of those sensorboards some time ago and I'd be happy when I can use the boards for this purpose.
Erwin
So, is that so difficult for you guys to take some care of us ?
Gil
Yes, that's 50hz, not 50Mhz. It's determined by servo refresh rate (no point in doing the calculations faster than you can act on them). The GPS is only required to correct yaw; the other dimensions are self-corrected.
The board design was based on the best tested gyros available at our price point during the development period. But the board is designed to be modular so you can swap in better gyros as they become available. The code and core processor board will remain the one constant.
-
2
-
3
-
4
-
5
-
6
of 6 Next