Sei sulla pagina 1di 34

Nonholonomic Constraints

Examples

Basilio Bona

DAUIN – Politecnico di Torino

July 2009

B. Bona (DAUIN) Examples July 2009 1 / 34


Example 1

 T
Given qT = x y check that the constraint

dx dy
φ(q) = (2x + sin y − ye −x ) + (x cos y + cos y + e −x ) =0
dt dt
is holonomic.
We have, by inspection

a1 (q) = 2x + sin y − ye −x a2 (q) = x cos y + cos y + e −x

B. Bona (DAUIN) Examples July 2009 2 / 34


We have to test the following conditions

∂a1 (q) ∂a1 (q) ? ∂a2 (q) ∂a2 (q)


≡ = ≡
∂y ∂q2 ∂q1 ∂x
but since
∂a1 (q)
= cos y − e −x
∂y
∂a2 (q)
= cos y − e −x
∂x
the two terms are equal, and the constraint is holonomic
Z
φ(q) = x 2 + x sin x + ye −x + sin y = c

i.e.,
x 2 + x sin x + ye −x + sin y − c = 0

B. Bona (DAUIN) Examples July 2009 3 / 34


Example 2
 T
Given qT = x y θ , check that the constraint

ẋ sin θ − ẏ cos θ = 0
 
  dx
sin θ − cos θ 0 dy  = 0

is nonholonomic.
Computing the mixed partial derivative we obtain

∂a1 (q) ∂a1 (q)


=0 = cos θ
∂y ∂θ
∂a2 (q) ∂a2 (q)
=0 = − sin θ
∂x ∂θ
∂a3 (q) ∂a3 (q)
=0 =0
∂x ∂y

B. Bona (DAUIN) Examples July 2009 4 / 34


Hence the constraint is nonholonomic, since
∂a1 (q) ∂a2 (q)
=
∂y ∂x
∂a1 (q) ∂a3 (q)
6=
∂θ ∂x
∂a2 (q) ∂a3 (q)
6=
∂θ ∂y

Using the integrating factor approach, we have to compute the terms in


∂µa1 ∂µ ∂µa2 ∂µ
= sin q3 = − cos q3
∂q2 ∂q2 ∂q1 ∂q1
∂µa1 ∂µ ∂µa3
= sin q3 + µ cos q3 = 0
∂q3 ∂q3 ∂q1
∂µa2 ∂µ ∂µa3
= − cos q3 µ sin q3 = 0
∂q3 ∂q3 ∂q2

B. Bona (DAUIN) Examples July 2009 5 / 34


and write the system:
∂µ ∂µ
sin q3 = − cos q3
∂q2 ∂q1
∂µ
sin q3 = −µ cos q3
∂q3
∂µ
cos q3 = µ sin q3
∂q3
∂µ
Squaring and adding the two last equations yields = ±µ; substitution
∂θ
in the system above gives

µ cos θ = µ sin θ
µ sin θ = −µ cos θ

Since the only possible solution is µ = 0, the constraints are nonholonomic.

B. Bona (DAUIN) Examples July 2009 6 / 34


Example 3

Figure: Example of nonholonomic constrained system: a disk rotating on a plane


without sliding.

B. Bona (DAUIN) Examples July 2009 7 / 34


The previous Figure represents a rigid wheel, with radius ρ and negligible
thickness, rolling on a plane πc with a single contact point Oc (t), that
changes in time according to the wheel motion.
The plane πr of the wheel is orthogonal to the axis of the wheel, described
by the unit vector jr . This plane forms an angle α(t) wrt the normal of the
plane πc , that, for simplicity is horizontal.
The plane πr forms an angle β(t) wrt to a conventional direction on πc ,
e.g., the direction of the unit vector i0 of the fixed reference frame
R0 (i0 , j0 , k0 ). This angle may vary with time.
The motion constraint implies in the first place that the contact point Oc
must in any circumstance belong to πc (no jumps allowed).

B. Bona (DAUIN) Examples July 2009 8 / 34


