The Newton-Euler equations of motion correspond to the six unactuated
coordinates in the equations of motion of humanoid robots. Newton's equation applies to (linear)
Let us detail notations and how these equations are used.
Let denote the position in the world frame of the center of
mass of the robot's
link. Also, let denote the mass of link
, and the total mass of the robot. The overall
center of mass is located at the position in the world
frame such that:
In other words, the robot's center of mass is a convex combination of the
respective centers of mass of all of its links, where each link is weighed by
its respective mass.
The robot is subject to gravity and contact forces. Let denote the
gravity vector. For a link in contact with the environment, we write
the resultant force exerted on the link. Let
denote the internal force exerted by link on link . We
take the convention that if links and
are not connected (similarly, if link is not in
contact). All force vectors are expressed in the world frame.
Newton's equation of motion links the resultant accelerations and forces:
A key point here is that by Newton's third law
of motion, so that internal forces vanish in this sum over all links:
. In concise form, Newton's
equation then binds the acceleration of the center of mass with the whole-body
The linear momentum of the robot is defined by:
Then, Newton's equation can be written in concise form as:
In other words, the rate of change of the linear momentum is equal to the
resultant of external forces exerted on the robot.
Newton's equation is related to translational motions of the robot. Euler's
equation provides a similar relation for angular motions. Let
denote the rotation matrix from the link frame to the
world frame, and denote the spatial angular velocity of the link, that is,
the angular velocity from the link frame to the world frame expressed in the
world frame. Also, let denote the inertia matrix of the
link, expressed in the world frame and taken at the
center of mass of the link. (Yes, it is verbose to be precise if
we want to define all our spatial vectors without ambiguity.)
For a link in contact with the environment, we write
the resultant moment of contact forces exerted on the link at .
If the link is in point contact with the environment at , the
moment will be zero. If the link is in surface contact, both and
may be non-zero. See for instance the Section III of this
paper for more details on point and surface
Euler's equation of motion links the angular momenta and resultant moments of
As a consequence of the definition of the center of mass as a convex
combination of links' centers of mass, terms involving the acceleration
due to gravity vanish from the right-hand side of this equation:
This leaves us with:
Note how the right-hand summation is now over contacts only rather than over
links. By a similar argument to the vanishing of internal forces in the
translational case, the moments of internal forces do not appear in the
equation above. For details on this, see D'Alembert's principle which is the axiom
behind the vanishing of internal forces.
The angular momentum of the robot, taken at the center of mass , is
Then, Euler's equation can be written in concise form as:
In other words, the rate of change of the angular momentum is equal to the
resultant moment of external forces exerted on the robot.
Variant with body angular vectors
We took care to specify all our spatial vectors and matrices above with respect
to the world frame. Let us denote by the body angular velocity of the link,
that is, the angular velocity from the link frame to the world frame expressed
in the link frame. Similarly, let denote the inertia matrix of the link,
expressed in the link frame and taken at the center of mass of
the link, and let denote the
moment of contact forces with respect to in the link frame.
Euler's equation can equivalently be written as:
You can check this formula as an exercise.
Variant at the origin of the world frame
Together, the linear and angular momentum are the wrench coordinates of the robot's momentum. The linear
momentum is the resultant of the wrench, hence its coordinates are the same
everywhere, while the angular momentum is the moment of the wrench, whose
coordinates depend on the application point. We selected it so far as the
center of mass , but we can apply Varignon formula to compute the
angular momentum at any other point. For instance, the origin of the
Then, Euler's equation can be written in concise form as:
Equivalently, expanding the expression of the angular momentum:
The benefit of taking the angular momentum at the center of mass is to simplify
the right-hand side of this equation from a summation over links, with
gravity applied to each, to a summation over contacts, where only contact
forces are applied.
Newton-Euler with spatial vector algebra
When working with spatial vector algebra and wrench friction cones, it is common to express the left- and
right-hand sides of Newton-Euler equations as wrenches.
Newton-Euler as a wrench equation
In terms of these two wrenches, Newton-Euler equations become:
That is, at any point in time, the sum of gravity, inertial and external
contact wrenches is always zero. When the robot is not moving, that is the
inertial wrench is zero, we recognize the condition for static equilibrium:
external contact wrenches compensate gravity. When the robot is moving, the
condition generalizes to dynamic equilibrium: external contact wrenches
compensate for both gravity and inertial forces.
Note that this is an equality between wrenches, which means it holds for any
To prove that two wrenches are equal, we need them to have (1) the same
resultant force (true from Newton's equation) and (2) the same moment at a
given point (true from Euler's equation at the center of mass). In particular,
the equation holds for the origin in the world frame:
Which results in the same Newton and Euler equations we derived above:
One advantage of this equivalent pair of equations is that, while left-hand
side summations are over all links, right-hand side summations are only over
To go further
My favorite introduction to humanoid equations of motion is Some comments on
the structure of the dynamics of articulated motion by Wieber (2006). Check it out
if you are looking for a derivation of Newton and Euler equations from Gauss's
principle of least constraint. As a matter of fact, check it out even if you
are only mildly curious about it. I warmly recommend it.
The link between Newton-Euler equations, the gravito-inertial and contact
wrenches is central to the derivation of wrench friction cones and their projection for
reduced dynamic models such as ZMP support areas. These are useful e.g. for locomotion over
complex terrains yet with simple models.
Expressing Newton-Euler equations at the center of mass can be a practical idea
to linearize the (otherwise non-convex) problem of integrating forward
dynamics. For instance, Di Carlo et al. (2018) started from there to linearize
the model predictive control problem for the MIT Cheetah quadruped.