We use the Odroid U3 to control a quad-rotor (no microcontroller-based flight control, just plain Linux control code). As a Linux distribution on the ODROID we use Gentoo, and of course our quadrotor natively compiles all of its software (kernel, userspace) :D
Please have a look at our first operating prototype:

A more detailed picture with annotations is provided here:

As you can see, on top of the U3 we use the IO shield from ODROID. The U3 io shield is programmed with a simple firmware similar to FirmataC, which:
- parses PPM RC receiver signals and sends them to ttySAC0
- reads pwm outputs from the autopilot via ttySAC0 and generates the PWM signals.

Some additional electronics, including power supply, logic level converters and a I2C IMU (MPU9150 + MS5611) sensor are placed on top of the IO shield. The GPS receiver is connected via USB and we have WiFi and a Webcam connected to USB as well.

The software for controlling the UAV is called PenguPilot. It is freely available via Github here, but the documentation is in an early stage: https://github.com/PenguPilot/PenguPilot

Stay tuned for the next update (in-flight video) and do not hesitate to contact me.

Views: 11848

Comment by Mohamed Abdelkader Zahana on June 13, 2015 at 3:51am


Nice work, Tobias. What's the progress so far? and how much is the average flight time?


Comment by Tobias Simon on July 10, 2015 at 12:16am

Hi Mohamed, I am right now working on code reorganization.

This step should allow to implement any part of the system (data acquisition, data fusion, filtering, control, flight logic) as a separate process in your favorite programming language.

Currently, only the basic data path from sensor reading to basic rate control is implemented in C.,

Anything else like angular position control, North-East speed/position control and the flight logic is Python ;)

I also tried some Python/numpy kalman filter code, but that ate too much CPU.. had to go back to a C implementation there.

Comment by LiuYunjian on January 24, 2016 at 12:50am
Hello,I am a college student. I am intresting in this programm. When I download the code form the Github,compiling in the Ubuntu is right,but when i was command with "./autopilot/services/autopilot.py" ,it turn out a series of error message. Can you help me? Thinks!


You need to be a member of DIY Drones to add comments!

Join DIY Drones

© 2020   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service