Designing the Ultimate IMU

ryowens84

Thanks for your reply.

From what you have said it will be very interesting to see the ‘Ultimate IMU’ go head-to-head with the CHR-6dm AHRS by CH Robotics;

http://www.chrobotics.com/index.php?mai … ducts_id=2

The make or break will of course be the supporting documentation. You can give it all the bells and whistles you like but if the interface and code examples are not easy to understand and adapt then your ‘Ultimate IMU’ will only appeal to a few uber-geeks.

If you manage to avoid the above pit-falls I would be very happy to assist with testing the beast.

Good luck

Just my 2 cents. I will buy such imu only if:

  • I don’t need to care about DCM, Kalman or everything more complex than ±*/ :mrgreen:

  • everything is ready, implemented and working, not “blahblahblah ready”

  • GPS antena or complete receiver is not tied to the sensor/CPU board. Applications are not always RC models.

  • IMU is easily configurable with simple tools.

  • Com interface is ttl serial, RS232, RS485 or CAN.

  • Additional PC software for test and display doesn’t need Matlab, Labview or such expensive software.

Or in fiew words, IMU for dummies :mrgreen:

Angelo

Personally I’d like to see a low cost, all-in-one autopilot for small foamies. My $0.02:

  • Attitude estimation: Invensense IMU-3000. It’s a 3-axis gyro with built-in quaternion-based sensor fusion (I’m assuming Kalman filtering, as DCM is obviously a matrix algorithm, and I haven’t seen a quaternion-based complementary filter either). Two I2C ports connect to an external 3-axis accelerometer and an MCU. The chip reads the accelerometer values directly without intervention from the MCU, which can read attitude estimates on the other I2C. Couldn’t be simpler, and you don’t need a high-powered MCU. It’s not out yet, but we’re promised that evaluation boards are coming soon. Perhaps Sparkfun can inquire with Invensense directly? http://www.invensense.com/mems/gyro/imu3000.html

  • MCU: I love STM32, but anything ARM is nice. Too many electrical engineers just slap whatever chip has good electrical characteristics onto a board without thinking of the needs of us poor software developers. We need a proper compiler, darnit! This means AVR, ARM, PIC24, MSP430. No MSP430x, GCC doesn’t work (no really, it doesn’t, you may think it does but holy crap don’t get me started). Stuff like PIC18 is right out imho. Since the IMU-3000 does the sensor fusion, the micro needs only to implement some relatively simple control loops. Given the fact that an STM32 or LPC costs about the same as a capable AVR, I’d go for the ARM - that way I can run an embedded rtos like eCos so that I can at least have memory protection. Sucks to have your plane fall out of the sky because some led blinking code is trying to write to *random. Also, the first person to suggest Arduino will be stabbed with a pencil :3

  • Telemetry: why pay craploads of money for an XBee module when you can just put a CC1101 433MHz radio and SMA connector on the board? This way you can have plane-to-ground and plane-to-plane communication: flying multi-hop networks, yay! Note that the CC1101 is a packet radio, so you clock in your data and press send, very easy to work with. Personally I’d even do manual control over such a digital link, saves a receiver and PWM/PPM decoding logic.

  • Shields/extending: I really like the small footprint of the XBees. Seeed is selling a GPS bee (http://www.seeedstudio.com/depot/gps-be … p-560.html), and they also have a bluetooth bee. Having one or two %sbee connectors on the board would allow for stuff like adding extra sensors/actuators such as compass, magnetometer, pitot tube, temperature, camera, gps, led lighting, etc.

  • Stick on some debug leds, and one or user two buttons. Four servo channels and one or two motor controls? Four for quad copters of course.

Now given these requirements I think the whole thing should be possible to sell for about $100. I’m not sure what the IMU-3000 will cost, but their sales blurb quotes ~$3.50 for large quantities - so they can’t be more than 10 bucks if you buy a few. Add to that a capable MCU, accelerometer, CC1101 ($5), and you can easliy have a parts list of under $50. Add another $50 for development cost, PCB manufacturing, labor, profit. I’m not a professional electrical engineer at all, so I’m not sure if I’m talking out of my ass here, please correct me if I’m sounding completely unreasonable.

Now let’s see what that would mean for low-cost UAV enthusiasts like me:

Multiplex EasyStar clone: $60 (i.e. http://www.hobbyking.com/hobbyking/stor … To_Fly_EPO)

Awesome SparkFun autopilot: $100

GPS: $40

Battery, shipping, stuff: $50

Presto, a fully working UAV for $250.

I’d like to see a 9 degrees IMU , with 3 axis accelero, 3 axis gyro, 3 axis magneto like proposed. Choose recent components .

It could contain an ARM cortexM3 processor . I use STM32 , but I could use a LPC17xx. I will not come back to an old ARM .

The remaining communications ports should be available , at least 1 comm port for a GPS , 1 comm port for the comm toward other sytems, and an SPI.

few ADC IOs could be available to connect other sensors ( pressure…)

For the software side , if libraries were available to access the sensors , that could be a plus , but not really necessary. And maybe a forum , or an open source project could share experience between people.

I will begin to work on that in feww months .

I forgot the Jtag plug : it is not necessary to have the 20 pins standard plug, a 10 pins plug containing the active signals will be enough.

ST makes two evaluation boards which corresponds to these requirement.

http://www.st.com/stonline/products/fam … i062v1.htm

and

http://www.st.com/stonline/products/fam … i062v2.htm

Both are 262$ from Digikey.

Angelo

Hi Angelo

Thank you for the information .

But I am not currently ready to pay 260$. I could go up to 100$.

Maybe a card only containing the sensors ready to be connected to a microcontroleur could do the job.

Daniel

oops, I forgot to enable “Notify me when a reply is posted”. Sorry for the late response.

wsc:
#5 - the IMU tag - that looks really interesting. Googling only seems to find the link you gave. Any additional info?

See: [http://www.x-io.co.uk/node/3](http://www.x-io.co.uk/node/3). The IMU tag v1.0 has been popular it is now being 'phased out' for a newer, better product (on the way).

evarobotics:
I’m keen to learn more about the data fusion algorithm you used. Do you have a paper I could see?

You can download a technical report on the data fusion algorithm at: [http://code.google.com/p/imumargalgorithm30042010sohm/](http://code.google.com/p/imumargalgorithm30042010sohm/). This report describes an algorithm I developed, but the algorithms I now use and recommend to others are (quaternion implementations of) Mayhony’s (IMU) or Mayhony’s mixed with mine (AHRS); see URL.

evarobotics:
…professional drone/university/research level product

This is essentially what the IMU tag was and what the new product is intended to be. Please contact me if you think there is anything we could discuss.

There are now countless IMU and AHRS products available for <$200. I wonder if SparkFun are losing the enthusiasm to get involved in this increasingly crowded Market (I hope not).

Thanks for the links - I have also forwarded these onto a mate doing some UAV work.

There are now countless IMU and AHRS products available for <$200. I wonder if SparkFun are losing the enthusiasm to get involved in this increasingly crowded Market (I hope not).

I’m afraid we are coming to the same conclusion. There are SOOOOOOO many IMU’s being developed using essentially the same algorithms, features, and hardware we would. Anything developed anything now risks becoming just another me-too product.

Sparkfun could still have a good shot at it because they have an established market and good reputation.

Heck, that entire drone with iPhone app for $300 will be available soon!

I would suggest focusing only on providing the best (OK… I know this is relative) available combination of sensors for a 6DOF.

I’ve been carrying myself a bit of research and I think at the moment what is missing (based on majority of comments) is a combination of the ITG-3200 and the BMA180 (or ADXL345).

Then, let the world building the ‘ultimate’ software.

Now that a fully digital imu can be done with just two chips (imu3000/itg3200 + accelerometer), why would I want to have that on a separate board and pay for all the manufacturing overhead/costs that incurs? Why would I want to worry about two separate MCUs?

I agree - BMA180, ITG3200 or better. A good MCU.

Additionally:-

  1. Runs on 3.3V (so that it can be integrated into various products without needing a separate 5V supply)

  2. Small footprint (it needs to fit into various devices. All the current ones are too impractical and large.)

  3. Forget bluetooth - wired I2C, SPI and UART options

  4. did I say small? low pin count (maybe 4 or 5 pins header)

Something like the CHR6D:-

http://www.pololu.com/picture/0J2315.200.jpg?1276045353

Daniel

I kept meaning to post a response now that the Ultimate IMU has been released… and I hate to be negative here, but the product is very lacking IMHO.

First is the issue of the price. Sparkfun has painted themselves into a corner on the price, because the Razor IMU costs only $125 and has very similar hardware capabilities. So anyone looking at IMUs is going to compare the $200 price of the Ultimate to the much lower price of the Razor and wonder, WTF?

The next thing that bugged me was the product page for the Ultimate was almost entirely devoid of any helpful information. Please take the time to create a datasheet, user manual, etc etc for a product of this cost and complexity.

Lastly… the firmware. I poked through the firmware and did not see any Kalman filtering or anything else of significant value going on.

My personal decision at this time would be to pick up a CHR-6dm simply because it has the important feature (Kalman filter) while the Ultimate only has some nice convenience features (USB connector, SD slot, XBee connector) … Of course that could be rectified with updated firmware.

Rant over, we now return to your normally scheduled programming :expressionless:

Has anyone found any source for mounts for this unit? Ive been having a big problem finding anything small enough for the holes.

Thanks

Invensense has recently released a 6 axis single chip solution… I think if you guys could contact them and design boards using these chips, you’d have a HUUGE advantage over any other group out there… single chip IMU solution… think about it… :slight_smile:

http://invensense.com/mems/gyro/mpu6000.html

I allready developed the ultimate IMU with redudant sensors and extended kalmanfilter+signal shaping processes and Bluetooth. STM32f103

[

[<LINK_TEXT text=“http://img857.imageshack.us/img857/8317 … ld3.th.jpg”>http://img857.imageshack.us/img857/8317/imu200bild3.th.jpg</LINK_TEXT>

And I’m now working on a IMU-300 version with STM32F407 and two Invensense MPU6050+HMC+Epson Barometer (10cm resolution). Another version will have accelerometers from Kolibris and VTI for slow motions.

i want to make the new project (imu300) open source, with all my algorithms and a cool abstraction layer for STM32 beginners.

Thanks!](http://img857.imageshack.us/i/imu200bild3.jpg/)](ImageShack - Best place for all of your image hosting and image sharing needs)

STM32F103 is good to work on. Sony Move controller also work use this one. I’m also interested in STM32F103 platform for designing AHRS with USB & Bluetooth communication.

Would you please leave a message at http://harinadha.wordpress.com . So that we can communicate to work on STM32 open source project.

Thank you.

I own this IMU, See what it has to offer. Price tag was $99 each small quantity… http://tech.yostengineering.com/3-space … y/embedded