Blade MCX2 (almost) Autonomous Flight

We equipped a stock Blade helicopter with infrared markers and tracked its position and orientation using a Vicon Bonita camera system. A Kalman filter gives us a full state estimate.

Then we hacked the remote and controlled the helicopter via computer.
This can be done with many Blade helicopters (all that have DSM2 compatible remote controls).

More sophisticated controls are to be implemented.

Blade MCX2 with infrared markers.

 

Vicon Bonita Camera Setup

 


Original remote control.

 

 

EDIT:

A preliminary version of the report can be found at http://people.ee.ethz.ch/~jrichner/main.pdf

GTK application to control any Blade helicopter by joystick, connecting the transmitter of the remote control to the computer via USB-to-Serial cable as described in the report: http://people.ee.ethz.ch/~jrichner/mcx2serial.zip


This is a companion discussion topic for the original entry at https://community.robotshop.com/robots/show/blade-mcx2-almost-autonomous-flight

I wanted to do that with my

I wanted to do that with my hexacopter, but this vicon system costs an arm and a leg ! :slight_smile:

Cool

Looked at that platform for an autonomous robot since my brother had one but decided that it was too small.

awesome copter indeed!

awesome copter indeed!

Very cool

I’m interested to know how the video processing works, ie what programming language and a high level theory of operation.  I hope to see more as you guys progress on the project!

The video processing is

The video processing is handled by the Vicon camera software. The Vicon Bonita system was initially intended for visual artists (motion capture for movies) and features rigid body tracking right out of the box.

An SDK allows streaming position and angular orientation of a 3D object (a rigid collection of markers) into C/C++ or Matlab. We do the Kalman filtering and control in Matlab (it’s fast enough for realtime operation). The remote is controlled from a Python program.
For more advanced control algorithms that require online optimization (e.g. Model Predictive Control http://en.wikipedia.org/wiki/Model_predictive_control ), Matlab might be too slow. In this case, a C program might do the job.

I can upload a report for this project in two weeks from now if anyone is interested, e.g. for people who intend to fly their Blade helicopters using a joystick.

Very well done :slight_smile: Thanks for

Very well done :slight_smile: Thanks for sharing!

You write “We equipped a stock Blade helicopter” - who are you? :slight_smile:

Very cool, I was wondering

Very cool, I was wondering if MATLAB or Python were used, I’m glad to see you’re using both (I love scripting languages).  I’m very interested to see your project report, what University/Institution are you at?

Thanks for your comment and

Thanks for your comment and interest!

“We” are two Master’s students in electrical engineering from ETH Zurich, Switzerland, and this is a semester project which started in Mid-February - and will be due next week. We started from scratch and the idea is that next semester, other students will build upon this framework and start doing fancy control.
It’s lots of fun to work on a real life system after 4 years of cramming theories! :smiley:

 

BTW: there is a project that has been running for much longer at our school, and features very sophisticated control of quadrotors that dwarve anything I’ve ever seen on that subject:

http://www.youtube.com/user/UntitledTitle#p/c/F6DF06BAB94531A1/1/3CR5y8qZf0Y

AHHH !! This ■■■■ is going

AHHH !! This ■■■■ is going on at your university ! Can i apply ? :stuck_out_tongue:

Ya the stuff from your university has made it here before

Dont know about others but I put it up here.

Also I would have to agree with jadberro that your university might not be a bad one to apply to. 

hi

great work

is possible to give more information?

Sure, I will upload a full

Sure, I will upload a full PDF report and some code by June 12th, in case somone is interested in flying Blade helicopters using a computer and joystick.

The program will be requiring Python, pyGTK, pySerial and GTK. The only hardware additional to the Blade helicopter/remote will be a standard USB-to-TTL cable, and you will be able to pilot your personal Blade heli (almost all models work) by joystick from your home computer! =)

Uploaded a preliminary (but

Uploaded a preliminary (but almost finished) version of the report and some code if you want to fly your own Blade helicopters using a joystick!

Great work

Hi your work is very impressive. I wanna know more about the matlab algorithm. Will i be able to communicate via e-mail rather than posting stuff as comments??