Autonomous flying vehicles don't need people to tell them what to do.

Thanks to the wars in the Middle East, drones like the Predator have become household names. They’re getting more powerful and more lethal every day, and these combat drones have begun overshadowing important developments. The really exciting recent drone developments haven’t been on military airfields—they're in university labs. To find these advances, don't look to the nightly news. Advantage: YouTube.

If you’re reading this article, chances are you’ve seen a few of these videos: flying robots flitting through windows, swarms of hovering machines moving in choreographed precision, miniature helicopters playing catch and assembling buildings or dancing. What distinguishes these small unmanned aerial vehicles (UAVs) from their hulking military cousins isn’t just their agility, but their intelligence. These little machines are autonomous. Whether building walls or performing acrobatics, they perform their tasks without a human pilot sitting at the other end of a radio link.

Over the past decade, there’s been an explosion in the capabilities of these UAVs. Smaller, more power-efficient hardware for laptops and mobile computing have also brought about a revolution in aerial robotics. Ten years ago, research in automated flight needed big, fixed-wing RC aircraft that cost tens of thousands of dollars and could only be flown from airports. Now, it’s possible to fit the same abilities into a tiny helicopter that fits in the palm of a hand.

Still, even with advances in hardware, it’s always a challenge to fit enough computing onboard a flying robot. This has driven the other side of UAV development: the creation of smarter algorithms that let these UAVs fly, learn, and sense their environments. These algorithms are the brains behind the amazing YouTube videos, and through those videos we’ll explore how these UAVs think.

Flying

One of the first things you might notice about these UAVs is their incredible agility. If the Global Hawks and Predators are the condors and eagles of the unmanned aerial world, then these little guys are the hummingbirds.

The UAVs in this video are called quadrotor helicopters, or quadrotors. Unlike a normal helicopter, these fly with four rotors instead of two. Quadrotors are incredibly maneuverable, and they’re a good way to introduce the most basic needs for UAV flight: control and trajectory planning. The UAV needs to know how to fly itself, and how to get to a goal.

Let's start with how UAVs fly themselves. The basic hardware is pretty common across UAVs: motors and actuators, computing, gyroscopes that report the attitude angle (roll, pitch, yaw) of the robot, accelerometers, and often sonar to report altitude.

Most modern UAVs have their computing split into two levels, like the higher and lower brain functions in humans. There’s a powerful, high-level computer that handles things like communications, sensing, and path planning. Then there is a lower level processor, often a micro-controller, which stabilizes the UAV in flight. The low-level processor acts like the involuntary nervous system, which controls reflexes like balance. It samples the gyros and other sensors several hundred times per second, adjusting the motors to keep the UAV stabilized in the air.

But how does the low-level computer know what to change and how to make adjustments? That’s the role of the control algorithms, the code running on the computer that samples the sensors and decides how fast to run the motors. Designing and building a control system means first understanding how motor commands change the physical states of the UAV (things like acceleration, rotational rate, etc).

The ironic thing about quadrotors is, although they may look more complicated than regular helicopters and airplanes, they’re actually simpler to control (at least for a computer). It’s this simplicity that made them so popular, and it makes possible the kind of maneuvers we see above.

Take a look at this comparison between the main rotor of a regular helicopter, and one of the rotors on a quadrotor. The helicopter has a complicated collection of linkages and gears that control the exact angle of the individual rotor blades. On the quadrotor, the propeller is directly attached to the motor, and the only thing that changes during flight is how fast the propeller spins.

Wikimedia

A helicopter changes directions in the air by tilting the entire rotor disk: to fly to the left, the pilot tilts the rotor to the left, and so on. The pilot uses the controls to change the pitch angle of the rotor blades as they spin, so a blade generates more lift on one side of the helicopter than on another. This literally causes the blades to fly up and down as they rotate, tilting the angle of the rotor disk and moving the helicopter in the desired direction. The process itself is not simple. Because of gyroscopic precession, the lift offset is actually 90 degrees out of phase with the actual deflection of the rotor blades, so a leftward tilt of the rotor disk is actually created by increasing the blade pitch at the rear of the helicopter, and decreasing it at the front. A helicopter's controls have to automatically account for this when mapping the pilot's control inputs to the rotor system.

