I often find myself frustrated with the stupidity of computers. If I’m performing a simple but repetitive task such as resizing pictures or uploading files, I begin to wonder why the computer can’t do it for me. All you have to do is click there, then drag that, then check this – surely the computer can learn this?
A team of computer scientists at Stanford university had the same idea, but set their sights on a task much more impressive than simple file management: flying a remote control helicopter. After “watching” expert radio control pilot Garett Oku demonstrate a series of stunts, the autonomous helicopter (controlled by a computer on the ground) was able not only to match the performance, but to actually better it as well.
The computer has multiple ways of observing the human-controlled flight. A system of cameras on the ground measure the position of the helicopter in the sky, whilst a sensor inside the craft tracks orientation during the loops and spins of the stunts. Data from multiple demonstrations is then fed into the computer, which calculates the ideal way to carry out a stunt. This is much more complicated than simply taking an average of a human pilot’s control input; this approach would soon result in a crash landing.
The key idea was to imagine that the expert demonstrations were nearly perfect, but not quite there. Perhaps on one run the helicopter goes a bit too wide, but on another it flies too low to the ground, and so on. By taking the best bits of each run, the computer can piece together the best possible stunt. It’s a bit like trying to view a large painting through a small hole – one viewing doesn’t tell you very much, but move the hole around and you can put together the image in your mind.
This clever software crunches the numbers 52,000 time a second, and enables the performance a range of difficult stunts with absolutely no human input. One of the most impressive is the “tic toc”, in which the helicopter points straight upwards and vibrates from side-to-side like the pendulum of a clock. Professor Andrew Ng, director of the research, called the stunts “by far the most difficult aerobatic maneuvers flown by any computer controlled helicopter.”
The team have a YouTube channel where you can watch the results of their experimentation, including the helicopter putting on a show all by itself:
Adam Coates, Pieter Abbeel, Andrew Y. Ng (2008). Learning for Control from Multiple Demonstrations ICML