0% found this document useful (0 votes)
66 views

Script Dynamics

This document provides an overview of modeling robot dynamics. It discusses how mathematical models describe why robotic systems move under applied forces. Three common approaches for deriving equations of motion are described: Newton-Euler methods model motion explicitly in Cartesian space; Lagrange methods use energy functions over generalized coordinates; and projected Newton-Euler methods combine advantages of the first two by reformulating Newton-Euler in terms of generalized coordinates. Foundational concepts from classical mechanics like Newton's laws and virtual displacements are also introduced.

Uploaded by

UMAR
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
66 views

Script Dynamics

This document provides an overview of modeling robot dynamics. It discusses how mathematical models describe why robotic systems move under applied forces. Three common approaches for deriving equations of motion are described: Newton-Euler methods model motion explicitly in Cartesian space; Lagrange methods use energy functions over generalized coordinates; and projected Newton-Euler methods combine advantages of the first two by reformulating Newton-Euler in terms of generalized coordinates. Foundational concepts from classical mechanics like Newton's laws and virtual displacements are also introduced.

Uploaded by

UMAR
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 13

Chapter 3

Dynamics

Mathematical models of a robot’s dynamics provide a description of why things move


when forces are generated in and applied on the system. They play an important role
for both simulation and control. This chapter presents a concise overview regarding
different approaches for modeling the dynamics of a robot and provides insight into
model-based control techniques.

3.1 Introduction
In most robotic applications the goal is to find a multi-body dynamics description for-
mulated as
M (q) q̈ + b (q, q̇) + g (q) = τ + Jc (q)T Fc (3.1)
consisting of the following components:

M (q) ∈ Rnq ×nq Generalized mass matrix (orthogonal).


q, q̇, q̈ ∈ Rn q Generalized position, velocity and acceleration vectors.
b (q, q̇) ∈ Rn q Coriolis and centrifugal terms.
g (q) ∈ Rn q Gravitational terms.
τ ∈ Rn q External generalized forces.
Fc ∈ Rn c External Cartesian forces (e.g. from contacts).
Jc (q) ∈ Rnc ×nq Geometric Jacobian corresponding to the external forces.
Please note: For simplicity and compactness, we use here the formulation for fixed
base systems with q̈ instead of u̇ as introduced for floating base systems. Make sure
that you adapt it accordingly when working with floating base systems.
In literature, different methods exist to compute the so-called Equations of Mo-
tion (EoM) of a given system, i.e., a closed-form mathematical model of the system
dynamics. All such methods are usually based on Newtonian and/or Lagrangian me-
chanics formulations, but despite the different approaches taken, all methods will result
in equivalent descriptions of the dynamics.
In this text we present the most common methods used in robotics. The first such
approach presented in section 3.3, is the well-known classical Newton-Euler method,
which essentially applies the principles of conservation of linear and angular momen-
tum for all links of a robot, and considers the motion explicitly in Cartesian space.
The second approach presented in section 3.4, known as the Lagrange Method, is an
analytical technique which utilizes scalar energy-based functions over the the space of

59
generalized coordinates which adhere to certain minimization principles, thus resulting
in trajectories which automatically satisfy the kinematic constraints of the system. The
third and arguably most useful approach of all is presented in section 3.5 and is that
of the Projected Newton-Euler method, which manages to combine the advantages of
both the Newton-Euler and Lagrange methods, thus constituting a reformulation of the
Newton-Euler method in terms of the generalized coordinates and hence directly con-
siders the feasible motions of the system, i.e., those satisfying the applicable kinematic
constraints.
Although the methods are often presented to be quite different, and may appear as
such initially, their equivalence will become quite clear by the end. In the end, it is up
to the reader to identify the appropriate approach to use for modeling a given robotic
system or problem setting.

3.2 Foundations from Classical Mechanics


Prior to presenting each of the aforementioned methods for deriving the EoM, there are
certain principles and necessary analytical tools which one must be acquainted with
first. These are necessary for understanding the foundations upon which the presented
methods are based.