In the second place, the non sliding motion implies two condition:
(Transversal sliding) the impossibility for the wheel to move
transversally; the wheel velocity has no components along the unit
vector jc on πc .
(Longitudinal sliding) the wheel displacement d(t) on the plane along
ic must always be equal to the length ρθ(t) of the arc under θ. If not
so, a sliding or slipping condition arise: the wheel moves, but does
not rotate, or the wheel rotates but does not move.
These conditions imply that the instantaneous velocity of Oc or Or must
be aligned with the unit vector i′ , by construction itself aligned with ic .
Rotation around kr are allowed, since the rotation takes place around an
ideal geometric point Oc , that do not imply a sliding effect.

B. Bona (DAUIN) Examples July 2009 9 / 34


In conclusion, the wheel translates along a local direction given by i′ = ic
and rotates around the instantaneous rotation axis kr = k′
The homogeneous matrix T0r between the fixed reference frame R0 and
the local reference frame Rr is
from R0 to Rc : T0c = Trasl(dc (t)) Rot(−k, β(t)), where
 T
dc = xc yc 0 represents Oc in R0 :
from Rc to Rr : Tcr = Rot(i, α(t)) Trasl(ρ) Rot(j, θ(t)), where
 T
ρ= 0 0 ρ
Without constraints, the generalized coordinates describing the system are
the three components of dc (t) and the three angles α(t), β(t), e θ(t):
 
qT = xc yc zc α β θ

B. Bona (DAUIN) Examples July 2009 10 / 34


It seems convincing that the planar motion reduces the dof from six to
five, considering the additional constraint

dc · k0 = 0; → q3 (t) = 0, ∀t

Therefore the new generalized coordinates are


 
qTc = xc yc α β θ

The non sliding/slipping condition generates a relation between the


contact point velocity and the wheel velocity; when we represent all the
vectors in a common frame R0 , we have:

ḋc (t) = ρθ̇(t)ic

B. Bona (DAUIN) Examples July 2009 11 / 34


Using the quantities in Figure, we write
   
cβ d xc 
ρθ̇(t) −sβ  − yc = 0
0 dt 0

or

dxc = ρθ̇(t)cβ dt
dyc = −ρθ̇(t)sβ dt

hence
dxc 1
=−
dyc tan β

B. Bona (DAUIN) Examples July 2009 12 / 34


Replacing the infinitesimal displacements with the virtual ones, we have

tan β δxc + δyc = 0 or sin β δxc + cos β δyc = 0 (1)

i.e.,  
δq1
δq 
  2

sin q4 cos q4 0 0 0 δq3  = 0
δq 
4
δq5
This represent a constraint in Pfaffian form with
a1 = sin β, a2 = cos β, a3 = a4 = a5 = 0. Computing the partial derivatives
we have
∂a1 (q) ∂a4 (q) ∂a2 (q) ∂a4 (q)
= cos q4 ; = 0; = − sin q4 ; =0
∂q4 ∂q1 ∂q4 ∂q2

B. Bona (DAUIN) Examples July 2009 13 / 34


It appears immediately that equality relations among partial derivatives are
not satisfied, so the constrain is non holonomic.
We could ask how many degrees of freedom has the system; relation (1)
introduces a constraint that links the virtual displacement δxc to δyc .
Recalling the dof’s definition as the number of virtual displacements
independent and complete, the system has only four of such
displacements, i.e., δxc , δα, δβ e δθ, while δyc is connected to δxc by (1)
and δzc = 0 due to the plane motion.
The accessibility space however has dimension 5, since, it is possible, with
a suitable motion, to bring the state from any initial point q0 ∈ R5 to any
final point qf ∈ R5 .

B. Bona (DAUIN) Examples July 2009 14 / 34


Example: the unicycle
The unicycle is illustrated in Figure 2.

Figure: The unicycle scheme.

B. Bona (DAUIN) Examples July 2009 15 / 34


The unicycle generalized coordinates are
 T  T
q = q1 q2 q3 = x y θ
As seen in a previous example, the non sliding motion on the plane
determines the following single (m = 1) constraint
 
  q1
