nonholonomic constraints in roboticstorres/wp-content/uploads/2018/02/nonholono… · leonardo a....

34
Classification and Examples Robot Kinematics: Pfaffian Constraints Dynamics with Nonholonomic Pfaffian Constraints Nonholonomic Constraints in Robotics Leonardo A. B. Torres June, 2016. Leonardo A. B. Torres Nonholonomic Constraints in Robotics

Upload: others

Post on 25-Aug-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Nonholonomic Constraints in Roboticstorres/wp-content/uploads/2018/02/nonholono… · Leonardo A. B. Torres June, 2016. Leonardo A. B. Torres Nonholonomic Constraints in Robotics

Classification and Examples Robot Kinematics: Pfaffian Constraints Dynamics with Nonholonomic Pfaffian Constraints

Nonholonomic Constraints in Robotics

Leonardo A. B. Torres

June, 2016.

Leonardo A. B. Torres

Nonholonomic Constraints in Robotics

Page 2: Nonholonomic Constraints in Roboticstorres/wp-content/uploads/2018/02/nonholono… · Leonardo A. B. Torres June, 2016. Leonardo A. B. Torres Nonholonomic Constraints in Robotics

Classification and Examples Robot Kinematics: Pfaffian Constraints Dynamics with Nonholonomic Pfaffian Constraints

Section 1

Classification and Examples

Leonardo A. B. Torres

Nonholonomic Constraints in Robotics

Page 3: Nonholonomic Constraints in Roboticstorres/wp-content/uploads/2018/02/nonholono… · Leonardo A. B. Torres June, 2016. Leonardo A. B. Torres Nonholonomic Constraints in Robotics

Classification and Examples Robot Kinematics: Pfaffian Constraints Dynamics with Nonholonomic Pfaffian Constraints

Constraints in Mechanical Systems

Constraints are algebraic and/or differential relations that were notincluded in the Robot canonical dynamical model, and that must besatisfied by ~q(t) and ~q(t), during the temporal evolution of themechanism. They can be categorized as:

1 Reonomic constraints: depend explicitly on time t.

φr(t, ~q, ~q) = 0.

2 Scleronomic constraints: do not depend explicitly on time.

φe(~q, ~q) = 0.

Our emphasis will be on scleronomic contraints.

Leonardo A. B. Torres

Nonholonomic Constraints in Robotics

Page 4: Nonholonomic Constraints in Roboticstorres/wp-content/uploads/2018/02/nonholono… · Leonardo A. B. Torres June, 2016. Leonardo A. B. Torres Nonholonomic Constraints in Robotics

Classification and Examples Robot Kinematics: Pfaffian Constraints Dynamics with Nonholonomic Pfaffian Constraints

Scleronomic Constraints: types

1 Holonomic contraints:h(~q) = 0;

with h(·) : Q → R. A set of p holonomic constraints is equivalent tothe determination of a nq − p dimensional manifold M in theConfiguration Space; i.e. M ⊂ Q, where nq is the dimension of Q.

2 Nonholonomic constraints:

r(

~q, ~q)

= 0,

with r(·, ·) : Q× TQ → R. Such constraints do not necessarilyimply that there will be a manifold to which the Robot configuration~q is confined during all the time. On the other hand, this constraintmeans that it should always have a very specific relation between~q(t) and the possible generalized velocities ~q(t) at each time instantt.

Leonardo A. B. Torres

Nonholonomic Constraints in Robotics

Page 5: Nonholonomic Constraints in Roboticstorres/wp-content/uploads/2018/02/nonholono… · Leonardo A. B. Torres June, 2016. Leonardo A. B. Torres Nonholonomic Constraints in Robotics

Classification and Examples Robot Kinematics: Pfaffian Constraints Dynamics with Nonholonomic Pfaffian Constraints

Holonomic Constraints in Robotics

In principle, all holonomic constraints should have already beenincluded in the description of the Configuration Space Q, such that~q becomes an independent variable to be chosen arbitrarily.

That is, to have additional holonomic constraints points to the factthat something was not done right in the determination of Q.