3.2.1 Newton’s Law for Particles

dm

dF
r

Figure 3.1: Force acting on single particle

The most basic formulation of Newtonian mechanics describes the motion of point-
masses, i.e., particles with mass m and of infinitely small dimensions, were the entire
mass is concentrated at the single point defined by the position vector r. Keep in mind
that a point-mass does not have an orientation as it is impossible to define any geometry.
This means that we need only consider the Newton’s second law to fully describe the
motion of the system:
r̈m = F (3.2)
Considering again the fact that we have defined the mass to be of infinitely small di-
mensions, we can think of it as an infinitesimal mass dm subject to infinitesimal forces
dF concentrated at the position of the particle:

r̈dm = dF (3.3)

As we will see in the sections that follow, these relations still play an important role in
the derived methods. (3.2) still applies for the case of computing the linear dynamics
of the Center of Mass (CoM) of rigid bodies, while (3.3) is used for to describe the
effects of internal forces in a system via the Principle of Virtual Work.

60
3.2.2 Virtual Displacements
We will now introduce the concept of variational notation via the δ operator. Essen-
tially, this operator behaves exactly as the differential d operator except that it has a
completely different meaning. The differential is defined to describe an infinitesimal
quantity which is then used to define “rates of change” of one quantity with respect
to another. On the contrary the variation of a quantity describes, for a fixed instant in
time, all possible directions the quantity may move in while adhering to the applicable
constraints.
The most important fact to remember regarding a variation, is that if it taken with
respect to quantity which is a function of time, then any temporal dependence is disre-
garded completely. To demonstrate this property, we will define the admissible varia-
tion of a position vector, called a virtual displacement δr, and assume that the position
is a function of generalized coordinates q and time t, thus r = r(q, t). By applying the
chain rule over the nq elements of q we compute the variation δr:
nq
X ∂r
δr(q, t) = δqk (3.4)
∂qk
k=1

∂r
Notice that the expression in (3.4) does not include ∂t , and can thus be understood to
be a purely geometric interpretation.

3.2.3 Virtual Displacement of Single Rigid Bodies

Ψ = Ω̇
δΦ Ω = ωIB
dm
{B}
dF
ρ
r vS
S
aS

{I} rOS δrS

Figure 3.2: Kinematics of a single body

A body with mass existing in 3D Cartesian space, as shown in Fig. 3.2, is very
simply a large number of particles closely placed together to form a single rigid body.
Each infinitesimal point-mass dm is subject to the motion of the total body and hence
can be assigned an absolute position and velocity at any instant in time. Lets now
consider another point S on the body, such that we can define the relative position ρ of
dm w.r.t. the point S.

61
Thus one can then use the rigid body kinematics formulation introduced in sec-
tion 2.7 to describe the motion an arbitrary point-mass dm defined on the body B via
another body point S:

r = rOS + ρ (3.5)
 
  vs
ṙ = vS + Ω × ρ = I3×3 − [ρ]× (3.6)

 
  as
r̈ = aS + Ψ × ρ + Ω × (Ω × ρ) = I3×3 − [ρ]× + [Ω]× [Ω]× ρ (3.7)
Ψ

Where, rOS is the absolute position of body point S, ρ is the relative position of dm
w.r.t S, and vS , Ω, aS , and Ψ are the absolute velocities and accelerations of point S.
Applying (3.4) to (3.5), we get the expression for the virtual displacement of the body
element dm:
 
  δrs
δr = δrS + δΦ × ρ = I3×3 − [ρ]× (3.8)
δΦ
and δΦ is the variation of the infinitesimal rotation of the local body-fixed frame
defined at S and describes all constraint-compatible changes in orientation of the local
frame at S. Note the bold face over the entire quantity of δΦ; this is due to the fact that
the variation is not taken w.r.t. an orientation quantity, just like angular velocity is not
the result of time-differentiating an orientation.

