The ardupilot mega is a fairly capable complete autopilot from both the hardware and the software perspective. But what if you projects needs all the sensors and not the full APM2 autopilot code?
The apm2-sensorhead project provides a quick, robust, and inexpensive way to add a full suite of inertial and position sensors to your larger robotics project. This project is a replacement firmware for the ardupilot-mega hardware. The stock arduplane firmware has been stripped down to just include the library code that interrogates the connected sensors, and also maintains the code that can read your RC transmitter stick … Read the rest... >>
This is the payoff video showing the hybrid autopilot system in action in the Resolution 3 airframe. (By the way, this is HD video so watch it full screen if you can!)
I am skipping many details between integrating the hardware and flying, but just as a quick overview:
We first integrated the system into a Senior Telemaster. After 4 trips to the field over the span of 2 days, numerous flights, and a bunch of work in the evenings, we felt like the system was coming together and working every bit as well as it was supposed to. There … Read the rest... >>
Imagine for one second that you are a UAV developer. The DIYdrones ArduPilot is an awesome piece of hardware; you love all the great sensors that are attached; you love the all-in-one design and the small/light size. But you are also feeling the limits of it’s ATMega 2560 processor and the limits of it’s 256Kb of RAM. And maybe, you enjoy developing code within a full blown Linux developers environment with all the supporting libraries and device drivers that Linux has to offer.
Here is a picture of a protype “hybrid” autopilot system for small UAV’s. What you … Read the rest... >>
Here are a few random notes on the APM2 and servos.
As we all know, the servos are controlled by sending a digital pulse on the signal line to the servo. The length (time) of the pulse maps to the position of the servo. A 1500us pulse is roughly the center point. 900us is roughly one extreme and 2100us is roughly the other extreme. Different systems will use slightly different numbers and ranges, but these are good numbers to start with. Historically, RC systems stacked the pulses for multiple channels on a single radio signal — affectionately called the “pulse … Read the rest... >>
The autopilot architecture I am building involves and APM2 collecting all the sensor data and sending it over a serial connection to a Gumstix Overo running Linux, and then in return the Overo sends servo commands back to the APM2. As you can guess, this turns out to be quite a bit of data being sent at a high rate. If all the processing, filtering, and computation is being done on the Overo it is important to have a high update rate, low latency, reliable communication, and no major pauses in processing at either end.
I would like to start off my first post in this series by briefly describing where I’ve been and where I’m going. Hopefully this will give a bit of context to help understand subsequent posts and hopefully will help put my engineering decisions in some context.
History of the World, Part 1
Somewhere around 2005 I became very interested in aerial robotics. I have always been an aviation enthusiast, I’ve built model airplanes since I was a kid, and I have been flying RC airplanes since high school. At the time I was working for the Univ. of Minnesota … Read the rest... >>