DPRG List  

[DPRG] Autonomous Flying Robots

Subject: [DPRG] Autonomous Flying Robots
From: dpa dpa at io.isem.smu.edu
Date: Sun Sep 9 13:38:21 CDT 2007


Last March I bought my oldest son Stephen a small R/C helicopter for his
birthday.  It is a Blade CX, which features a pair of counter-rotating
blades that cancel out the torque on the airframe:


and we had a lot of fun learning to fly it.  Then he went back to college
and took it with him, so I bought one for myself and flew it around the
hallways at SMU for a few months.

The counter-rotating coaxial blades make the heli very stable, but that
turns out to be a disadvantage once you learn how to fly, as it greatly
limits maneuverability.

So last June I bought a TREX-450 for my own birthday, with a Spektrum DX7
2.4 GHz radio, and have spent the summer learning how to fly it:


There are several interesting pieces of technology for robot builders here.
It uses a brushless DC motor and speed controller with 2200 mAh 11.1v Lipo
batteries.  These are extremely powerful motors with speed controllers that
are somewhat like stepper controllers, some of which also have built in
"governors" and some of which can also be reversed (see the ones used by the
R/C boat people).  The governors evidently measure the motor's back EMF in
order to maintain constant RPMs.  Nice.

The 2.4 GHz radio is also very nice, little stumpy antenna and up to 40 R/C
devices can operate simultaneously, each using a pair of frequencies for
data redundancy.  The radio actually has two receivers that are mounted
orthogonally a few inches apart, each with two antennae.  (Which means no
more "frequency pins," for those R/C'ers among us.)

Another interesting feature is the use of the motor itself for audio feedback
during the programming sequence of the speed controller.  The normal high-
frequency PWM signal is modulated down in the audio range, around 200 Hz,
to produce beeps and melodic sequences without a speaker or piezo buzzer,
using the motor itself as the "speaker."  Very clever.  

The heli uses 3 microprocessors, one in the speed controller, one for mixing the
R/C signals, and one for the gyro that controls the tail rotor pitch -- which they
call a "heading hold" gyro -- that sits between the R/C receiver and the tail
rotor servo.

Here's a video of me learning to hover last June:


I'm a lot better than that now, and the "training gear" has come off since
then.  Turns out that the hard part is learning to hover, to hold the heli
in one place, and to do that in all orienations (especially "nose in" hovering
with the nose of the heli pointed toward you --- I've gotten quite good
at that this summer ;)

Which brings me to the point of this post.  It appears that hovering the
helicopter is very much analogous to the problem of balancing a two-wheel
robot like nbot:


except in 3D, rather than 2D.  Here's the alogorithm for nBot's 2D balance:


Doing the same for an autonomous helicopter will require a 3D sensor rather
than the sensor that nBot uses:


more like the 3D IMU that jBot uses for it's navigation:


and the balance algorithm needs to be expanded to include 3 axis.

For those familiar with the sourceforge autopilot project, this was the goal of
that autonomous robot project and their home-brew IMU.  Those people went off and
founded Rotomotion LLC, and now have several working prototypes.  Ed Okerson has some
friends who also have developed a home-brew multi-axis IMU which they are currently
flying on an experimental autonomous helicopter at Stanford, and have agreed to share
the design and data with us if we will do the same for them.

Here is one of Rotomotion's helis flying autonomously:


The $16,000 seems a bit steep, but maybe I am underestimating the difficulty of the
project (again!).  If my skill level continues to improve then maybe by Spring
I'll feel confident enough to begin thinking about throwing a switch on the
transmitter and letting the heli fly itself, confident that I can "catch" it
when the software doesn't work.  That will be a little harder than it was with
nBot, and a few rubber bumpers like on nBot will not be much use in a crash.  Still,
I think I can do it... :)

As you may remember, our friends out in Seattle (Larry Barello) have done some
interesting work on autonomous flight with autonomous guided para sails:


which must solve some of the same problems, but not the specific hovering/balance
problem.  There are also some infrared devices that attempt to balance the heli
my measuring the differential radiation from the ground and the sky, but these
suffer from a number of problems for a more general purpose robot.

So, is anybody else in this debating society <grin> working on a flying robot,
or interested in doing so?    


More information about the DPRG mailing list