3.2.4 Virtual Displacement of Multi-Body Systems


Multi-body systems can only exhibit motions that are compatible with the constraints
enforced by the joints, which limit the relative motion between links. As we have seen
section 2.8, the motion is typically described using generalized coordinates q:
   
vs J
= P q̇ (3.9)
Ω JR
     
as JP J̇
= q̈ + P q̇ (3.10)
Ψ JR J̇R
Again applying (3.4) to (3.9) and (3.10), the concept of virtual displacements now
becomes relevant to multi-body systems, and implies that virtual displacements that
are consistent with the joints must have the form:
   
δrs J
= P δq (3.11)
δΦ JR

3.2.5 Principle of Virtual Work


A fundamental principle in mechanics is the principle of virtual work which describes
the fact that configuration constraints actually define forces which do not perform work
in the direction of the virtual displacements. For a constraint force Fc applied at
point rc , contributed by an arbitrary joint, and equally onto the relevant bodies (action-
reaction principle), the principle of virtual work states that:
δW = δrTc · Fc = 0 (3.12)

62
We can extend this further by considering again an infinitesimal dm in a body B. By
also considering d’Alambert’s Principle describing dynamic equilibrium for particles,
the virtual work integrated over the entire geometry of body B becomes:
Z
δW = δrT · (r̈dm − dFext ) = 0, ∀ δr (3.13)
B

Where the quantities are defined as follows:

dm infinitesimal mass element


dFext external forces acting on element dm
r̈ acceleration of element dm
δr virtual displacement of dm
B Body system containing infinitesimal particles dm

Thus the virtual work is zero for all displacements δr, those changes in configura-
tion which are consistent with the constraints of the system. Although this formulation
might seems somewhat complicated, it will become clearer in the continuation that it
describes most of the well know concepts in a quite compact and well understandable
manner.

3.3 Newton-Euler Method


3.3.1 Newton-Euler for Single Bodies
Evaluating the principle of virtual work (3.13) for a single body results to:
Z  T     
δrs I3×3   as 2
0 = δW = I3×3 − [ρ]× dm + [Ω]× ρdm − dFext
B δΦ − [ρ]× Ω
 T Z " #  !  !
T 2
δrs I3×3 dm [ρ]× dm as [Ω]× ρdm dFext
= 2 + 2 −
δΦ B [ρ]× dm − [ρ]× dm Ω [ρ]× [Ω]× ρdm [ρ]× dFext
(3.14)
Please note that this formulation must hold for arbitrary virtual displacements as there
are no active constraints from joints or contacts. Knowing the computation rule a ×
(b × (b × a)) = −b × (a × (a × b)) and introducing
Z
dm =: m body mass (3.15)
Z B
ρdm =: 0 since S = COG (3.16)
B
Z Z
2
[ρ]× dm = [ρ]× [ρ]× dm =: ΘS Inertia matrix around COG (3.17)
B B

we get
 T         
δrs I3×3 m 0 as 0 Fext δrs
0 = δW + − ∀ .
δΦ 0 ΘS Ω [Ω]× ΘS Ω Text δΦ
(3.18)

63
In order to define the laws of conservation of linear and angular momentum we intro-
duce the definitions:

pS = mvS linear momentum (3.19)


N S = ΘS · Ω angular momentum around COG (3.20)
ṗS = maS change in linear momentum (3.21)
ṄS = ΘS · Ψ + Ω × ΘS · Ω change in angular momentum (3.22)

A free moving body needs to fulfill that the change in linear momentum equals the sum
of all external forces
 T      
δrs ṗS Fext δrs
0 = δW = − ∀ , (3.23)
δΦ ṄS Text δΦ

which results in the well-known formulations by Newton and Euler:

ṗS = Fext,S (3.24)


ṄS = Text (3.25)

