8

Discussing the video More Parkour Atlas, a friend asked how the robot's movement was so similar to the one from a real human and wondering how this is achieved?

To my knowledge, this is not something the developer "programmed", but instead emerged from the learning algorithm.

Could you provide an overview and some reference on how this is achieved?

nbro
  • 39,006
  • 12
  • 98
  • 176

1 Answers1

2

Because Boston Dynamics is a private, for-profit, company, we cannot know for sure how they achieve their results. However, we can examine the available public information and make educated guesses.

In the information posted with the video, Boston Dynamics tells us that they use

... an optimization algorithm transforms high-level descriptions of each maneuver into dynamically-feasible reference motions. Then Atlas tracks the motions using a model predictive controller that smoothly blends from one maneuver to the next.

This sounds like three older AI approaches have been blended together to create the video.

First, they mention using an optimization algorithm to assemble complex motions from "dynamically-feasible reference motions". This sounds like they have first learned, or possibly pre-programmed, a range of simple movements that, on their own, are not very impressive, but that can be composed together into more complex movements. This approach is called Layered Learning, and was pioneered by Peter Stone and Manuela Veloso in the late 1990s. It is widely and successfully used in academic robotics competitions. Basically, this algorithm tries out different combinations and sequences of simple actions until it finds one that is close to the desired complex action. This is usually done with a local search algorithm, or sometimes with other optimization tools.

The second technique is, of course, actually learning to perform the basic actions that layered learning can compose together into more complex actions. This is usually done with some form of reinforcement learning, but sometimes is done by a programming who explicitly solves the equations for the movement of a simple system.

Finally, they need to use a model predictive controller to smoothly interpolate between the sequence of actions that the layered learning approach has come up with. In this approach, the engineers designing the robot have very carefully measured, for this specific robot, exactly how parts of it tend to move or continue moving, and written this down as a mathematical model called a dynamical system. This model allows the algorithm to figure out how this specific robot's movements are slipping away from the planned ones as it executes the motions. The slippage occurs because of things like friction (the robot's parts are not all perfectly smooth, and may have different amounts of lubrication, or a motor might slip). The algorithm can then make small changes to the motion to smooth out these unexpected bumps. That's the part that makes everything look so smooth.

It's worth noting too, that the video is not fully representative of the typical results their algorithm obtains. Boston Dynamics claims in the video caption that their algorithm "succeeds" in achieving a desired motion about 80% of the time. They don't tell us what "success" means, but the video is probably just the best of many takes for a carefully planned and filmed routine.

nbro
  • 39,006
  • 12
  • 98
  • 176
John Doucette
  • 9,147
  • 1
  • 17
  • 52