ẋsθ − ẏ cθ = sθ −cθ 0 q2  = Aq = 0
| {z } q3
A
Now we compute the vector fields forming a basis of the null space of A;
the null space has dimension n − m = 2; moreover, since the null space
conditions are expressed by the following equation
 
  g11 g21   
sθ −cθ 0 g12 g22  = sθ −cθ 0 g1 g2
g13 g23
we obtain    
cθ 0
g 1 =  sθ  ; g2 = 0
0 1
B. Bona (DAUIN) Examples July 2009 16 / 34
Hence the kinematic model of the unicycle becomes
     
ẋ cθ 0
ẏ  = Gu = sθ  u1 + 0 u2
θ̇ 0 1

Physical considerations allows to define the following inputs: u1 = v ,


where v is the driving velocity of the unicycle, obtained as the product of
the wheel radius ρ and the wheel angular speed α̇, and u2 = ω, where
ω = θ̇ is the steering velocity around the vertical axis.

B. Bona (DAUIN) Examples July 2009 17 / 34


The Lie bracket of the two input vector fields is
     
∂g2 ∂g1 0 0 0 0 0 −sθ sθ
[g1 , g2 ] = g − g = 0 0 0 g1 − 0 0 cθ  g2 = −cθ 
∂q 1 ∂q 2 0 0 0 0 0 0 0

We can see that [g1 , g2 ] ≡ g3 is linearly independent from g1 and g2 . We


can also compute the next term [g1 , [g1 , g2 ]] as
       
∂g3 ∂g 0 0 cθ 0 0 0 −s θ sθ cθ
[g1 , g3 ] = g1 − 1 g3 = 0 0 sθ  0−0 0 cθ  cθ  =  sθ 
∂q ∂q 0 0 0 1 0 0 0 0 0

that is no more independent from the previous fields.

B. Bona (DAUIN) Examples July 2009 18 / 34


If we consider the iterative procedure ∆1 , ∆2 , · · · , ∆κ = ∆κ+1 to obtain
the involutive closure, i.e, the accessibility distribution ∆A , and recall that
κ is called the degree of nonholonomy, we have

∆1 = ∆ = span {g1 , g2 }
∆2 = span {g1 , g2 , [g1 , g2 ]}
∆3 = span {g1 , g2 , [g1 , g2 ], [g1 , [g1 , g2 ]]} = ∆2

Hence ∆2 = ∆3 , the accessibility distribution ∆A is

∆A = ∆2 = span {g1 , g2 , [g1 , g2 ]}

with dim ∆A = 3 and κ = 2.

B. Bona (DAUIN) Examples July 2009 19 / 34


Chained form: the unicycle
Recalling the kinematic model of the unicycle
     
ẋ cθ 0
ẏ  = Gu =  sθ  v + 0 ω
θ̇ 0 1
with the following coordinates change
z1 = θ; z2 = xcθ + y sθ ; z3 = xsθ − y cθ
and the following input change
v ≡ u1 = v2 + z3 v1
ω ≡ u2 = v1
we obtain the chained form
ż1 = v1
ż2 = v2
ż3 = z2 v1
Notice that the new coordinates z2 , z3 give the position of the unicycle in
a reference frame that rotates with the robot body.
B. Bona (DAUIN) Examples July 2009 20 / 34
Example: the bicycle
The bicycle is illustrated in Figure 3, where C is the instantaneous rotation
center, θ the body orientation, φ the steering wheel angle, and x, y the
cartesian coordinates of the rear (passive) wheel contact point.

Figure: The bicycle scheme.


B. Bona (DAUIN) Examples July 2009 21 / 34
Possible bicycle generalized coordinates are
 T  T
q = q1 q2 q3 q4 = x y θ φ

The vehicle motion is constrained by the two non-sliding constraints at the


contact points of the posterior and anterior wheels:

ẋa s34 − ẏa c34 = 0


ẋs3 − ẏc3 = 0

where xa , ya are the cartesian coordinates of the anterior wheel, s3 = sin θ,