where Fext,S are the resultant external forces that act through the COG and Text are the
resultant external torques. External forces which do not act through the COG need to
be shifted to an equivalent force/moment pair of which the force acts through the COG.
Please note again that for numerical calculation, the terms of the change in linear and
angular momentum must be expressed in the same coordinate system. For the inertia
tensor Θ we must apply B Θ = CBA · A Θ · CTBA .

3.3.2 Newton-Euler for Multi-Body Systems


When dealing with multi-body systems, a valid approach is to separate all bodies at the
joints as depicted in Fig. 3.3 and to consider every body as a single unit. Thereby, the
constraint forces Fi at the joints must be introduced as external forces acting on each
of the bodies when cut free. For all these bodies, we must then apply conservation
of linear (3.24) and angular momentum (3.25) in all DoFs, subject to external forces
(which now include the joint forces Fi , too). For a general 3D case and a fixed base,
this results in a 6 nj -dimensional systems of equations. Additionally, there are 5 nj
motion constraint due to the ideal joints. They ensure that the two connected bodies
only move along the direction of the joint but don’t move in all other directions that are
blocked by the joint.
Many simulation packages build upon such formalism and enforce the joint motion
constraints using hard or soft constraints. The latter method often speeds up simula-
tion due to the type of solvers that can be applied. However, it fulfills the ideal joint
constraints only approximately, which can lead to physically inconsistent phenomena
in simulation.
When solving such a system by hand, the approach is to describe the motion only
as a function generalized coordinates. This still leads to 6 nj equations (3 nj for planar
systems) but ensures already the ideal joint constraints. The 6 nj equations linearly
depend on nj generalized coordinates as well as on the 5 nj joint constraint forces.
Algebraic manipulation of the system of equations allows to eliminate all constraints
forces.

64
Fi2
Ψi Ωi

aSi
vSi

Fi1

Fg
rOSi

Figure 3.3: Free-cut of multi-body system with constraint forces due to joints

Example 3.3.1: Cart-Pendulum with Newton-Euler

3.4 Lagrange Method


3.4.1 Introduction
Another common approach for deriving the equations of motion of a system is that
of using the so-called Lagrange Method. It originates from the sub-field of physics
known as Analytical Mechanics [1][4], and is closely tied to both the d’Alembert and
Hamilton principles, as it is one of the analytical methods used to describe the motion
of physical systems. The method is centered around three fundamental concepts:

1. The definition of generalized coordinates q and generalized velocities q̇, which


may or may not encode the information regarding the constraints applicable to
the system.
2. A scalar function called the Lagrangian function L. For mechanical systems, it
is exactly the difference between the total kinetic energy T and the total potential
energy U, of the system at each instant:

L=T −U (3.26)

3. The so-called Euler-Lagrange equation, also known as the Euler-Lagrange of the


second kind, which applies to the Lagrangian function L and to the total external

65
generalized forces τ :    
d ∂L ∂L
− =τ (3.27)
dt ∂ q̇ ∂q

In the most general case, the Lagrangian is a function of the generalized coordinates
and velocities q and q̇, and it may also have an explicit dependence on time t, hence
we redefine the aforementioned scalar energy functions as T = T (t, q, q̇) and U =
U(t, q), thus L = L(t, q, q̇).
In the end, one of the most notable properties of this formulation is the capacity to
eliminate all internal reaction forces of the system from the final EoM, in contrast to
the Newton-Euler formulation where there they are explicitly accounted for. To apply
this method to derive EoM of a complex multi-body system there are additional aspects
which must be considered before one can applying the three aforementioned concepts.
These are presented in a concise overview at the end of this section, and are explained
in the immediate continuation.

3.4.2 Kinetic Energy


The kinetic energy of a system of nb bodies is defined as:
nb 
X 
1 1
T = miA ṙTSi A ṙSi + B ΩTSi · B ΘSi · B ΩSi (3.28)
i=1
2 2

