# Capture point

The *capture point* is a characteristic point of the linear inverted pendulum
model. It was coined by Pratt
et al. (2006) to address a
question of push recovery: where should the robot step *right now* to eliminate
linear momentum and come *asymptotically* to a stop?

## Derivation

Let us start from the equation of motion of the linear inverted pendulum, where all the mass is concentrated at the center of mass \(\bfp_G\):

We assume that the robot steps instantly at time \(t=0\) and maintains its ZMP \(\bfp_Z\) at a constant location in its new foothold, so that \(\bfp_Z\) is stationary. Since the natural frequency \(\omega\) of the pendulum is also a model constant, we can solve this second-order linear differential equation as:

This function is the sum of a stationary term \(\bfp_Z\), a convergent term
factored by \(e^{-\omega t}\) that vanishes as \(t \to \infty\), and a
term factored by \(e^{\omega t}\) that diverges as \(t \to \infty\).
Let us define the *capture point* as:

The divergent term in \(\bfp_G(t)\) is then \(e^{\omega t}/2
(\bfp_C(0) - \bfp_Z)\). In particular, the *only* way for the center of mass
trajectory to be bounded is for the stationary ZMP to be equal to the
instantaneous capture point:

We can thus interpret the capture point as a point where the robot should step (shift its ZMP) in order to come (asymptotically) to a stop.

## Discussion

The capture point is a divergent component of motion of the linear inverted pendulum. Shifting the
ZMP to the capture point prevents divergence from the unstable dynamics of the
model, but does not control the other (stable) component. In effect, the system
comes to a stop following its *natural* dynamics:

This phenomenon is noticable in balance controllers based on
capture point feedback such as Englsberger et al. (2011) and Morisawa et al. (2012). Take the robot standing,
push it in a given direction and sustain your push, then suddenly release it:
the robot will come back to its reference standing position following its
natural dynamics (which only depend on \(\omega\), *i.e.* gravity and the
height of the center of mass), regardless of the values of the various feedback
gains used in the balance controller. You can for instance test this behavior
in dynamic simulations with the lipm_walking_controller.

This behavior highlights how balance controllers based on capture-point feedback are not trying to come to a stop as fast as possible. Rather, they focus on preventing divergence, and leverage passive dynamics to absorb undesired linear momentum. When using linear feedback, Sugihara (2009) showed that this approach maximizes the basin of attraction of the resulting controller.

## Boundedness condition

The derivation above can be generalized to the case where \(\bfp_Z(t)\) is time-varying rather than time-invariant. Consider the equation of motion split as follows into divergent and convergent components:

The capture point diverges away from the ZMP while the center of mass is attracted to the capture point:

As the center-of-mass dynamics are convergent, the system diverges *if and only
if* its capture point diverges. We can therefore focus on the
capture point dynamics alone.

The solution to a first-order linear time-varying differential equation is:

where \(A\) is the antiderivative of \(a\) such that \(A(0)=0\). Applied to capture point dynamics, this formula becomes:

We can check how, in the previous case where \(\bfp_Z\) is stationary, this formula becomes:

The capture point trajectory is then bounded if and only if \(\bfp_Z = \bfp_C(0)\), which is indeed the result we obtained above. In the general case, the capture point stays bounded if and only if:

This condition was coined *boundedness condition* by Lanari et al. (2014). It relates *future* system
inputs to the present state, and characterizes the subset of these inputs that
will actually stabilize the system in the long run. The boundedness condition
is, for instance, a core component of the walking pattern generator from
Scianca et al. (2019). It can also be
applied to more general reduced models such as the variable-height inverted
pendulum.

## To go further

The notion of divergent component of motion behind the capture point reaches beyond the linear inverted pendulum model. Check it out for extensions to more advanced balance control.