EN530.678 Nonlinear Control and Planning in Robotics Lecture 2: System Models January 29, 2020
EN530.678 Nonlinear Control and Planning in Robotics Lecture 2: System Models January 29, 2020
0.1 Constraints
The configuration space of a mechanical sysetm is denoted by Q and is assumed to be an n-
dimensional manifold, locally isomorphic to Rn (we’ll say exactly what this means in a future
lecture). A configuration is denoted by q ∈ Q.
We first introduce the notion of constraints:
• holonomic (or geometric):
hi (q) = 0, i = 1, . . . , k
restrict possible motions to a n − k dimensional sub-manifold (think hypersurface embedded
in a larger ambient space)
• linear (Pfaffian) nonholonomic (or kinematic):
1
We have
sin θ
a(q) = − cos θ .
0
The feasible velocities are then contained in the null space of A(q) = a(q), i.e.
cos θ 0
null(aT (q)) = span sin θ , 0
0 1
This system starts at configuration q0 = (x0 , y0 , θ0 ) and can reach any desired final configuration
qf = (xf , yf , θf ). The simplest strategy is first to rotate so that the disk points to (xf , yf ), then
move forward until (xf , yf ) is reached, then turn in place until the orientation reaches θf .
Draw a picture of the motion in the the configuration space.
More generally, let us denote the allowed directions of motion by vectors gj , i.e.
ai (q)T gj (q) = 0, i = 1, . . . , k, j = 1, . . . , n − k
or in matrix form
AT (q)G(q) = 0.
The feasible trajectories of the mechanical system are the solutions of
m
X
q̇ = gj (q)vj = G(q)v,
j=1
0.2 Dynamics
How do we obtain ẋ = f (t, x, u) for dynamical systems? We will focus on mechanical systems
with equations of motion derived through a Lagrangian approach, which is often sufficient for most
systems of interest in robotics.
2
The equations of motion in terms of the Lagrangian (i.e.the Euler-Lagrange equations) are given
by
d
∇q̇ L − ∇q L = fext (q, q̇) + B(q)τ,
dt
where B(q) ∈ Rn×m is a matrix mapping from m control inputs to the forces/torques acting on the
generalized coordinates q.
This equation is obtained from Lagrange-d’Alembert variational principle
Z tf Z tf
δ L(q, q̇)dt + [fext (q, q̇) + B(q)τ )]T δq(t) = 0.
t0 t0
where
1
b(q, q̇) = Ṁ (q)q̇ − ∇q (q̇ T M (q)q̇) + ∇q V (q) − fext (q, q̇).
2
The system is written in control form in terms of the state x = (q, q̇) as
q̇ 0
ẋ = f (x) + g(x)u = + u
−M (q)−1 b(q, q̇) M (q)−1 B(q)
Example 2. 2-dof manipulator. Consider a 2 dof-manipulator subject to gravity with the following
parameters:
Description Notation
Length of link #1 l1
Length of link #2 l2
Distance to COM of link #1 lc1
Distance to COM of link #2 lc2
link #1 mass m1
link #2 mass m2
link #1 inertia I1
link #2 inertia I2
gravity acceleration g
The mass matrix is
m1 `2c1 + m2 [l12 + l2c
2 + 2l l cos q ] + I + I 2
1 c2 2 1 2 m2 (lc2 + l1 lc2 cos q2 ) + I2
M (q) = 2 + l l cos q ) + I 2 +I ,
m2 (lc2 1 c2 2 2 m2 lc2 2
For fully actuated manipulator we have B(q) = I. For actuation only at the first joint we have
1 0
B(q) = .
0 0
3
Example 3. Simplified model of a boat in 2D, with two rear propellers. The configuration is
denoted by q = (x, y, θ). The mass matrix is given by
m 0 0
M (q) = 0 m 0 .
0 0 J
which transforms forces from body-fixed to spatial frame. The control martix is
1 1
B(q) = R(θ) 0 0 ,
−r r
where the constant r > 0 denotes the distance between each thruster and central axis.
subject to both A(q)T q̇ = 0 and A(q)T δq(t) = 0, i.e. the variations are restricted as well.
The actual equations take the form
4
where
1
n(q, q̇) = K̇(q)q̇ − ∇q (q̇ T K(q)q̇) + ∇q V (q)
2
The Lagrange multipliers can be eliminated by first noting that
AT (q)G(q) = 0
A standard assumption will be that det(G(q)T S(q)) 6= 0 or that all feasible directions are control-
lable. The final equations are then expressed as
q̇ = G(q)v, (4)
M (q)v̇ + b(q, v) = B(q)τ, (5)
where
That is why often in nonholonomic control we take a as the (virtual) control input, i.e. u ≡ a and
express the control system in terms of the state x = (q, v)
G(q)v 0
ẋ = f (x) + g(x)u = + u.
0 Im
Example 4. Unicycle. The configuration is q = (x, y, θ) with mas m, moment of inertia J, driving
force τ1 , steering force τ2 . The general dynamic model
5
We have G(q) = S(q), GT (q)S(q) = I2 , and GT (q)B Ġ(q) = 0, from which we obtain the reduced
mass matrix and bias
m 0
M (q) = , b(q, q̇) = 0.
0 J
The complete equations of motion are
ẋ = cos θv1
ẏ = sin θv1
θ̇ = v2
mv̇1 = τ1
J v̇2 = τ2 ,
ẋ = f (x) + g(x)τ.
Example 5. Simple car models. A common way to model a car for control purposes is to employ
the bycycle model, i.e. collapse each pair of wheels to a single wheel at the center of their axle.
The generalized coordinates are
q = (x, y, θ, φ),
where φ is the steering angle. We have the constraints