For every body Bi in the system, although the linear part may be computed while
expressed in some frame A, it may be more convenient to compute the rotational kinetic
energy using expressions in another frame B, rotated w.r.t to A, where the inertia matrix
ΘS,i may have a diagonal form, i.e. the basis vectors of B are principle w.r.t. the
mass distribution. This computation will yield correct results as long as both linear
and angular velocities A ṙS,i and B ΩS,i express the absolute velocities of the body, i.e
velocities w.r.t. to the inertial frame.
We now need to express the kinetic energy as a function of the generalized quanti-
ties. To achieve this, we make use of the Jacobian matrices described by (2.163) and
(2.164), but computed for each body Bi instead of the end-effector. This then allows
us to use the following kinematic relationships:

ṙSi = JSi q̇ (3.29)


ΩSi = JRi q̇ (3.30)

Replacing these relationships into the definition of the kinetic energy in (3.28), results
in the kinetic energy expressed in the generalized coordinates:
nb
!
1 T X 
T (q, q̇) = q̇ JTSi mJSi + JTRi ΘSi JRi q̇ (3.31)
2 i=1
| {z }
M(q)

The underlined quantity M(q) is defined as the generalized mass matrix or generalized
inertia matrix, and as we will see in the continuation, is solely responsible for gener-
ating both the inertial and non-linear centrifugal and Coriolis force terms in the final
EoM.

66
3.4.3 Potential Energy
In typical mechanics problems, there are two basic contributions to the potential energy
in a system; masses contributing via their gravitational potential energy, and elastic
elements via the energy stored when deflected from rest.
In the first case, each body Bi holds potential energy due to the effect of the gravita-
tional potential field of the earth. Although not linear on large scales, in most cases we
approximate its effect on bodies via a uniform and unidirectional potential field defined
along the unit vector I eg acting through the CoM of each body. Knowing the position
rSi of the CoM of each body This then allows us to compute the potential energy of
each body as:
Fgi = mi g I eg (3.32)
nb
X
Ug = − rTSi Fgi (3.33)
i=1

Note that the zero energy level can be arbitrarily chosen. In addition to gravitational po-
tential energy contributions, many applications involve elastic elements such as springs
or other compliant components. If such a element Ej can be reasonably approximated
to have a linear deflection-to-force or deflection-to-torque relationship, then the poten-
tial energy contribution can be described by the following relation:

1 2
U Ej = kj (d(q) − d0 ) (3.34)
2
Where d(q) expresses the instantaneous configuration (i.e. deflection) of the elastic
element as a function of generalized coordinates. d0 is defined as the rest configuration
where no forces are exerted by the element, e.g., the unsprung length of a linear spring.
Note: Spring forces may equivalently be considered as external forces whose mag-
nitude and possibly direction depends on the generalized coordinates q. The formalism
is similar to introducing actuator torques.

3.4.4 External Forces


All external forces that do work on the system are accounted by the generalized force
vector τ . Please refer to section 3.5.3 for a derivation.

3.4.5 Additional Constraints


The final case we have to account for is that of when additional constraints are imposed
on the system. When we define generalized coordinates, in most cases, we aim to
describe the system using a minimal set of coordinates so that we can express the the
DoFs which we can control or at least measure.
Consider the case presented in section 2.10.4, when contact constraints are imposed on
a floating-based system. These constraints may not be active at all times, e.g., as in the
case of a walking robot or a ball bouncing on a table. Such a contact constraint cannot,
in general, be explicitly accounted for when we defining the vector q since it may not
always apply on the system. The most common way to overcome this to use Lagrange
Multipliers, usually denoted by a vector λ. Constraints which are explicitly defined
using velocities, are known as motion constraints and are usually expressed as linear

67
combinations of the general velocities:
nq
X
ak,j (q) q̇k + a0,j (t), j = 1, 2..nc,m (3.35)
k=1

For nc,m motion constraints, we can stack all ak,j (q) coefficients to a motion constraint
Jacobian matrix Jm :
 
a1,1 . . . a1,nc,m
 
