lecture 12: the constraint null space the matrix c has m rows and n columns, m < n if we have set...

28
Lecture 12: The Constraint Null Space The matrix C has M rows and N columns, M < N If we have set this up correctly, the rows of C are independent C ˙ q =0⇔C j i ˙ q j =0 Nonholonomic (including the pseudo ones) constraints (If not, do a row reduction and rewrite the constraints) 1

Upload: dominic-dickerson

Post on 30-Dec-2015

214 views

Category:

Documents


0 download

TRANSCRIPT

1

Lecture 12: The Constraint Null Space

The matrix C has M rows and N columns, M < N

If we have set this up correctly, the rows of C are independent€

C ˙ q = 0 ⇔ C ji ˙ q j = 0

Nonholonomic (including the pseudo ones) constraints

(If not, do a row reduction and rewrite the constraints)

2

Each row is an N row vector

The rate of change of q must be perpendicular to all the row vectors

There can be K = N – M independent vectors perpendicular to the row vectors of C

These vectors form the null space of C

Let’s try to say this another way

3

The rows of C live in the same space

lives in an N dimensional vector space

˙ q

The M rows of C form a partial basis in that space

˙ q must be perpendicular to those basis vectors

The vectors that are perpendicular to the rows of C make up the null spacethere will be K of them, call them s1, s2, etc.

˙ q = u1s1 + u2s2 +L ⇔ ˙ q j = Skjuk

4

u is a new vector; it is not the u vector we used in the Euler-Lagrange method

S is an N x K matrix. Its columns are the basis of the null space.

Let’s do a simple example of this before seeing how to use it.

5

Let’s look at the erect wheel

z = rW , θ = −π

2Simple holonomic constraints

Rolling constraints

˙ x = rW˙ ψ cosφ, ˙ y = rW

˙ ψ sinφ

Generalized coordinates

q =

x

y

φ

ψ

⎨ ⎪ ⎪

⎩ ⎪ ⎪

⎬ ⎪ ⎪

⎭ ⎪ ⎪

˙ q 1 − rW ˙ q 4 cosq3 = 0 = ˙ q 2 − rW ˙ q 4 sinq3

6

The constraint matrix

C =1 0 0 −rW cosφ

0 1 0 −rW sinφ

⎧ ⎨ ⎩

⎫ ⎬ ⎭

It’s obviously of full rank (rank = 2)

There are two vectors in the null spacewe can work them out on the blackboard

and combine them in the S matrix

S =

rW cosφ 0

rW sinφ 0

0 1

1 0

⎨ ⎪ ⎪

⎩ ⎪ ⎪

⎬ ⎪ ⎪

⎭ ⎪ ⎪

7

The rate of change of q becomes

˙ q = Su =

rW cosφ 0

rW sinφ 0

0 1

1 0

⎨ ⎪ ⎪

⎩ ⎪ ⎪

⎬ ⎪ ⎪

⎭ ⎪ ⎪

u1

u2

⎧ ⎨ ⎩

⎫ ⎬ ⎭

If you expand this you will see that u1 and u2 denote the two rotation rates

The dimension of u is the true number of degrees of freedom taking the nonholonomic constraints into account.

8

Let’s move on and see where this can take us.

M ijSkj is a function only of the qs

˙ p i = M ijSkj ˙ u k +

d M ijSkj

( )

dtuk = M ijSk

j ˙ u k +∂ M ijSk

j( )

∂qm˙ q muk

˙ p i = M ijSkj ˙ u k +

∂ M ijSkj

( )

∂qmSn

munuk

˙ p i =∂L

∂qi+ λ jCi

j + Qithe momentum equations

pi = M ij ˙ q j = M ijSkjukthe momentum

combine in two steps

9

˙ p i =∂L

∂qi+ λ jCi

j + Qi

M ijSkj ˙ u kSp

i = −∂ M ijSk

j( )

∂qmSn

munukSpi +

∂L

∂qiSp

i + λ jCijSp

i + QiSpi

And finally we can get rid of the Lagrange multipliers

0!

combine the momentum equation

˙ p i = M ijSkj ˙ u k +

∂ M ijSkj

( )

∂qmSn

munuk

with what we just did

M ijSkj ˙ u k = −

∂ M ijSkj

( )

∂qmSn

munuk +∂L

∂qi+ λ jCi

j + Qi

momentum equationin terms of u

10

Before multiplying by S the free index was i, which runs from 1 to N

After multiplying by S, the free index becomes p which runs from 1 to K

We have reduced the number of momentum equations to the number of degrees of freedom and gotten rid of the Lagrange multipliers.

As usual, it is not as ghastly in practice as it looks in its full generality€

M ijSkj ˙ u kSp

i = −∂ M ijSk

j( )

∂qmSn

munukSpi +

∂L

∂qiSp

i + QiSpi

11

We can go back to the erect coin to see how some of this plays out

L =1

2m ˙ x 2 + ˙ y 2( ) +

1

2A ˙ φ 2 +