Example: A Robot moving in a circular ring with radius a. Suppose one

has chosen Q ≡ R× R, i.e. ~q = [x y]⊤.

x

y

θ

h(~q) = 0 ⇒ x2 + y2 − a2 = 0. In this case,the true Configuration Space has dimension1, i.e. ~q = θ ∈ [0, 2π) and Qtrue ≡ S1.

Leonardo A. B. Torres

Nonholonomic Constraints in Robotics

Page 6: Nonholonomic Constraints in Roboticstorres/wp-content/uploads/2018/02/nonholono… · Leonardo A. B. Torres June, 2016. Leonardo A. B. Torres Nonholonomic Constraints in Robotics

Classification and Examples Robot Kinematics: Pfaffian Constraints Dynamics with Nonholonomic Pfaffian Constraints

Holonomic Constraints in Robotics

Sometimes, due to the problem complexity, a constraint initially thoughtto be nonholonomic reveals to be instead a holonomic one. In this case,one says that the constraint is integrable. For example:

r(

~q, ~q)

=d

dt(h(~q)) = 0,

=∂h

∂q1q1 +

∂h

∂q2q2 + . . .+

∂h

∂qnq

qnq= 0; → Known constraint.

∴ h (~q)− constant = 0 → Hidden holonomic constraint.

Example (cont.): in the previous example of a robot confined to acircular ring, the following could have been found:

xx + yy = 0.

Leonardo A. B. Torres

Nonholonomic Constraints in Robotics

Page 7: Nonholonomic Constraints in Roboticstorres/wp-content/uploads/2018/02/nonholono… · Leonardo A. B. Torres June, 2016. Leonardo A. B. Torres Nonholonomic Constraints in Robotics

Classification and Examples Robot Kinematics: Pfaffian Constraints Dynamics with Nonholonomic Pfaffian Constraints

Nonholonomic Constraints in Robotics

Usually nonholonomic constraints are associated with:

Rolling without slipping condition. E.g.: unicycle with zero lateralspeed.

(q1,q2) q3

~q = [x y θ]⊤

Constraint: yx= senθ

cos θ ⇒xsenθ − y cos θ = 0.

Angular momentum conservation. E.g.: jumping robot.

q3

q2

q1 Assuming zero initial angular momentum,one has that: Iq1 + m(q3)

2(q1 + q2) = 0,with I the moment of inertia and m the leg’smass concentrated at the foot.

Leonardo A. B. Torres

Nonholonomic Constraints in Robotics

Page 8: Nonholonomic Constraints in Roboticstorres/wp-content/uploads/2018/02/nonholono… · Leonardo A. B. Torres June, 2016. Leonardo A. B. Torres Nonholonomic Constraints in Robotics

Classification and Examples Robot Kinematics: Pfaffian Constraints Dynamics with Nonholonomic Pfaffian Constraints

Pfaffian Constraints

Commonly found nonholonomic constraints in Robotics have a morespecific structure characterizing them as Pfaffian constraints:

r(

~q, ~q)

= [a(~q)]⊤~q = 0,

where a(~q) : Q 7→ Rnq . A set of p Pfaffian constraints can be combined

in the same mathematical expression as

A(~q)~q = 0, (1)

such that

A(~q) =

a⊤1 (~q)a⊤2 (~q)

...a⊤p (~q)

.

Leonardo A. B. Torres

Nonholonomic Constraints in Robotics

Page 9: Nonholonomic Constraints in Roboticstorres/wp-content/uploads/2018/02/nonholono… · Leonardo A. B. Torres June, 2016. Leonardo A. B. Torres Nonholonomic Constraints in Robotics

Classification and Examples Robot Kinematics: Pfaffian Constraints Dynamics with Nonholonomic Pfaffian Constraints

Pfaffian Constraints and Virtual Work

Assuming Pfaffian constraints one can show that the forces associatedwith their existence do not perform virtual work. To see this, considerthat

~τ const. = A⊤(~q)~λ (2)

is the total generalized constraint force, which is formed by the linearcombination of vector fields associated with each one of the Pfaffianconstraints:

