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:
Comments
well done :)
beta tester here ready! :)
I really like the idea of autopilot+ODS in one system, any updates on the single board.
I would second the suggestion that you have sparkfun sell it. I know Chris was looking at options for an OSD to work with ardupilot that would be open source. If you make it open source you get the advantages of lots of people working for you for free in their spare time, it makes it easy to integrate in different applications, and you are not obliged to provide support. However, lots of people will pay for a plug-and-play solution and so you make money when you have a large installed base that open source gives you. This attracts the novices who are not programmers or electrical engineers and they are willing to pay (just ask Tim at ReadyMadeRC about this approach).
The APM is lacking an OSD, so if you come up with a board (or any other way) that takes the IMU data from the APM integrates it into an OSD you can sign me up for one.