c3 = cos θ s34 = sin(θ + φ), and c34 = cos(θ + φ). The bicycle body fix
the relation between the position of the two wheels

xa = x + ℓc3 ẋa = ẋ − ℓs3


ya = y + ℓs3 ẏa = ẏ + ℓc3

B. Bona (DAUIN) Examples July 2009 22 / 34


The constrains can be rewritten as

ẋs34 − ẏ c34 − ℓθ̇c4 = 0


ẋs3 − ẏ c3 = 0

The associated A(q) matrix is


 
s3 −c3 0 0
A(q) =
s34 −c34 −ℓc4 0

whose rank is ρ(A) = 2; the null space N (A) dimension


 is ν = n − ρ = 2.
A basis of the null space can be found setting A g1 g2 = 0. Consider
   
g11 g21
g  g   
g1 =  12  g2 =  22  G = g1 g2
g13 g23
g14 g24

B. Bona (DAUIN) Examples July 2009 23 / 34


The condition AG = O gives the following constraints
s3 g11 − c3 g12 = 0 s3 g21 − c3 g22 = 0
s3 g11 − c3 g12 − ℓc4 g13 = 0 s3 g21 − c3 g22 − ℓc4 g23 = 0
Since we have eight unknowns, but only four equations, we apply some
 T
heuristics: we set g2 = 0 0 0 1 and g14 = 0, so we reduce to two
equations in three unknowns.
We can verify that the choice
   
c3 c4 0
s c  0
g1 (q) =  3 4  g2 (q) =  
s4 /ℓ 0
0 1
satisfies the constraints, yielding to the kinematic model of the bicycle
     
ẋ c3 c4 0
ẏ   s3 c4  0
 = u + u
 θ̇  s4 /ℓ 1 0 2
φ̇ 0 1

B. Bona (DAUIN) Examples July 2009 24 / 34


Consider the geometric relations among the command variables, if the
bicycle is driven by the anterior wheel, we set u2 as the steering velocity ω,
while u1 is the anterior driving velocity v . In this case
     
ẋ c3 c4 0
ẏ  s3 c4  0
 =  v +  ω
 θ̇  s4 /ℓ 0
φ̇ 0 1

If, on the contrary, the driving velocity v ′ is applied by the rear wheel, we
have the geometric relation u1 c4 = v ′ , and consequently
           
ẋ c3 c4 0 ẋ c3 0
ẏ  s3 c4   0 ẏ   s3  ′ 0
 = u + ω⇒  θ̇  = s4 /c4 ℓ v + 0 ω

 θ̇  s4 /ℓ 1 0
φ̇ 0 1 φ̇ 0 1

B. Bona (DAUIN) Examples July 2009 25 / 34


Chained form: the bicycle

Assume the rear wheel drive bicycle model


     
ẋ c3 0
ẏ   s3  ′ 0
  =  v +  ω
 θ̇  t4 ℓ 0
φ̇ 0 1

where t4 = tan q4 . Introducing the following coordinates change


1
z1 = x; z2 = sec3 θ tan φ; z3 = tan φ; z4 = y

B. Bona (DAUIN) Examples July 2009 26 / 34


and the following input transformation
v1
v=
cos θ
3 1
ω = − v1 sec θ sin2 φ + v2 cos3 θ cos2 φ
ℓ ℓ
we obtain the chained form
ż1 = v1
ż2 = v2
ż3 = z 2 v1
ż4 = z 3 v1

B. Bona (DAUIN) Examples July 2009 27 / 34


Example: a planar space robot
The planar satellite in Figure 4 consists of a free-flying main body, with two
rotating arms; for simplicity their mass is concentrated at end of the arm.

B. Bona (DAUIN) Figure: The planar satellite scheme.


Examples July 2009 28 / 34
Consider the following generalized coordinates: x, y the position of
center-of-mass (com), θ its orientation wrt a fixed frame, φ1 , φ2 the
orientation of the two arms wrt to the body frame.
Hence  T
q= x y φ1 φ2 θ

Other parameters are: r the distance of the arm revolute joints from com
and ℓ the length of the two arms; M is the main body mass, Γ its inertia
moment wrt to the com, and m are the equal masses of the two arms.
With the usual angle convention (positive if anti-clockwise), the two
masses have coordinates
x1 = x + r cos θ + ℓ cos(θ + φ1 ); y1 = y + r sin θ + ℓ sin(θ + φ1 )
x2 = x − r cos θ − ℓ cos(θ + φ1 ); y2 = y − r sin θ − ℓ sin(θ + φ1 )

B. Bona (DAUIN) Examples July 2009 29 / 34


The Lagrangian function, assuming no gravity, is simply the kinetic energy
1
T = [M(ẋ 2 + ẏ 2 ) + Γ θ̇ 2 + m(ẋ12 + ẏ12 ) + m(ẋ22 + ẏ22 )]
2
but it can also be written in simplified form as
 
φ̇1
1 1  
T = (M + 2m) kẋk2 + φ̇1 φ̇2 θ̇ M φ̇2  ; M ∈ R3×3
2 2
θ̇

where ẋ is the com velocity vector and M is diagonal, with the following
elements mij :

m11 = mℓ2 m12 = 0 m13 = mℓ2 + mr cos φ1


m22 = mℓ m23 = mℓ2 + mr cos φ2
2

m33 = Γ + 2m(r 2 + ℓ2 ) + 2mℓr (cos φ1 + cos φ2 )

We notice that L does not depend on θ, and we can reduce the


 T
generalized coordinates to the following q = φ1 φ2 θ .
B. Bona (DAUIN) Examples July 2009 30 / 34
If the satellite is free-floating and no other generalized force/torque is
applied, and assuming that the satellite com remains in (0, 0) for t ≥ t0 ,
then T reduces to
 
φ̇1
1 
T = φ̇ φ̇2 θ̇ M φ̇2  ; M ∈ R3×3

2 1
θ̇

and the Lagrange equations reduce to


d ∂L ∂L
− =0
∂θ
dt ∂ θ̇ |{z}
=0

∂L
since we know (from Hamilton equations) that is the angular
∂ θ̇
momentum p

B. Bona (DAUIN) Examples July 2009 31 / 34


We have
∂L
p= = m13 φ̇1 + m23 φ̇2 + m33 θ̇
∂ θ̇
If the initial angular momentum is zero, we have the constraint

m13 (q)q̇1 + m23 (q)q̇2 + m33 (q)q̇3 = 0

Since the actuated coordinates are u1 = φ̇1 and u2 = φ̇2 , we have

q̇ = g1 (q)u1 + g2 (q)u2

with    1   
q̇1 0
q̇2  =  0   1 
 m13  u1 +  m23  u2
q̇3 − −
m33 m33

B. Bona (DAUIN) Examples July 2009 32 / 34


It is sufficient to compute
∂m13 ∂m23
=0 =0
∂q2 ∂q1
∂m13 ∂m33
=0 = −2mℓr sin q1
∂q3 ∂q1
∂m23 ∂m33
=0 = −2mℓr sin q2
∂q3 ∂q2
to verify that the constraints are nonholonomic.

B. Bona (DAUIN) Examples July 2009 33 / 34


References

[01] F. Bullo, A.D. Lewis, Geometric Control of Mechanical Systems,


Springer, 2005.
[02] H.K. Khalil, Nonlinear Systems, III Ed. Springer, 2002.
[03] R.M. Murray, Z. Li, S. Sastry, A Mathematical Introduction to
Robotic Manipulation, CRC Press, 1994.
[04] S. Sastry, Nonlinear Systems: Analysis, Stability, and Control,
Springer, 1999.
[05] B. Siciliano, L. Sciavicco, L. Villani, G. Oriolo, Robotics: Modelling,
Planning and Control, Springer, 2009.
[06] Z. Qu, Cooperative Control of Dynamical Systems: Applications to
Autonomous Vehicles, Springer, 2009.

B. Bona (DAUIN) Examples July 2009 34 / 34

Potrebbero piacerti anche