Zero moment point

The zero moment point (also referred to as zero-tilting moment point) is a concept related to the dynamics and control of legged locomotion, e.g., for humanoid or quadrupedal robots. It specifies the point with respect to which reaction forces at the contacts between the feet and the ground do not produce any moment in the horizontal direction, i.e., the point where the sum of horizontal inertia and gravity forces is zero. The concept assumes the contact area is planar and has sufficiently high friction to keep the feet from sliding.

Introduction
This concept was introduced to the legged locomotion community in January 1968 by Miomir Vukobratović and Davor Juričić at The Third All-Union Congress of Theoretical and Applied Mechanics in Moscow. The term "zero moment point" itself was coined in works that followed between 1970 and 1972, and was widely and successfully reproduced in works from robotics groups around the world.

The zero moment point is an important concept in the motion planning for biped robots. Since they have only two points of contact with the floor and they are supposed to walk, "run" or "jump" (in the motion context), their motion has to be planned concerning the dynamical stability of their whole body. This is not an easy task, especially because the upper body of the robot (torso) has larger mass and inertia than the legs which are supposed to support and move the robot. This can be compared to the problem of balancing an inverted pendulum.

The trajectory of a walking robot is planned using the angular momentum equation to ensure that the generated joint trajectories guarantee the dynamical postural stability of the robot, which usually is quantified by the distance of the zero moment point in the boundaries of a predefined stability region. The position of the zero moment point is affected by the referred mass and inertia of the robot's torso, since its motion generally requires large angle torques to maintain a satisfactory dynamical postural stability.

One approach to solve this problem consists of using small trunk motions to stabilize the posture of the robot. However, some new planning methods are being developed to define the trajectories of the legs' links in such a way that the torso of the robot is naturally steered in order to reduce the ankle torque needed to compensate its motion. If the trajectory planning for the leg links is well-formed, then the zero moment point won't move out of the predefined stability region and the motion of the robot will become smoother, mimicking a natural trajectory.

Calculation
The resultant force of the inertia and gravity forces acting on a biped robot is expressed by the formula:


 * $$F_{}^{gi} = mg - ma_G$$

where $$m$$ is the total mass of the robot, $$g$$ is the acceleration of the gravity, $$G$$ is the center of mass and $$a_G$$ is the acceleration of the center of mass.

The moment in any point $$X$$ can be defined as:


 * $$M_X^{gi} = \overrightarrow{XG} \times mg - \overrightarrow{XG} \times ma_G - \dot {H}_G$$

where $$\dot{H}_G$$ is the rate of angular momentum at the center of mass.

The Newton–Euler equations of the global motion of the biped robot can be written as:


 * $$F_{}^c + mg = ma_G$$


 * $$M_X^c + \overrightarrow{XG} \times mg = \dot {H}_G + \overrightarrow{XG} \times ma_G$$

where $$F_{}^c$$ is the resultant of the contact forces at X and $$M_X^c$$ is the moment related with contact forces about any point X.

The Newton–Euler equations can be rewritten as:


 * $$F_{}^c + (mg - ma_G) = 0$$


 * $$M_X^c + (\overrightarrow{XG} \times mg - \overrightarrow{XG} \times ma_G - \dot {H}_G) = 0$$

so it's easier to see that we have:


 * $$F_{}^c + F^{gi} = 0$$


 * $$M_X^c + M_X^{gi} = 0$$

These equations show that the biped robot is dynamically balanced if the contact forces and the inertia and gravity forces are strictly opposite.

If an axis $$\Delta^{gi}$$ is defined, where the moment is parallel to the normal vector $$n$$ from the surface about every point of the axis, then the zero moment point (ZMP) necessarily belongs to this axis, since it is by definition directed along the vector $$n$$. The ZMP will then be the intersection between the axis $$\Delta^{gi}$$ and the ground surface such that:


 * $$M_Z^{gi} = \overrightarrow{ZG} \times mg - \overrightarrow{ZG} \times ma_G - \dot{H}_G$$

with


 * $$M_Z^{gi} \times n = 0$$

where $$Z$$ represents the ZMP.

Because of the opposition between the gravity and inertia forces and the contact forces mentioned before, the $$Z$$ point (ZMP) can be defined by:


 * $$\overrightarrow{PZ} = \frac {n \times M_P^{gi}}{F^{gi} \cdot n}$$

where $$P$$ is a point on the contact plane, e.g. the normal projection of the center of mass.

Applications
Zero moment point has been proposed as a metric that can be used to assess stability against tipping over of robots like the iRobot PackBot when navigating ramps and obstacles.