Jm =  ... ...
..
.  (3.36)
anq ,1 ... anq ,nc,m
On the other hand, there are situations where constraints will be defined as functions
of the configuration, i.e. as scalar functions fj (q) : Rnq → R, and are known as
configuration constraints. In these cases, computing the gradient of such a function
w.r.t the generalized coordinates results in the constraint Jacobian matrix described in
section 2.10.4.
In total, incorporating these constraints results in a description of the constrained
EoM, since the additional constraints being applied for by the parameters λ are not
account for in the definition of q. Thus the final EoM, are derived using the so-called
Constrained Euler-Lagrange (CEL) equation, also known as the Euler-Lagrange of the
first kind:
     T
d ∂L ∂L T ∂fc
− + Jm λ m + λc = τ (3.37)
dt ∂ q̇ ∂q ∂q
Where λm ∈ Rnc,m is the vector of Lagrangian multipliers for the motion con-
straints, while λc ∈ Rnc,c is the vector of Lagrangian multipliers for the configuration
constraints.
In conclusion, we note that it should be clear why this method is also referred to
as being energy-based, as the equations of motion are derived from a scalar energy
function, and thus, we did not make explicit use of any Cartesian vector quantities. All
the kinematic information is encoded into the definition of the generalized coordinates,
which are then used to define the scalar Lagrangian, and then applied to (3.27) in order
to produce the EoM. This is in stark contrast to Newton-Euler methods which explicitly
deal with Cartesian vector quantities.

3.5 Projected Newton-Euler Method


3.5.1 Introduction
The final method we will describe for deriving EoM of multi-body systems is that
which makes use of the Projected Newton-Euler (proNEu) formulation. Essentially,
this method combines the classical Newton-Euler equation for dynamic equilibrium
in Cartesian coordinates, with the constraint compliant Lagrange formulation using
generalized coordinates. In fact, as we will see in the continuation, one can derive the
PNE equations from both of the other two formulations.
Let us briefly recapitulate what the resulting EoM using proNEu will look like:

M (q) q̈ + b (q, q̇) + g (q) = τ + JTc Fc (3.38)

68
3.5.2 Deriving Generalized Equations of Motion
As outlined in section 3.2.4, the use of generalized coordinates allows to describe the
motion and virtual displacements of bodies in ways which are consistent with the ap-
plicable constraints. Thus, we can rewrite principles of linear and angular momentum
applied to each body Bi as:
   
ṗSi maSi
=
ṄSi ΘSi ΨSi + ΩSi × ΘSi ΩSi
    (3.39)
mJSi mJ̇Si q̇
= q̈ +
ΘSi JRi ΘSi J̇Ri q̇ + JRi q̇ × ΘSi JRi q̇
Furthermore, using the expressions for virtual displacements of generalized coordi-
nates, we can rewrite the principle of virtual work as follows:
Xnb  T      
δrSi ṗSi Fext,i δrs
0 = δW = − ∀ , (3.40)
δΦSi ṄSi Text,i δΦSi consistent
i=1
nb 
X   
T ṗSi Fext,i
= δq − ∀δq (3.41)
ṄSi Text,i
i=1

Combining (3.39) and (3.41) directly yields:


Xnb  T   T   T 
JSi mJSi JSi mJ̇Si q̇ JPi Fext,i
0= q̈+ −
JRi ΘSi JRi JR i ΘSi J̇R q̇ + JRi q̇ × ΘSi JRi q̇ JR i Text,i
i=1
(3.42)
A final re-grouping of terms results in the components of (3.38):
nb
X 
M= JTSi mJSi + JTRi ΘSi JRi (3.43)
i=1
Xnb   
b= JTSi mJ̇Si q̇ + JTRi ΘSi J̇Ri q̇ + ΩSi × ΘSi ΩSi (3.44)
i
i=1
Xnb
g= −JTSi Fg,i (3.45)
i=1

