Hey everybody,

Do any of you have experience building an autopilot with a Gumstix module? I know the idea has been thrown around before, but I haven't seen much real discussion about it. I'm torn between the KISS philosophy and the idea of just having room to experiment (ie Arduino/ATMega vs. Gumstix).

One intriguing use for a more robust processor is the ability to attach a USB webcam or special-purpose CCD camera. However, I know the limiting factor for beaming back to the ground is still radio speed. Also, there is the added complexity of setting up the Gumstix environment, plus the microcontroller probably needed to deal with analog signals.

On the other hand, I would like to build a UAV platform for experimentation, ie attaching different sensors and modules and trying out different configurations. In this sense, it seems like using a Gumstix-level processor up-front would save me time and money later, since I would already know how to use it when I wanted to do more powerful things.

Any advice/thoughts?

Views: 2576

Reply to This

Replies to This Discussion

That's a great head start and I'm sure I will be able to work something out from this. Thanks very much.
http://mbed.org/ might have a nice product for this with 6 Analog ins and 6 PWM outputs it might just have enough IO for a more powerful core AP module.

http://mbed.org/projects/cookbook

has some sample projects the code looks similar enough to Arduino to make porting a non-issue and the extra juice might make all those extended kalmansand control loops work that little bit sweeter :)

Ive looked at the Gumstix Overo for an autonomous submarine, but it seems to be limited by its input pins only recieve a 10 bit resolution, which to me means i only have a 1 m resolution which is not quite good enough.

 

There wouldnt be a to upgrade the resolution of the pins or perhaps an external DAQ unit that could be integrated is there?

 

It's hard to put a good quality ADC on the same chip as a high performance processor. I doubt you will find anything at performance level of the Gumstix's OMAP processor that has anything better than a 10 bit ADC. An external ADC is definitely the way to go... or, use digitally interfaced sensors if they are available. They are getting better and cheaper all the time, and have some advantages over analog sensors like built in (often programmable) filters, very good good noise performance without you having to obsess over an analog signal chain and PCB layout, and higher resolution ADCs than are common on microcontrollers (16 bit for gyros, 14 bit for accelerometers, vs e.g. the 12 bit ADC on the STM32 microcontroller). The main downside is the limited sample rate available.

 

I am currently in the early stages of designing a navigation board, which at the moment is slated to go into a ground vehicle, but I plan to include a full 6+3 dof sensor suite anyway. The processor will probably be the Atmel AT91SAM9G20 which is a 400MHz ARM9 capable of running Linux. Like the Gumstix's processor it only includes a 10 bit ADC, but that's OK because I plan to use an all digital sensor chipset: BMA180 or MMA8451 accelerometer, IMU-3000 gyro, and MAG3110 (if it looks like I'll be able to source it) or LMS303DLH magnetometer. Considering my intended application I don't know whether I will bother with a barometer but the BMP085 is one of the best around and it's digital.

 

As far as external analog to digital converters, which you would need if you have some kind of specialized sensor that is analog only: there are plenty on the market, with all kinds of interfaces to the processor (I2C, SPI, parallel) but not necessarily on breakout boards. Given the Gumstix form factor I assume you would be designing a custom carrier board anyway, but if you are just wiring up modules the way to go would probably be to find an ADC in a standard package like SOIC and get a generic breakout board from your favorite supplier (e.g. Sparkfun).

Reply to Discussion

RSS

© 2019   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service