As you might imagine, tilting the rotor blades like this is complicated, and helicopters are really hard to fly without a lot of training. A small change in a single control input like rotor angle affects the helicopter in many different ways. And this also makes life rough for a robot designer: it’s hard to predict how changes in the controls will affect the flight of the helicopter. Human pilots train for hundreds of hours to develop the muscle memory that enables them to fly a helicopter.

Been following the Quadrotor trend for a good 18 months now, and it's getting even more interesting. Thanks for putting those videos in the one place.

The sensor problem (having the flying machine -sense- surroundings in real time) is going to be a big hurdle.

Computer vision is still very basic stuff; this problem isn't going to be solved overnight, it's very interesting watching the developments. The rewards for 'computer vision' success will be phenomenal.

"A helicopter changes directions in the air by tilting the entire rotor disk: to fly to the left, the pilot tilts the rotor to the left, and so on. "

This is not true. There is a thing called gyroscopic precession that makes it so that that the result of an outside force (blades taking more of a bite) will occur 90 degrees out of phase along the phase of rotation. So to turn left or right the blades would actually take more of a byte at the front and rear of the helicopter.

Editor Moonshark says:

This is not true. There is a thing called gyroscopic precession that makes it so that that the result of an outside force (blades taking more of a bite) will occur 90 degrees out of phase along the phase of rotation. So to turn left or right the blades would actually take more of a byte at the front and rear of the helicopter.

+1 I learned this in DestinWS YouTube channel "Smarter Every Day" series on Helicopters.

Still, an awesome article and perhaps the explanation was oversimplified, so as not to bog down the conversation about why Quadrotors are better drones.

I'm amazed that an Atom is not powerful enough to process location mapping, there must be a massive set of calculations required!

"A helicopter changes directions in the air by tilting the entire rotor disk: to fly to the left, the pilot tilts the rotor to the left, and so on. "

This is not true. There is a thing called gyroscopic precession that makes it so that that the result of an outside force (blades taking more of a bite) will occur 90 degrees out of phase along the phase of rotation. So to turn left or right the blades would actually take more of a byte at the front and rear of the helicopter.

I actually didn't know this. Was always fooled by the swash plates reacting in the same direction the cyclic is pushed, but I just read a bit about what else is going on. Interesting!

"A helicopter changes directions in the air by tilting the entire rotor disk: to fly to the left, the pilot tilts the rotor to the left, and so on. "

This is not true. There is a thing called gyroscopic precession that makes it so that that the result of an outside force (blades taking more of a bite) will occur 90 degrees out of phase along the phase of rotation. So to turn left or right the blades would actually take more of a byte at the front and rear of the helicopter.

God I love Ars. It's great to have informed readers!

The bit about tilting the rotor disk is actually correct, and doesn't conflict with the issue of gyroscopic precession. The helicopter is maneuvered by changing the thrust vector of the rotor, which means tilting the physical plane of the rotor disk. So flying to the left does require tilting the rotor plane to the left.

What the gyroscopic precession means is that in order to generate the appropriate tilt the pitch angle of the individual rotor blades is maximized and minimized fore and aft (assuming counter-clockwise rotation of the blades), which is to the the point about taking more of a bite at the front and rear. So the maximum force on the blades is front and rear, but due to the precession effect the physical manifestation is that the maximum displacement is left/right.

The controls actually reflect this, in that the pilot pushes the cyclic (stick) to the left to tilt the rotor left and thus move the helicopter left, although the cyclic take care of the appropriate adjustment of the rotor blade angles. I originally started to talk about this in the article, but thought it might've made things too complicated.

I'm calling it - in the future people will have these little drones hovering around them for utility purposes and other reasons. You swap information be sending a drone to intercept anothers, you tell them to pick up light objects for you. They can have a custom look to them and people will treat them as an extension of themselves. They will park and wait for you in little drone centers outside of buildings and then automatically come greet when you walk out.

I honestly can't wait to see how these things can be used in intelligence gathering and battlefield missions. We need more articles on that stuff too. Imagining all the gadgets you could put on one of these for spying purposes makes me wonder. I bet a design that operates like one of the drones in the article mixed with the ability to fold its wings/blades back in flight to land in precarious places would open up many possibilities for infiltration and monitoring of buildings. Very little of the worlds infrastructure is designed for keeping small transforming robots out, or detecting them once they are in.