Again, we must stress the importance of selecting an appropriate choice of coordi-


nate frame to express all Cartesian vectors. We apply the same reasoning as we did in
computing the kinetic energy in section 3.4.2, where, we stated that both angular and
linear velocities must be absolute, i.e., measured w.r.t an. inertial frame. It does not
matter then if linear and angular are expressed differently, however, an careful selection
can simplify the final expressions:
nb
X
T

M= A JSi · m · A JSi + B JTRi · B ΘSi · B JRi (3.46)
i=1
Xnb   
T T
b= A JSi · m · A J̇Si · q̇ + B JRi · B ΘSi · B J̇Ri · q̇ + B ΩSi × B ΘSi · B ΩSi
i=1
(3.47)
nb
X 
g= −A JTSi A Fg,i (3.48)
i=1

69
3.5.3 External Forces & Actuation
As we have seen in section 3.4.4, in order to account for external forces in EoM ex-
pressed in generalized coordinates, we can project Cartesian forces and torques onto
the space of generalized coordinates using appropriate Jacobian matrices. The latter
project the effect of the forces onto the subspace of the generalized coordinates on
which work is done. We will now consider how to effectively account for all acting
forces and torques on a multi-body system.
Lets assume we know that nf,ext external forces Fj , j ∈ {1, . . . , nf,ext } and
nm,ext external torques Tk , k ∈ {1, . . . , nm,ext } act on the system (on any body). The
generalized forces τ F,ext due to the external forces can be calculated in the following
way: Assume the Cartesian force Fj acts on point Pj and the translational Jacobian of
that point is JP,j,trans . Then the generalized forces are computed as
nf,ext
X
τ F,ext = JP,j T Fj . (3.49)
j=1

Similarly, the generalized forces τ T,ext can be evaluted by projecting each Cartesian
torque by the rotational Jacobian of the body they act on, which we shall call JB,k,rot :
nm,ext
X
τ T,ext = JR,k T Text,k . (3.50)
k=1

Finally, the contributions of external forces and torques can simply be added as they
are both represented in the space of generalized coordinates:

τ ext = τ F,ext + τ T,ext (3.51)

For the special case of actuator forces or torques that act between two body links,
we need only consider the kinematic relations defined between those two (successive)
body links. Thus, an actuator acting between body links Bk−1 and Bk , imposes a
force Fa,k and/or torque Ta,k on both equally and in opposite directions, i.e., action-
reaction. What thus need to compute are the Jacobian matrices to appropriately project
onto the dimensions of q.
To this end, we recall that Jacobian matrices, when expressed in the same refer-
ence frame, can be simply added or subtracted, and thus having computed JSk−1 , JSk ,
JRk−1 , and JRk from our previous analysis of the kinematics, we can compute the
contribution of the actuators to the generalized forces as:
T T
τ a,k = JSk − JSk−1 Fa,k + JRk − JRk−1 Ta,k (3.52)

In the most simple, and in fact also the most common, case of an actuator acting in
the direction of a generalized coordinate qj , the difference between the Jacobian at the
point of action and reaction multiplied with the force or torque provides the single entry
in the generalized force vector τj . Thus, the vector of total external generalized forces
is simply a combination of the aforementioned parts, accounting for nA joint actuators
and nB body links:
nA
X
τ = τ a,k + τ ext (3.53)
k=1

Comments:

70
• The translational Jacobian of an arbitrary point on a body can be obtained by
starting with the translational Jacobian of the COM of that body and applying
(2.154).

• Alternatively, one may transform all forces that do not act through the COM of
a body into an equivalent force/moment pair which allows usage of the COM
translational and rotational Jacobians.
• Actuator forces/torques are no different to any other external forces/torques ex-
cept that both the torque/force and its reaction act on the system.

3.6 Summary and Relation between Methods


When looking at three methods, we can identify
• All need definition of generalized coordinates
• All of them need Jacobians of CoGs
• Evaluate one or the other equation

71

You might also like