Standing Balance Control Using a Trajectory Library. Liu, Atkeson. IROS 2009

The paper is deals with a balance controller that explicitly handles pushes

Similar to previous trajectory library work by the authors, the method uses a library of optimal trajectories, and a method called neighboring optimal control to generate near optimal policies

Two optimizations are used in sequence: first SNOPT, a parametric nonlinear optimization method, and then DDP to further refine the policy

They use a form of pruning to keep the trajectory library small

Compare against a couple of other methods: LQR, and an optimal one

This paper deals only with balancing, not walking, controls a torque at the foot (which is symmetric), and knee

“DDP is a second order gradient method and it can converge to a better solution if the starting trajectory is good, otherwise the convergence is slow or it may even fail. Parametric nonlinear programming methods have been used to solve trajectory optimization problems. We find they are generally more robust in terms of finding a solution than DDP.”

“SNOPT is a general-purpose system for constrained optimization using a sparse sequential quadratic programming (SQP) method.

This is used to generate starting trajectories (not clear what this means to me)

For constant pushes, initial joint angles and velocities are all zero

For constant pushes, the robot eventually leans into the pushes and attains zero joint torque

In order to return to standing after the push terminates, initial conditions with nonzero joint angles are also considered; they make a library by dividing the 2 push variables (location and magnitude) over a grid.

Seems pushes are always horizontally oriented

DDP is used to refine the trajectories produced by SNOPT

There is an adaptive method that defines the boundaries on the cells of trajectory libraries so performance is guaranteed to a certain bound

At this point its not clear how they make that computation

They compare the performance to an optimal controller – I’m not sure what that is though (is it just a policy computed live instead of from the library?)

Unfortunately, the paper really lacks details (its an IROS paper and is 6 pages with references, really a 5 page paper). Hard to really do anything with what is outlined here unless there is an ARXIV or some other extended version.