Assumptions
Both fixed and mobile robots are usually modeled as rigid bodies connected by
actuated joints. The general equations of motion for such a system are:
M(q)q¨+q˙⊤C(q)q˙=S⊤τ+τg(q)+i=1∑NJCi⊤fi,where q is the vector of actuated and unactuated coordinates.
Actuated coordinates correspond to joint angles directly controlled by motors.
Unactuated coordinates correspond to the six degrees of freedom for the
position and orientation of the floating base (a frame attached to any of the
robot's bodies) with respect to the inertial fame. The vector q is
typically high-dimensional.
Centroidal dynamics
The first working assumption to simplify this model is (Assumption 1) that the
robot has enough joint torques to realize the actuated part of the equation,
and focus on the Newton-Euler equations that correspond to the six unactuated
coordinates:
[mp¨GL˙G]=[fτG]+[mg0]where on the left-hand side pG is the position of the center
of mass (CoM) and LG is the net angular momentum around the CoM,
while on the right-hand side f is the resultant of contact forces,
τG is the moment of contact forces around the CoM, m is
the robot mass and g is the gravity vector. This model is called
centroidal dynamics.
Linearized dynamics
Angular momentum or height variations make centroidal dynamics nonlinear. This
means for instance that, to generate a trajectory for this system, one needs to
solve a nonlinear optimization. An alternative to linearize this system is to
make two assumptions:
- Assumption 2: there is no angular momentum around the center of mass
(L˙G=0). This is why the Honda P2 walks with
locked arms.
- Assumption 3: the center of mass keeps a constant height. This is why the
Honda P2 walks with bent knees.
These two assumptions are used to derive linearized dynamics as follows.
Equations of motion
Let us consider the zero-tilting moment point (ZMP) of the contact wrench. It is a
point Z where the moment of contact forces is vertical:
eZ×τZ=0with eZ the unit upward vertical vector of the inertial frame. This
quantity defines an axis in general: to make Z a unique point, let us
take it on the ground with zZ=zG−h, where h is the
constant height of the CoM. The moment τZ of the contact wrench
at this ZMP is related to the moment at the CoM by:
τZ=τG+(pG−pZ)×fSince τG=0 (Assumption 2), we have:
eZ×((pG−pZ)×f)=0Applying the vector triple product formula,
we get:
fz(pG−pZ)−hf=0From Newton's equation, f=m(p¨G−g) and we can rewrite
the equation above as:
h(p¨G−g)=(z¨G+g)(pG−pZ)Since z¨G=0 (Assumption 3), this equation is a trivial identity in
the vertical direction while its horizontal coordinates are:
p¨G=ω2(pG−pZ)where ω2=g/h, g is the gravity constant and h=zG−zZ is the constant height of the center of mass. The constant
ω is called natural frequency of the linear inverted pendulum.
In this model, the robot can be seen as a point-mass concentrated at G
resting on a mass-less leg in contact with the ground at Z.
Intuitively, the ZMP is the point where the robot applies its weight. As a
consequence, this point needs to lie inside the contact surface S.