Programming instructions for robots can be a time-consuming, labor-intensive task. Many roboticists believe that training robots by demonstrating new skills could speed up the process and enable the machines to perform more difficult tasks. Now researchers have created such a system for robotic helicopters. With their approach, the team can train a robotic helicopter to perform a complicated aerial maneuver in less than 30 minutes simply by analyzing video footage of the trick. The work could one day be applied to a wide variety of robots on land and sea, as well as in the air.
For very basic aerial maneuvers, researchers can program specific commands based on the way a human operator would use the controls. But aerial acrobatics, such as flying upside down, require a more robust and adaptive approach. A gust of wind or a small variation in the helicopter’s starting position can send the vehicle completely off course if adjustments aren’t made immediately to the flight plan. “It’s not sufficient to just replay the same sequence of controls as a human pilot,” says Pieter Abbeel, who worked as a researcher on the project while completing his PhD at Stanford University. With the apprenticeship approach, the robot can make changes mid-flight because it’s not tied to a specific series of commands. This could help autonomous helicopters deal with real-world challenges, such as landing on slanted terrain or coping with sudden changes in weather conditions, ultimately resulting in more stable flight.
Training begins with a human expert demonstrating a new trick on a remote-controlled helicopter. As the expert repeats the maneuver, one of the researchers presses a button to indicate the start and end time of each attempt. The expert needs to perform each trick approximately 10 times, so that subtle deviations can be eliminated and the software can calculate the ideal path. The software carefully warps the timing of each video clip so that it can compare the attempts. Small blips in the data, known as noise, are also eliminated. Ultimately, the software creates a highly accurate aerodynamic model of the trick that the autonomous helicopter uses as a flight guide.
Once in the air, the robotic helicopter wirelessly relays information from its onboard sensors to a computer on the ground. “We place a number of instruments on the helicopters–gyroscopes, accelerometers, and a magnetic compass–to figure out the position and orientation,” says Andrew Ng, an assistant professor of computer science at Stanford University, who also worked on the project. “We wirelessly send the instrument readings down to a desktop computer on the ground, which computes the appropriate control commands.” These commands are sent back to the helicopter 20 times per second. Video cameras on the ground also help to keep track of the helicopter.
With each attempt, the robot learns how to perfect the trick. “The first time, it might take a turn a bit too wide. It will then use its knowledge of its own dynamics to learn to adjust the way it takes a turn,” Ng says.
Smaller design teams can now prototype and deploy faster.