On a helicopter the "rotor disk" does tilt before you go in that direction. If you want to go left, the disk must tilt left first. You are confusing where the force is applied and where it takes effect. The blade pitch is changed ninety degrees earlier in rotation before the pilot desires the effect. The process is transparent to the pilot because his controls are rigged with the ninety degree offset. When the pilot moves the cyclic, a left movement causes a left rotor tilt. Assuming a CCW rotation from the pilot's perspective, the increase in blade pitch occurred at the rear, and the decrease in blade pitch occurred at the front. A helicopter with CW rotation would reverse where the blade pitch changes occurred.

How do I know? Not from a web-site. I have several hundreds of hours flying assault helicopters, plus an engineering degree (admittedly not aerospace engineering though) helps.

Even wikipedia's entry on helicopters and helicopter aerodynamics contains the most basic errors regarding helicopter handling and behavior. For instance, the description on why hovering is so difficult is erroneous - if you're curious there are two factors which are order of magnitude bigger effects than self-generated wind gusts (where did that come from?). Blade activity during a full rotational cycle is incredibly complex but poorly or incompletely treated in every site that I've cared to visit. For example take a look at this http://www.youtube.com/watch?v=Ug6W7_tafnc.

P.S. While four engines may simplify the control program design for software engineers, it is not true that a human couldn't control a helicopter with four engines. The control system would be designed of necessity to translate human input into appropriate engine control output, in much the same way that helicopter control systems are currently designed.