1

2C ˙ ψ 2 =

1

2m ˙ q 1

2+ ˙ q 2

2

( ) +1

2A ˙ q 3

2+

1

2C ˙ q 4

2

˙ p 1 = m ˙ q 1, p2 = m ˙ q 2, p3 = A ˙ q 3, p4 = C ˙ q 4

˙ q =

rW cosφ 0

rW sinφ 0

0 1

1 0

⎨ ⎪ ⎪

⎩ ⎪ ⎪

⎬ ⎪ ⎪

⎭ ⎪ ⎪

u1

u2

⎧ ⎨ ⎩

⎫ ⎬ ⎭⇒ ˙ q 1 = rW cosφu1, ˙ q 2 = rW sinφu1, ˙ q 3 = u2, ˙ q 4 = u1

The momentum

The velocity equations

12

p1 = mrW cosφu1, p2 = mrW sinφu1, p3 = Au2, p4 = Cu1

differentiate

˙ p 1 = mrW cosq3 ˙ u 1 − mrW sinq3u1u2

˙ p 2 = mrW sinq3 ˙ u 1 + mrW cosq3u1u2

˙ p 3 = A˙ u 2, ˙ p 4 = C ˙ u 1

None of the coordinates appears in the Lagrangian, so the dL/dq term is zeroand there are no generalized forces

and multiplication by S removes the Lagrange multipliers

My equations are simply

˙ p iS ji = 0

The momentum becomes

13

˙ p iS ji = 0

S =

rW cosq3 0

rW sinq3 0

0 1

1 0

⎨ ⎪ ⎪

⎩ ⎪ ⎪

⎬ ⎪ ⎪

⎭ ⎪ ⎪

˙ p iS ji = ˙ p 1 ˙ p 2 ˙ p 3 ˙ p 4{ }

rW cosq3 0

rW sinq3 0

0 1

1 0

⎨ ⎪ ⎪

⎩ ⎪ ⎪

⎬ ⎪ ⎪

⎭ ⎪ ⎪

rW cosq3 ˙ p 1 + rW sinq3 ˙ p 2 + ˙ p 4 = 0

˙ p 3 = 0

Let’s build it

expand

(continued on the next page)

14

rW cosq3 ˙ p 1 + rW sinq3 ˙ p 2 + ˙ p 4 = 0

˙ p 3 = 0

C + mrW2

( ) ˙ u 1 = 0

A ˙ u 2 = 0

A lot of trigonometric cancellation leads to the final equations

˙ p 1 = mrW cosq3 ˙ u 1 − mrW sinq3u1u2

˙ p 2 = mrW sinq3 ˙ u 1 + mrW cosq3u1u2

˙ p 3 = A˙ u 2, ˙ p 4 = C ˙ u 1

substitute

15

??

16

So, what is the drill?

Lagrangian

Holonomic constraints

Generalized coordinates

Nonholonomic constraints

Constraint matrix — null space matrix

˙ q j = Skjuk

The velocity equations

17

Hamilton’s momentum equations

Eliminate p in favor of u

Multiply by S to reduce the number of momentum equations

Convert to explicit time dependence for the simulation

18

What’s new and what’s hard?

The idea of the null space is new and finding it can be hard

Mathematica can give you a null space, but it may not be what you wantI generally work out my own

The goal is to devise a null space such that the components of u have a useful interpretation

19

Multiply C and an arbitrary vector of length N

This will give you K conditions from which you can choose K basis vectors

Had I done this with the case just reviewed

Cs =1 0 0 −rW cosφ

0 1 0 −rW sinφ

⎧ ⎨ ⎩

⎫ ⎬ ⎭

s1

s2

s3

s4

⎨ ⎪ ⎪

⎩ ⎪ ⎪

⎬ ⎪ ⎪

⎭ ⎪ ⎪

=s1 − rW cosφs4

s2 − rW sinφs4

⎧ ⎨ ⎩

⎫ ⎬ ⎭= 0

s1 is associated with x, s2 with y, s3 with f and s4 with y

I’d like to have one vector for which s3 is unityand one for which s4 is unity

20

And that’s what I did

S =

rW cosq3 0

rW sinq3 0

0 1

1 0

⎨ ⎪ ⎪

⎩ ⎪ ⎪

⎬ ⎪ ⎪

⎭ ⎪ ⎪

and that’s why the equations came out so nicely

(As it happens, this is the null space that Mathematica gives.)

21

Let’s look at the 3 x 6 matrix from the two wheel system

C =

1 0 0 0 −1

2rW cosq3 −

1

2rW cosq3

0 1 0 0 −1

2rW sinq3 −

1

2rW sinq3

0 0 1 0rW

lR

−rW

lR

⎪ ⎪ ⎪

⎪ ⎪ ⎪

⎪ ⎪ ⎪

⎪ ⎪ ⎪

We can multiply this one out

22

Cs =

1 0 0 0 −1

2rW cosq3 −

1

2rW cosq3

0 1 0 0 −1