~τ const. = λ1a1(~q) + λ2a2(~q) + . . .+ λpap(~q);

with ~λ = [λ1 λ2 . . . λp]⊤ the vector of Lagrange Multipliers.

Leonardo A. B. Torres

Nonholonomic Constraints in Robotics

Page 10: Nonholonomic Constraints in Roboticstorres/wp-content/uploads/2018/02/nonholono… · Leonardo A. B. Torres June, 2016. Leonardo A. B. Torres Nonholonomic Constraints in Robotics

Classification and Examples Robot Kinematics: Pfaffian Constraints Dynamics with Nonholonomic Pfaffian Constraints

Pfaffian Constraints and Virtual Work

The Virtual Work δW done by ~τ const. will be

δW =[~τ const.

]⊤δ~q =

[

~λ⊤A(~q)]

δ~q.

Assuming that δ~q = ~q δt, one has that

[

~λ⊤A(~q)]

δ~q = ~λ⊤

✟✟✟✟✯

0[

A(~q)~q]

δt = 0.

And, therefore, constraint forces given by (2) do not perform work for the

special variation δ~q = ~q δt that corresponds to the actual movement.

Leonardo A. B. Torres

Nonholonomic Constraints in Robotics

Page 11: Nonholonomic Constraints in Roboticstorres/wp-content/uploads/2018/02/nonholono… · Leonardo A. B. Torres June, 2016. Leonardo A. B. Torres Nonholonomic Constraints in Robotics

Classification and Examples Robot Kinematics: Pfaffian Constraints Dynamics with Nonholonomic Pfaffian Constraints

Section 2

Robot Kinematics: Pfaffian Constraints

Leonardo A. B. Torres

Nonholonomic Constraints in Robotics

Page 12: Nonholonomic Constraints in Roboticstorres/wp-content/uploads/2018/02/nonholono… · Leonardo A. B. Torres June, 2016. Leonardo A. B. Torres Nonholonomic Constraints in Robotics

Classification and Examples Robot Kinematics: Pfaffian Constraints Dynamics with Nonholonomic Pfaffian Constraints

Kinematic Modelling

By considering Pfaffian constraints,

A(~q)~q = 0;

one can see that the generalized velocity ~q is a vector belonging to a setcharacterized by the property that every vector in this set, whenpre-multipled by A(~q), results in the zero vector. By definition such set isthe so-called Null Space or Kernel of the matrix A(~q):

N (A(~q)) = {~x ∈ Rnq ;A(~q)~x = 0} ,

~q ∈ N (A(~q)) .

N (A(~q)) is a linear subspace, and therefore there exists a vector basisfrom which every vector in this set can be generated. That is, N (A(~q))corresponds to the linear combination of vector fields gj(~q).

Leonardo A. B. Torres

Nonholonomic Constraints in Robotics

Page 13: Nonholonomic Constraints in Roboticstorres/wp-content/uploads/2018/02/nonholono… · Leonardo A. B. Torres June, 2016. Leonardo A. B. Torres Nonholonomic Constraints in Robotics

Classification and Examples Robot Kinematics: Pfaffian Constraints Dynamics with Nonholonomic Pfaffian Constraints

Kinematic Modelling

By assuming that the set of p < nq Pfaffian constraints is a linearlyindependent set of constraints, the Image of the matrix A(~q) ∈ R

p×nq

will have dimension p, and the N (A(~q)) will be m = nq − p dimensional.

Therefore, every generalized velocity vector ~q satisfying the Pfaffianconstraints can be written as

~q = g1(~q)u1 + g2(~q)u2 + . . .+ gm(~q)um ⇒

~q = G(~q)~u, (3)

with ~u = [u1 u2 . . . um]⊤ a vector of real numbers to be determined;and gj(~q) : Q → TQ, j = 1, 2, . . . ,m, are vector fields (columns ofG(~q)), such that:

A(q)gj(~q) = 0, j = 1, 2, . . . , nq − p ⇒ A(~q)G(~q) = 0

Leonardo A. B. Torres

Nonholonomic Constraints in Robotics