The real problem is what happens when one out of four engines fails, and control of the aircraft is dependent upon having all four engines. In a classical helicopter you can make a very safe un-powered controlled landing (I've done it quite a few times - cheap thrills I assure you). But when I have no ability to control my attitude after one engine fails, what kind of landing do I make then? Think about it.

Ultimately, whether it’s something simple (adapting to fluctuations in airflow) or something more dramatic (the airshow), the real power of learning and adaptation is robots can transcend the limitations of their creators.

Sadly, that transcendence is the exact opposite of what you get with machine learning, and AI in general, at the moment. ML lets you learn a model and determine if novel data fits that model, but it does not let you do anything beyond the specific task it was designed for. If I write a learner that can learn to fly - it's not going to learn how to play an instrument, or pick up a second language. Google's cat detector was kind-of okay at detecting cats in videos, but won't be doing much else.

It's precisely this problem - that of generality, that the current probabilistic approaches to AI won't solve, sadly. Never fear though, Good Old Fashioned AI ain't dead yet!

I'm amazed that an Atom is not powerful enough to process location mapping, there must be a massive set of calculations required!

The localisation part's not that bad, it's only when you're generating a map at the same time the it really needs a lot of juice. Even then it's more a matter of the more cycles you have, the more accurate you are — it's not like you need to have four dedicated cores or you have no idea where you are. A mid-range dual-core is enough to get reasonable accuracy doing both mapping and localisation at the the same time with a single laser range-finder for a ground-based bot.

Still, I doubt it's doing much mapping, since there's not much to map once you're a few meters off the ground in an empty field, so an Atom may well be fine.

Interesting. I wanted to address the 'disk tilt' as well. Not from a pilots perspective, but as someone who worked on rotor head assemblies. In the example on page one of a rotor head, which is similar to those found on many helicopters including the Sikorsky 60 series (blackhawks and seahawks, among others) the rotor head does not tilt, that is, the entire assembly does not move away from the vertical. Instead, if you look at the picture, the leading edges of the blades are controlled by vertical arms that attach to what is called a 'swash plate'. It is the changing of the plane of the swash plate that controls the helicopter.

From wikipedia 'Swash Plate' (which states it better than I could):

Push rods or hydraulic actuators tilt the outer swashplate in response to the pilot's commands. The swashplate moves in the intuitively expected direction, tilting forwards to respond to a forward input, for instance. However "pitch links" on the blades transmit the pitch information way ahead of the blade's actual position, giving the blades time to "fly up" or "fly down" to reach the desired position, in addition to a 90 degrees advance to account for the gyroscopic precession.

The swash plate tilts the leading edges of the blades themselves to modify the lift properties of the entire rotor assembly, not actually tilts the entire rotor head. The collective controls raising and lowering of the swash plate which translates into a uniform changing of the angle of attack on all the blades, while the cyclic changes the angle of the plate, allowing the individual blades to adjust their angle of attack through their rotation.

The learning robots remind me of the explorer bots in Prometheus: send them in first to build the map.

I do have one nit to pick, though: From page 1:

To roll to the left, the control code simply needs to increase the thrust on the left rotor and decrease the thrust on the right rotor.

Both physics and your own diagram contradict this. To roll left, the left side must dip - or the right side must rise. Either way, the ratio of rotor speeds left:right decreases to roll left, and increases to roll right.

I think. I'm just a tech writer, not a pilot or aeronautical engineer. But I did get to auto-rotate a helicopter on a "training" flight once.

The learning robots remind me of the explorer bots in Prometheus: send them in first to build the map.

I do have one nit to pick, though: From page 1:

To roll to the left, the control code simply needs to increase the thrust on the left rotor and decrease the thrust on the right rotor.

Both physics and your own diagram contradict this. To roll left, the left side must dip - or the right side must rise. Either way, the ratio of rotor speeds left:right decreases to roll left, and increases to roll right.

I think. I'm just a tech writer, not a pilot or aeronautical engineer. But I did get to auto-rotate a helicopter on a "training" flight once.

Yes--you're correct.

It's pretty much similar to how roll is achieved with conventional fixed-wing aircraft. To roll to the left, the left aileron pitches up (to dump lift) and the right aileron pitches down (to gain lift), hence the roll to the left.

P.S. While four engines may simplify the control program design for software engineers, it is not true that a human couldn't control a helicopter with four engines. The control system would be designed of necessity to translate human input into appropriate engine control output, in much the same way that helicopter control systems are currently designed.

The real problem is what happens when one out of four engines fails, and control of the aircraft is dependent upon having all four engines. In a classical helicopter you can make a very safe un-powered controlled landing (I've done it quite a few times - cheap thrills I assure you). But when I have no ability to control my attitude after one engine fails, what kind of landing do I make then? Think about it.

Why can't I auto rotate on 4 blades coming down? I suspect we fly single blade copters 'cause by the time you scale them up to full size vehicles the blades are darned expensive. However, there are two-rotor heavy lift aircraft already.

On a helicopter the "rotor disk" does tilt before you go in that direction. If you want to go left, the disk must tilt left first. You are confusing where the force is applied and where it takes effect. The blade pitch is changed ninety degrees earlier in rotation before the pilot desires the effect. The process is transparent to the pilot because his controls are rigged with the ninety degree offset. When the pilot moves the cyclic, a left movement causes a left rotor tilt. Assuming a CCW rotation from the pilot's perspective, the increase in blade pitch occurred at the rear, and the decrease in blade pitch occurred at the front. A helicopter with CW rotation would reverse where the blade pitch changes occurred.[...]

I'm calling it - in the future people will have these little drones hovering around them for utility purposes and other reasons. You swap information be sending a drone to intercept anothers, you tell them to pick up light objects for you. They can have a custom look to them and people will treat them as an extension of themselves. They will park and wait for you in little drone centers outside of buildings and then automatically come greet when you walk out.

P.S. While four engines may simplify the control program design for software engineers, it is not true that a human couldn't control a helicopter with four engines. The control system would be designed of necessity to translate human input into appropriate engine control output, in much the same way that helicopter control systems are currently designed.

The real problem is what happens when one out of four engines fails, and control of the aircraft is dependent upon having all four engines. In a classical helicopter you can make a very safe un-powered controlled landing (I've done it quite a few times - cheap thrills I assure you). But when I have no ability to control my attitude after one engine fails, what kind of landing do I make then? Think about it.

Yeah, it's a problem. OTOH, the risk is not nearly as great, since there are no humans flying these things. And in a swarm, losing a few units here and there may not be a big deal at all. Think about it: instead of losing an entire payload due to the single sky crane engine failure, we're talking about distributed lifting among the entire swarm. So you lower risks to humans by removing them from the cockpits, and you lower risks to the mission by built in redundancy.

Public safety is a whole other topic, one that will be broached when these drones can fly in less controlled environments.

Things like this is why I used read every science book in the library when I was 9.

Now to think of a non-military use for this...

Hunter-killers for pests is the first thing that pops into my head. Pack these things with lasers just powerful enough to fry bugs and some sort of insect recognition and tracking code and we'll have a swarm of insecticidal mercenaries. This would be waaaay cooler to watch on summer nights than the eerie purple glow of the bug light crackling away.

Interestingly, the progress we can make in this field now appears to be constrained by Moores law and energy density - you can't put too big a battery on one of these to run a faster CPU because it'll weigh too much. A little petrol engine would be too noisy, and might make the mechanics too complex.

I'm still not sure how well these would really do in the field, given the potential for bad weather etc, but I'll be interested to find out in a year or two's time!

Things like this is why I used read every science book in the library when I was 9.

Now to think of a non-military use for this...

Hunter-killers for pests is the first thing that pops into my head. Pack these things with lasers just powerful enough to fry bugs and some sort of insect recognition and tracking code and we'll have a swarm of insecticidal mercenaries. This would be waaaay cooler to watch on summer nights than the eerie purple glow of the bug light crackling away.

Everyone goes to the pew-pew. I see these things putting up walls for dimes on the dollar.

This is the kind of article I love to see on Ars. As a PhD student focusing on process control, seeing this kind of summary is really exciting and I like that both the high and low level control requirements were discussed.

The whizzing.... it will be the sound which will make children in villages run in fear. War of the future will be fun indeed.

I was both awe-struck and unsettled in watching the rotor-craft vids. It wasn't the whizzing noise. It was just the unhuman speed and precision with which they performed their tasks. It makes you realize there is no human controlling those things, so thus there is no human ethics to question whether what they are doing literally on-the-fly is "good" or "bad".

IE: I got the "jesus, we're so close to having remorseless robot killing machines" heebie-jeebies

Things like this is why I used read every science book in the library when I was 9.

Now to think of a non-military use for this...

Hunter-killers for pests is the first thing that pops into my head. Pack these things with lasers just powerful enough to fry bugs and some sort of insect recognition and tracking code and we'll have a swarm of insecticidal mercenaries. This would be waaaay cooler to watch on summer nights than the eerie purple glow of the bug light crackling away.

Everyone goes to the pew-pew. I see these things putting up walls for dimes on the dollar.

I was hoping that before we ended up with robotic construction forces, they'd simply perfect the idea of having bio-organic structures grow themselves into form. Just drop a large seed pod on the ground, supply lots of fertilizer and other nutrients it needs, and it follows a DNA plan that makes it grow into the basic shape of a building. Then, the organic part dies off and leaves a rigid, structural mass left over that's laced with minerals or metals that make it a solid material to add plumbing and wiring to.

Things like this is why I used read every science book in the library when I was 9.

Now to think of a non-military use for this...

Hunter-killers for pests is the first thing that pops into my head. Pack these things with lasers just powerful enough to fry bugs and some sort of insect recognition and tracking code and we'll have a swarm of insecticidal mercenaries. This would be waaaay cooler to watch on summer nights than the eerie purple glow of the bug light crackling away.

Everyone goes to the pew-pew. I see these things putting up walls for dimes on the dollar.

I was hoping that before we ended up with robotic construction forces, they'd simply perfect the idea of having bio-organic structures grow themselves into form. Just drop a large seed pod on the ground, supply lots of fertilizer and other nutrients it needs, and it follows a DNA plan that makes it grow into the basic shape of a building. Then, the organic part dies off and leaves a rigid, structural mass left over that's laced with minerals or metals that make it a solid material to add plumbing and wiring to.

Biology still has lots of untapped potential.

Well, without rooting for a tech, which one do you think we are closer to acheiving?

First off the work they are doing with the multi rotor copters is very awesome.

I worked on developing a fleet of autonomous electric helicopters in my graduate work at UTD.

This is the professor I worked for http://davidlary.info/There are some videos I took but most of them are test flights without auto pilot and many are not too exciting. A lot of the work went into the variety of sensor packages we have flown.

The work entailed using an autopilot system to take control of the unit and then to fly sensors over different areas such as places that emit greenhouse gasses or farms (to detect moisture and potentially infestation) and tag the information with gps and stuff like pitch yaw and roll. Basically any measurement that could benefit from cm accuracy readings instead of the km accurate readings from satellites.

On another note people are mentioning making an ardiuno based autopilot at home. And while this is not out of the realm of possibility. Getting an autopilot to work on a normal helicopter is still very challenging. You need a magnometer, gyroscopes, accelerometer, ultrasonic altimiter, barometric altimieter, and gps just to get the information you need. Then you need to run it through some kind of filter such as a Kalman filter to get rid of the noise. Then there is endless tweaking to get the gains on the output to work well with the exact helicopter you are working with and to get rid of vibrations on the machine. It is a very involved process and even with expert help it took a very long time to get it all working on our unit and it is not 100% ready to be flown completely autonomously yet.