2rW sinq3 −

1

2rW sinq3

0 0 1 0rW

lR

−rW

lR

⎪ ⎪ ⎪

⎪ ⎪ ⎪

⎪ ⎪ ⎪

⎪ ⎪ ⎪

s1

s2

s3

s4

s5

s6

⎪ ⎪ ⎪

⎪ ⎪ ⎪

⎪ ⎪ ⎪

⎪ ⎪ ⎪

s1 −1

2rW cosq3s5 −

1

2rW cosq3s6 = 0

s2 −1

2rW sinq3s5 −

1

2rW sinq3s6 = 0

s3 +rW

lR

s5 −rW

lR

s6 = 0

Do the multiplication and look at the three components of the product

We can pick any three and find the others

23

recall

q =

x1

y1

φ1

ψ1

ψ 2

ψ 3

⎪ ⎪ ⎪

⎪ ⎪ ⎪

⎪ ⎪ ⎪

⎪ ⎪ ⎪

s1

s2

s3

s4

s5

s6

⎪ ⎪ ⎪

⎪ ⎪ ⎪

⎪ ⎪ ⎪

⎪ ⎪ ⎪

x1

y1

φ1

ψ1

ψ 2

ψ 3

⎪ ⎪ ⎪

⎪ ⎪ ⎪

⎪ ⎪ ⎪

⎪ ⎪ ⎪

We can take the three spins as fundamental and select bases such thats4 = 1, s5 =0, s6 = 0; s4 = 0, s5 =1, s6 = 0; s4 = 0, s5 =0, s6 = 1

24

s1 −1

2rW cosq3s5 −

1

2rW cosq3s6 = 0

s2 −1

2rW sinq3s5 −

1

2rW sinq3s6 = 0

s3 +rW

lR

s5 −rW

lR

s6 = 0

s4 = 1, s5 =0, s6 = 0

s1 = 0

s2 = 0

s3 = 0

s1

s2

s3

s4

s5

s6

⎪ ⎪ ⎪

⎪ ⎪ ⎪

⎪ ⎪ ⎪

⎪ ⎪ ⎪

=

0

0

0

1

0

0

⎪ ⎪ ⎪

⎪ ⎪ ⎪

⎪ ⎪ ⎪

⎪ ⎪ ⎪

and the base vector is

25

s1 −1

2rW cosq3s5 −

1

2rW cosq3s6 = 0

s2 −1

2rW sinq3s5 −

1

2rW sinq3s6 = 0

s3 +rW

lR

s5 −rW

lR

s6 = 0

s4 = 0, s5 =1, s6 = 0

s1 =1

2rW cosq3s5

s2 =1

2rW sinq3s5

s3 = −rW

lR

s5

s1

s2

s3

s4

s5

s6

⎪ ⎪ ⎪

⎪ ⎪ ⎪

⎪ ⎪ ⎪

⎪ ⎪ ⎪

=

1

2rW cosq3

1

2rW sinq3

−rW

lR

0

1

0

⎪ ⎪ ⎪ ⎪ ⎪

⎪ ⎪ ⎪ ⎪ ⎪

⎪ ⎪ ⎪ ⎪ ⎪

⎪ ⎪ ⎪ ⎪ ⎪

and the base vector is

26

s1 −1

2rW cosq3s5 −

1

2rW cosq3s6 = 0

s2 −1

2rW sinq3s5 −

1

2rW sinq3s6 = 0

s3 +rW

lR

s5 −rW

lR

s6 = 0

s4 = 0, s5 =0, s6 = 1

s1

s2

s3

s4

s5

s6

⎪ ⎪ ⎪

⎪ ⎪ ⎪

⎪ ⎪ ⎪

⎪ ⎪ ⎪

=

1

2rW cosq3

1

2rW sinq3

rW

lR

0

0

1

⎪ ⎪ ⎪ ⎪ ⎪

⎪ ⎪ ⎪ ⎪ ⎪

⎪ ⎪ ⎪ ⎪ ⎪

⎪ ⎪ ⎪ ⎪ ⎪

and the base vector is€

s1 =1

2rW cosq3s6

s2 =1

2rW sinq3s6

s3 =rW

lR

s6

27

put it all together

S =

01

2rW cosq3 1

2rW cosq3

01

2rW sinq3 1

2rW sinq3

0 −rW

lR

rW

lR

1 0 0

0 1 0

0 0 1

⎪ ⎪ ⎪ ⎪ ⎪

⎪ ⎪ ⎪ ⎪ ⎪

⎪ ⎪ ⎪ ⎪ ⎪

⎪ ⎪ ⎪ ⎪ ⎪

And the rank of this matrix is obviously three

28

The advantage of this is that there are fewer equations to deal with

The disadvantage is that you do not get the constraint forces(through the Lagrange multipliers)

The main consideration is then whether you need the constraint forces

If you believe that, whatever they are, the ground will be able to provide themthen you may as well adopt the constraint null space method.

Let’s look at the two wheel cart using this method