Page 14: Nonholonomic Constraints in Roboticstorres/wp-content/uploads/2018/02/nonholono… · Leonardo A. B. Torres June, 2016. Leonardo A. B. Torres Nonholonomic Constraints in Robotics

Classification and Examples Robot Kinematics: Pfaffian Constraints Dynamics with Nonholonomic Pfaffian Constraints

Kinematic Modelling – Example

Consider a unicycle where one can arbitrarily set the translational speed u1 andalso the rotational speed u2. The nonholonomic constraint is given by

[

senθ − cos θ 0]

x

y

θ

= 0.

Notice that dim {N (A(~q))} = 3− 1 = 2. Therefore, it is possible to find 2Linearly Independent (L.I.) vector fields g1(~q) and g2(~q), which are a basis forthe Null Space of A(~q), such that A(~q)g1(~q) = 0 and A(~q)g2(~q) = 0. Forexample:

x

y

θ

=

cos θ 0senθ 00 1

[

u1

u2

]

.

Leonardo A. B. Torres

Nonholonomic Constraints in Robotics

Page 15: Nonholonomic Constraints in Roboticstorres/wp-content/uploads/2018/02/nonholono… · Leonardo A. B. Torres June, 2016. Leonardo A. B. Torres Nonholonomic Constraints in Robotics

Classification and Examples Robot Kinematics: Pfaffian Constraints Dynamics with Nonholonomic Pfaffian Constraints

Trajectory Planning × Underactuated Systems

Even when only the kinematic model of the Robot withnonholonomic constraints is considered; i.e.

~q = G(~q)~u,

with A(~q)G(~q) = 0; it is a nontrivial task to design appropriatecontrol actions ~u that will drive the Robot from an arbitrary initialconfiguration ~qstart to a final configuration ~qgoal.

Since the dimension of G(~q) is m = nq − p (with m the number oflinearly independent columns of G(~q), and p the number ofnonholonomic Pfaffian constraints), the above system will alwayshave a number of control variables smaller than the number ofdegrees of freedom nq, i.e. dim{~u} = m < nq, and therefore thesystem will be underactuated.

Leonardo A. B. Torres

Nonholonomic Constraints in Robotics

Page 16: Nonholonomic Constraints in Roboticstorres/wp-content/uploads/2018/02/nonholono… · Leonardo A. B. Torres June, 2016. Leonardo A. B. Torres Nonholonomic Constraints in Robotics

Classification and Examples Robot Kinematics: Pfaffian Constraints Dynamics with Nonholonomic Pfaffian Constraints

Brockett’s Theorem

Theorem

Let f(~x, ~u) be a smooth function, with ~x ∈ Rnq and ~u ∈ R

m.

~x = f(~x, ~u)

is a system that can be rendered Lyapunov stable by means of an

appropriate state feedback control strategy, which is smooth and

time-invariant, i.e. u = κ(~x). In other words, the point ~x = 0, for ~u = 0,is a stable equilibrium point of

~x = f(~x, κ(~x)) ≡ fκ(~x).

In this case, necessarily, the mapping f(~x, ~u) 7→ Rnq should have the

following property: for every point ~x ∈ Vf , with Vf a neighborhood of

~x = 0, there should be a corresponding pair (~x, ~u) ∈ V , with V a

neighborhood of (0, 0), such that ~x = f(~x, ~u).Leonardo A. B. Torres

Nonholonomic Constraints in Robotics

Page 17: Nonholonomic Constraints in Roboticstorres/wp-content/uploads/2018/02/nonholono… · Leonardo A. B. Torres June, 2016. Leonardo A. B. Torres Nonholonomic Constraints in Robotics

Classification and Examples Robot Kinematics: Pfaffian Constraints Dynamics with Nonholonomic Pfaffian Constraints

Brockett’s Theorem – Consequence

From Brockett’s theorem one can conclude that:

It is not possible to make the configuration ~qgoal a stable equilibriumpoint, by means of a smooth and time-invariant state feedback

law ~u = κ(~q), with κ(·) : Q → Rm, when considering the dynamical

