A few months earlier, mmormota and I have started to develop a combination of autopilot and OSD. We're made it for FPV purposes mainly, but you may have found it interesting because of the autopilot part. We've just accomplished our first flight tests in this week and the system didn't served it's temporary name: Crash 4 Sure :)
On the picture above you can see as it's going round on a small rectangle course. Here is the video: http://vimeo.com/15128879
Our main goals are:
- Simple installation, we hate the mess of wires.
- Keeping the part count and prices low.
- Make it modular for further expansions, but the basic unit must able to stabilize and bring back the plane safely.
Our unit is most likely a single chip design, based on an STM32 (ARM Cortex M3) controller witch performs all the tasks. This combination of the two systems is quite convenient. For example we can see clearly how the autopilot works, is the orientation correct, because it can display everything on screen real-time.
The sensing of orientation is IMU based, I'm currently using the Razor 6DOF IMU board from Sparkfun and mmormota is using ITG-3200 and BMA-180 breakouts for this task.
The autopilot have the following modes of operation:
-Manual mode
-Stabilized mode (exactly the same as ardupilot's "fly by wire")
-Waypoint mode
-Return to Home
We want to expand it's abilities with automatic takeoff and landing, but first we want to make the current software and features as safe as possible. We were using Raisonance's Ride7 and Rlink for he development, but run into the 32k code limit and have to transfer the project under Eclipse + GDB + OpenOCD + Rlink. Programming and debugging the target still didn't work very well, this environment is terribly complex and hard to configure everything right...
The entire code is in C, using floating point arithmetic everywhere. Now it takes about 10% CPU time to run everything what's related to the autopilot and the OSD consumes about 15% CPU time, so there is still plenty of possibility in the hardware. Ohh, and the core runs on 48MHz instead of the maximal 72MHz.
So this is the whole story in a nutshell, we're want to thank all of YOU who maintain this great community.
Special thanks to William Premerlani for the great papers !
Here are some photos of my equipment: