
Teaching Bipedal Robots to Step Across Discrete Terrain - lainon
https://spectrum.ieee.org/automaton/robotics/robotics-hardware/dynamic-walking-on-stepping-stones
======
Animats
I did some work on this problem years ago, when I was working on running
across rough terrain.[1] Running on hills involves managing contact forces,
which forces you to look at this problem in force space, rather than position
space. Running forces you to get completely out of the stable posture space
and start thinking dynamically.

Fast stops and starts seem to be a unsolved problem in legged robotics. The
Boston Dynamics machines mostly start trotting in place, and then extend the
stride. Running ought to start by falling down and forward, which places the
CG ahead of the foot. You start with a controlled fall, then launch. This is
traction-limited; try to push off too hard and you slip. Ground angle matters;
that limits traction.

Stopping is a similar situation. You need to land with the CG behind the foot,
so that you get to dump the energy into the ground and into lifting the CG.
Again, this is traction-limited and ground angle matters. Handling this is
essential to fast starts, stops, and changes of direction.

I got some insights on this from watching horses. Horses weigh over half a ton
yet are quite agile. A common horse stopping strategy is to make a very tight
turn and lean way into the turn, which dumps forward momentum into the ground.
Much of the kinetic energy is spent bringing the horse back upright, trading
it for potential energy. (Horses can be taught a slide stop, but usually do a
turn stop on their own.)

You're going to have to consider at least two landings ahead. You'd like at
the first landing ahead to have two plans - one for continuing the run, and
one for stopping at the next footfall. As long as you have a plan to stop in
two footfalls, you can keep running without excessive risk. This starts to
look like a two-point boundary value problem in dynamics - you want an end
state with certain position and velocity values, and you get to tweak forces
and torques over time to get there. It's classic rocket science, trajectory
dynamics. Much work has gone into that, so there are known solutions.

I was trying to approach this using model-based feedforward adaptive control.
You have a predictive model of how the system is expected to behave, and you
run tests to tune it to match what happens. If a predictor is tracking well,
you invert its model and use it as a controller. You start with a dumb
predictor, and, in parallel, you run other predictors which have added
features. Those are evaluated, and you pick the winners and use them for
control, while trying for better predictors which work in a larger portion of
the input space. Predictor generation is semi-manual; you guess at what's
going to affect what, and let the system figure out how much coupling there
is.

This is similar to some forms of machine learning, but machine learning didn't
do much yet back in the 1990s. This could probably be made to work today. No
market, though.

[1] [http://www.animats.com/](http://www.animats.com/)

~~~
schoen
> working on running across rough terrain

I was wondering whether you did this for computer graphics or robotics
applications, and your site says the answer is both!

How transferrable do you think techniques are between these two fields in
practice?

~~~
Animats
Less than I expected at the time. While you can build a game where the
characters have full physical models driven by a control system, it's much
more common to just play motion-captured animations.

~~~
whatshisface
Sometimes they do inverse kinematics to place footfalls. That's the most
advanced thing I've seen in any game, though.

~~~
Animats
Check out Endorphin, which goes beyond that. But I know of no game where the
feet actually support the character. Usually, the character is just a capsule
(cylinder with hemisphere ends) to the physics engine.

------
jschwartzi
This is challenging terrain for most humans. It took me months to get decent
at walking across loose talus. You really have to learn to trust your boots
and listen to your proprioception and be very aware of where your center of
gravity is. And you have to have a fairly strong core.

One trick that I've seen used is to carry a trekking pole and use it as a
probe. It gives you three points of contact and also lets you check pieces
around you before entrusting those pieces with your weight.

~~~
TheSpiceIsLife
What is loose talus? Is it like scree?

~~~
yitosda
[https://pmags.com/talus-vs-scree-what-is-the-
difference](https://pmags.com/talus-vs-scree-what-is-the-difference)

------
headsoup
They forgot the other reason, for creating tomorrow's T1000's!