system~q = G(~q)~u.

with G(·) : Q× Rm → R

nq , and m = nq − p, p > 0.

This claim can be verified by noticing that there will always be a nonzerovector ~q ∈ TQ, belonging to a neighborhood of the “null velocity vector”~q = 0, that cannot be obtained as a linear combination of m < nq

columns of G(~q). Notice that this is a consequence of the underactuationassociated with the nonholonomic constraints.

Leonardo A. B. Torres

Nonholonomic Constraints in Robotics

Page 18: Nonholonomic Constraints in Roboticstorres/wp-content/uploads/2018/02/nonholono… · Leonardo A. B. Torres June, 2016. Leonardo A. B. Torres Nonholonomic Constraints in Robotics

Classification and Examples Robot Kinematics: Pfaffian Constraints Dynamics with Nonholonomic Pfaffian Constraints

Brockett’s Theorem – Consequence

From the previous conclusion one naturally should search for controlstrategies leading to control laws u = κ(~x, t) that are:

Time-varying ones, and/or;

Discontinuous.

Leonardo A. B. Torres

Nonholonomic Constraints in Robotics

Page 19: Nonholonomic Constraints in Roboticstorres/wp-content/uploads/2018/02/nonholono… · Leonardo A. B. Torres June, 2016. Leonardo A. B. Torres Nonholonomic Constraints in Robotics

Classification and Examples Robot Kinematics: Pfaffian Constraints Dynamics with Nonholonomic Pfaffian Constraints

Section 3

Dynamics with Nonholonomic Pfaffian Constraints

Leonardo A. B. Torres

Nonholonomic Constraints in Robotics

Page 20: Nonholonomic Constraints in Roboticstorres/wp-content/uploads/2018/02/nonholono… · Leonardo A. B. Torres June, 2016. Leonardo A. B. Torres Nonholonomic Constraints in Robotics

Classification and Examples Robot Kinematics: Pfaffian Constraints Dynamics with Nonholonomic Pfaffian Constraints

Method 1: Explicit Computation of Constraint Forces

Notice that, for Pfaffian constraints, one has that:

