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

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

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

  • $\begingroup$ According to the paper “Yang, Xiong, et al. State of the art: Bipedal robots for lower limb rehabilitation. Applied Sciences 7.11 (2017): 1182.” human like motion was realized by motion capture of human walking. Then the signal is feed into a gait planner which is reproducing the movement on the robot. $\endgroup$ – Manuel Rodriguez Sep 25 '19 at 10:30

Welcome to AI.SE @EdouardLopez!

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 planed 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.

| improve this answer | |
  • $\begingroup$ Model predictive control is known for it's performance problems under real time constraints. Until the sliding mode controller has estimated future states of the system, the reality is much faster and the prediction will come too late. This makes it a poor choice compared to conventional Proportional Integral control. $\endgroup$ – Manuel Rodriguez Sep 26 '19 at 13:24
  • $\begingroup$ @ManuelRodriguez That could well be true, but I'm not sure what it has to do with this question. Boston Dynamics tell us they are using a model predictive controller. They probably also have used a very large amount of computational power. I don't find it hard to believe that it's what they're using here. $\endgroup$ – John Doucette Sep 26 '19 at 14:12

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.