Q&A: Boston Dynamics on Atlas’s Parkour Skills
Yesterday's video from Boston Dynamics showing a pair of Atlas robots doing parkour together is already up to nearly 3 million views, and for good reason. The company continues to push forward the state of the art for dynamic bipedal robots, now by mixing in perception as well as upper-body maneuvers that humanoid robots find particularly challenging. A behind-the-scenes video and blog post provided an uncharacteristic amount of detail about the process that Boston Dynamics goes through to make videos like these, but we still had questions. And happily, Boston Dynamics had answers!
Here's the new Atlas parkour video, if you missed our post yesterday:
For more details from the experts, we spoke with Scott Kuindersma, the Atlas team lead at Boston Dynamics, and Ben Stephens, the Atlas controls lead, via email.
IEEE Spectrum: Can you describe some of the constraints that Atlas is operating under, and how brittle its behaviors are? For example, can it handle changes in friction, and can it adapt autonomously if different sequences of movements are required?
Scott Kuindersma and Ben Stephens: The ability to adapt behaviors to a range of circumstances is a key design principle for Atlas, so for an activity like parkour, we frequently test the robot by making changes to the geometry of the course. Atlas is also able to deal with things like feet sliding to some extent. We run subsets of these behaviors on wood, mats, asphalt, grass, and surfaces with grip texture without explicitly telling the robot that the friction and ground compliances are different. But there are of course limits-parkour on ice probably wouldn't work. (Spot, which is used in a wide range of commercial environments, has more explicit mechanisms for detecting slip events and automatically changing its control response to cope with different types of surfaces).
Atlas' control system also provides some flexibility in reordering move sequences, whether these sequences are provided ahead of time (as was the case here) or if they are generated online as the output of a planning process. The idea behind Atlas' behavior libraries is that they can be reused in new environments.
Spectrum: It's very impressive to see Atlas using more upper body for dynamic maneuvers. To what extent will Atlas continue to use human-ish motion for dynamic mobility, as opposed to motions that could be more optimized for unique robotic capabilities?
Kuindersma and Stephens: We're interested in creating behaviors that take full advantage of the hardware even if the resulting motion is not perfectly humanlike. That said, the incredible breadth and quality of human motion remains a source of inspiration for us, particularly in cases like parkour where the coordination and athleticism on display motivates useful hardware and software innovation.
Spectrum: You mentioned in your blog post that the robot has no spine or shoulder blades, which places some limitations on what it can do. After several iterations of Atlas, how much bioinspired design do you think is the right amount?
Kuindersma and Stephens: When building robots like Atlas, there's always a long list of engineering tradeoffs that shape the final design. The current robot has evolved over several generations of humanoids at Boston Dynamics and represents a good tradeoff between size, range of motion, and strength-to-weight ratio. When our work identifies physical limits of the machine, that becomes useful information to our design team. In some cases, limitations can be improved through incremental upgrades. But for new robot designs, we have to make strategic decisions about how the limitations of the current machine conflict with what we want the robot to do over the next few years. These decisions are primarily motivated by our technical goals and experimental analyses and less so by human performance data.
Finding and operating at the limits of the robot hardware is part of the motivation for doing things like parkour.
Spectrum: Last we heard, Atlas was not using machine learning in these contexts. When you're teaching Atlas new behaviors, how exactly do you do that?
Kuindersma and Stephens: The behaviors Atlas performs during parkour can be expressed as optimization problems that compute strategies for coordinating forces and motion over time. We use optimization both to design the behaviors in Atlas' library offline and to adapt and execute them online. This programming strategy works well when you can describe what you want as a tractable optimization problem, but not all tasks are like that. For example, machine learning becomes an essential tool for programming behavior in cases where detailed solutions are hard to write down (e.g., vision-dominant manipulation tasks). We're excited about opportunities to solve problems by leveraging the strengths of both approaches going forward.
Spectrum: At this point, is Atlas more constrained by hardware or software? If you want Atlas to do something new, what draws the line between impossible and not?
Kuindersma and Stephens: Finding and operating at the limits of the robot hardware is part of the motivation for doing things like parkour. But if we consider a longer term vision for what we want robots like Atlas to do, there is a lot of opportunity for software innovation using the existing hardware. We will continue to improve on both fronts. Over the past seven years, Atlas' behavior has evolved from walking up stairs and moving cardboard boxes to the running, flipping, and dancing you see today. We're excited to see where the next seven years will take us.