{M(~q)~q + C(~q, ~q)~q + g(~q) = ~τ ;

A(~q)~q = 0.(4)

From the last equation, it is true that

A(~q)~q + A(~q)~q = 0. (5)

Moreover, consider that

~τ = ~u︸︷︷︸

control

− b(~q, ~q)︸ ︷︷ ︸

non-conservative forces

+ ~τ const.︸ ︷︷ ︸

nonhol. constraint forces

, (6)

with ~τ const. = A⊤(~q)~λ.

Leonardo A. B. Torres

Nonholonomic Constraints in Robotics

Page 21: Nonholonomic Constraints in Roboticstorres/wp-content/uploads/2018/02/nonholono… · Leonardo A. B. Torres June, 2016. Leonardo A. B. Torres Nonholonomic Constraints in Robotics

Classification and Examples Robot Kinematics: Pfaffian Constraints Dynamics with Nonholonomic Pfaffian Constraints

Method 1: Explicit Computation of Constraint Forces

Using (6) in (4):

M~q + C~q + g(~q) + b(~q, ~q)︸ ︷︷ ︸

N(~q,~q)

= ~u+A⊤~λ,

⇒ ~q = M−1[

~u− C~q −N +A⊤~λ]

.

Substituting this last expression in (5), one has that:

AM−1[

~u− C~q −N +A⊤~λ]

+ A~q = 0,

from which the vector of Lagrange multipliers ~λ can be obtained:

~λ =(AM−1A⊤

)−1[

−AM−1(

~u− C~q −N)

− A~q]

(7)

Leonardo A. B. Torres

Nonholonomic Constraints in Robotics

Page 22: Nonholonomic Constraints in Roboticstorres/wp-content/uploads/2018/02/nonholono… · Leonardo A. B. Torres June, 2016. Leonardo A. B. Torres Nonholonomic Constraints in Robotics

Classification and Examples Robot Kinematics: Pfaffian Constraints Dynamics with Nonholonomic Pfaffian Constraints

Method 1: Explicit Computation of Constraint Forces

Therefore, from (7),

1 Given ~u, ~q e ~q it is possible to obtain ~λ and to compute thenonholonomic constraint forces by considering

~τ const. = A⊤(~q)~λ.

2 Using the computed ~τ const. it is possible to determine the dynamicalevolution of the Robot given by the expression

M(~q)~q + C(~q, ~q)~q +N(~q, ~q) = ~u+ ~τ const..

Notice that the Pfaffian constraint forces are explicitly computed duringthe Robot simulation, at each integration time step.

Leonardo A. B. Torres

Nonholonomic Constraints in Robotics

Page 23: Nonholonomic Constraints in Roboticstorres/wp-content/uploads/2018/02/nonholono… · Leonardo A. B. Torres June, 2016. Leonardo A. B. Torres Nonholonomic Constraints in Robotics

Classification and Examples Robot Kinematics: Pfaffian Constraints Dynamics with Nonholonomic Pfaffian Constraints

Method 2: Order Reduction via Projection Matrix

Instead of explicitly computing ~λ and ~τ const., expressions (5) and (7) can bedirectly substituted in the Robot canonical equations:

M~q =(

~u− C~q −N)

+

A⊤

(

AM−1

A⊤

)−1[

−AM−1

(

~u− C~q −N)

− A~q]

;

M~q =

[

I − A⊤

(

AM−1

A⊤

)

−1

AM−1

]

(

~u−C~q −N)

+

A⊤

(

AM−1

A⊤

)−1

A~q;

[

I −A⊤

(

AM−1

A⊤

)−1

AM−1

]

M~q =

[

I −A⊤

(

AM−1

A⊤

)

−1

AM−1

]

(

~u− C~q −N)

.

Leonardo A. B. Torres

Nonholonomic Constraints in Robotics

Page 24: Nonholonomic Constraints in Roboticstorres/wp-content/uploads/2018/02/nonholono… · Leonardo A. B. Torres June, 2016. Leonardo A. B. Torres Nonholonomic Constraints in Robotics

Classification and Examples Robot Kinematics: Pfaffian Constraints Dynamics with Nonholonomic Pfaffian Constraints

Method 2: Order Reduction via Projection Matrix

From the previous mathematical development, one can define the matrix

Pu = I −A⊤(AM−1A⊤

)−1AM−1,

whose rank is m = nq − p, with p the number of Pfaffian constraints. Pu

is indeed a Projection Matrix, because:

P 2u = Pu.

This property means that, if ~y = Pu~x is the projection of ~x on a linearsubspace, by applying the projection operator again, the same vector isobtained, i.e. Pu~y = ~y.

Leonardo A. B. Torres

Nonholonomic Constraints in Robotics

Page 25: Nonholonomic Constraints in Roboticstorres/wp-content/uploads/2018/02/nonholono… · Leonardo A. B. Torres June, 2016. Leonardo A. B. Torres Nonholonomic Constraints in Robotics

Classification and Examples Robot Kinematics: Pfaffian Constraints Dynamics with Nonholonomic Pfaffian Constraints

Method 2: Order Reduction via Projection Matrix

Similarly, the matrixP = M−1PuM,

is also a projection matrix, i.e. P 2 = P . In this case,

PuM~q = Pu

(

~u− C~q −N)

;

M−1PuM~q = M−1Pu

(

~u− C~q −N)

;

P~q = PM−1(

~u− C~q −N)

(8)

whereP = I −M−1A⊤

(AM−1A⊤

)−1A

︸ ︷︷ ︸

M−1PuM

.

Leonardo A. B. Torres

Nonholonomic Constraints in Robotics

Page 26: Nonholonomic Constraints in Roboticstorres/wp-content/uploads/2018/02/nonholono… · Leonardo A. B. Torres June, 2016. Leonardo A. B. Torres Nonholonomic Constraints in Robotics

Classification and Examples Robot Kinematics: Pfaffian Constraints Dynamics with Nonholonomic Pfaffian Constraints

Method 2: Order Reduction via Projection Matrix

Since rank(P ) = rank(Pu) = m = nq − p, only m independent equationscan be obtained from (8).

To complete the set of differential equations needed to characterize theRobot dynamics, one should include p differential equations provided bythe Pfaffian constraints, such that

{

P~q = PM−1(

~u− C~q −N)

;

A~q = −A~q;

and one will have nq independent differential equations.

Leonardo A. B. Torres

Nonholonomic Constraints in Robotics

Page 27: Nonholonomic Constraints in Roboticstorres/wp-content/uploads/2018/02/nonholono… · Leonardo A. B. Torres June, 2016. Leonardo A. B. Torres Nonholonomic Constraints in Robotics

Classification and Examples Robot Kinematics: Pfaffian Constraints Dynamics with Nonholonomic Pfaffian Constraints

Method 3: Modified Euler-Lagrange Equation

From the assumption that nonholonomic constraint forces do not performvirtual work, we have that

A(~q)δ~q = 0 ⇒[

Aα(~q) | Aβ(~q)]

[

δ~qαδ~qβ

]

=

[

00

]

,

where

Aα(~q) ∈ Rp × R

nq−p,

Aβ(~q) ∈ Rp × R

p,

δ~qα ∈ Rnq−p

,

δ~qβ ∈ Rp,

with Aβ chosen as an invertible partition of A.

Leonardo A. B. Torres

Nonholonomic Constraints in Robotics

Page 28: Nonholonomic Constraints in Roboticstorres/wp-content/uploads/2018/02/nonholono… · Leonardo A. B. Torres June, 2016. Leonardo A. B. Torres Nonholonomic Constraints in Robotics

Classification and Examples Robot Kinematics: Pfaffian Constraints Dynamics with Nonholonomic Pfaffian Constraints

Method 3: Modified Euler-Lagrange Equation

In this case, one can write that

δ~qβ = −(

A−1

β Aα

)

δ~qα (9)

From the above expression, and relying on D’Alembert principle, it follows that

(

d

dt

[

∂L

∂~q

]

−∂L

∂~q− ~τ

)⊤

δ~q = 0 ⇒

(

d

dt

[

∂L

∂~qα

]

−∂L

∂~qα− ~τα

)⊤

δ~qα +

(

d

dt

[

∂L

∂~qβ

]

−∂L

∂~qβ− ~τβ

)

δ~qβ = 0

The idea is to consider that δ~qα is free/independent, but δ~qβ is determined byδ~qα.

Leonardo A. B. Torres

Nonholonomic Constraints in Robotics

Page 29: Nonholonomic Constraints in Roboticstorres/wp-content/uploads/2018/02/nonholono… · Leonardo A. B. Torres June, 2016. Leonardo A. B. Torres Nonholonomic Constraints in Robotics

Classification and Examples Robot Kinematics: Pfaffian Constraints Dynamics with Nonholonomic Pfaffian Constraints

Method 3: Modified Euler-Lagrange Equation

Substituting (9) in the last expression, and assuming that δ~qα is free, one hasthe so-called Modified Euler-Lagrange Equation

d

dt

[

∂L

∂~qα

]

−∂L

∂~qα− ~τα −

(

A−1

β Aα

)⊤

{

d

dt

[

∂L

∂~qβ

]

−∂L

∂~qβ− ~τβ

}

= 0. (10)

To eliminate ~qβ and ~qβ from the above expression, one can make use of thefollowing expressions from (9):

~qβ = −(

A−1

β Aα

)

~qα, (11)

~qβ = −(

A−1

β Aα

)

~qα +d

dt

[

−A−1

β Aα

]

~qα.

From (10) and (11) the full set of differential equations describing the Robotdynamical behavior, considering Pfaffian nonholonomic constraints, can beobtained.

Leonardo A. B. Torres

Nonholonomic Constraints in Robotics

Page 30: Nonholonomic Constraints in Roboticstorres/wp-content/uploads/2018/02/nonholono… · Leonardo A. B. Torres June, 2016. Leonardo A. B. Torres Nonholonomic Constraints in Robotics

Classification and Examples Robot Kinematics: Pfaffian Constraints Dynamics with Nonholonomic Pfaffian Constraints

Method 4: Pseudo-velocity approach I

1 Use the matriz G(~q) ∈ Rnq×(nq−p) whose columns span the kernel

of A(~q), i.e. A(~q)G(~q) = 0p×(nq−p), in order to represent modifieddynamical equations considering nonholonomic constraints [1]:

G⊤

{

M~q + C~q + g}

= G⊤

{

~u+A⊤~λ}

G⊤

{

M~q + C~q + g}

= G⊤~u

~q = G~v

G⊤MG~v +G⊤MG~v +G⊤ [CG~v + g] = G⊤~u.

Leonardo A. B. Torres

Nonholonomic Constraints in Robotics

Page 31: Nonholonomic Constraints in Roboticstorres/wp-content/uploads/2018/02/nonholono… · Leonardo A. B. Torres June, 2016. Leonardo A. B. Torres Nonholonomic Constraints in Robotics

Classification and Examples Robot Kinematics: Pfaffian Constraints Dynamics with Nonholonomic Pfaffian Constraints

Method 4: Pseudo-velocity approach II

From the previous development, we have that

~q = G⊤~v,

MG~v + CG~v +G⊤g = G⊤~u,

with

MG(~q) = G⊤(~q)M(~q)G(~q),

CG(~q, ~v) = G⊤(~q)M(~q)G(~q, ~v) +G⊤(~q)C(~q, ~v)G(~q).

Therefore we get a new dynamical description using theconfiguration ~q and the so-called pseudo-velocity ~v as the new statevariables.

Leonardo A. B. Torres

Nonholonomic Constraints in Robotics

Page 32: Nonholonomic Constraints in Roboticstorres/wp-content/uploads/2018/02/nonholono… · Leonardo A. B. Torres June, 2016. Leonardo A. B. Torres Nonholonomic Constraints in Robotics

Classification and Examples Robot Kinematics: Pfaffian Constraints Dynamics with Nonholonomic Pfaffian Constraints

Method 4: Pseudo-velocity approach III

Notice also that, by definition, G(~q) has full column rank; i.e.rank{G(~q)} = nq − p; and M(~q) ∈ R

nq×nq is a positive definitematrix. Therefore MG(~q) = G⊤(~q)M(~q)G(~q) is also a positivedefinite matrix, such that its inverse exists and one can write that

~q = G⊤(~q)~v,

~v = −MG(~q)−1

[−CG(~q, ~v)~v −G⊤(~q)g(~q) +G⊤(~q)~u

].

Leonardo A. B. Torres

Nonholonomic Constraints in Robotics

Page 33: Nonholonomic Constraints in Roboticstorres/wp-content/uploads/2018/02/nonholono… · Leonardo A. B. Torres June, 2016. Leonardo A. B. Torres Nonholonomic Constraints in Robotics

Proof 1

Prove that matrix

Pu = I −A⊤(AM−1A⊤

)−1AM−1

is a projection matrix.

P2

u =

[

I − A⊤

(

AM−1

A⊤

)

−1

AM−1

] [

I − A⊤

(

AM−1

A⊤

)

−1

AM−1

]

,

=I − A⊤

(

AM−1

A⊤

)−1

AM−1 − A

(

AM−1

A⊤

)−1

AM−1+

A⊤

(

AM−1

A⊤

)

−1

✘✘✘✘✘AM

−1A

✘✘✘✘✘✘✘(

AM−1

A⊤

)

−1

AM−1

,

=Pu.

Leonardo A. B. Torres

Nonholonomic Constraints in Robotics

Page 34: Nonholonomic Constraints in Roboticstorres/wp-content/uploads/2018/02/nonholono… · Leonardo A. B. Torres June, 2016. Leonardo A. B. Torres Nonholonomic Constraints in Robotics

Giuseppe Oriolo.Control of nonholonomic systems.http://www.dis.uniroma1.it/~oriolo/cns/cns_slides.pdf,2015.

Leonardo A. B. Torres

Nonholonomic Constraints in Robotics