lecture 20: putting it all together an actual mechanism a physical abstraction: links, springs,...
TRANSCRIPT
1
Lecture 20: Putting it all together
An actual mechanism
A physical abstraction: links, springs, wheels, motors, etc.
A mathematical model of the physical abstraction
Stability and control of the mathematical model
A simulation built on the mathematical model
2
The physical abstraction
all the elements (links) must be rigid
if something is flexible in the actual mechanism approximate the motion by a spring or springs
(this is akin to finite element modeling)
Low inertia elements (like drive belts) can be replaced by constraints
3
4
WHAT DO WE DO WITH THIS SYSTEM?
How many links?
What are they?
What do we have to keep and what can we let go?
How are they related?
5
The big one is how to deal with the rider
We can neglect the chain and the derailleur details
The simple choice is to neglect all motion of the rider and lump him in with the frame
More complicated would be to model each leg/pedal set as a planar linkage
For now let’s do the simple thing
6
Simple thing = four links: frame with rider, fork assembly, front wheel, rear wheel
How do we connect them?
There’re both orientations and connections to be found/defined
I haven’t talked about constraints yet todaybut it’s worth taking a look at them in a (partially) abstract sense
What can you tell me about this?
7
For orientation I need body axes
Simple conventions:
Align the two wheel Ks with the axlestheir I and J axes rotate
Align the I frame axis with the top tube
Let the J frame axis point down
Align the fork K axis with its long axis
Its K axis then points into the screen
Let its I axis point “forward”
3
4
8
Orientation constraints
€
K 2 = −sinγI1 − cosγJ1
The fork K axis points up and is tilted back an angle g
€
K 3 = J2
The front wheel K axis is aligned with the fork J axis
€
K 4 =K1
The rear wheel K axis is aligned with the frame K axis
9
We learned how to align K axes with arbitrary directions (chapter 2 pp. 19-21)
Our target vectors are unit vectors and can be written directly as
€
V =
v1
v2
v3
⎧
⎨ ⎪
⎩ ⎪
⎫
⎬ ⎪
⎭ ⎪=
cosα sinβ
sinα sinβ
cosβ
⎧
⎨ ⎪
⎩ ⎪
⎫
⎬ ⎪
⎭ ⎪
We see that cosb = v3 and tana = v2/v1.
a lies on (0, 2π) and b lies on (0, π)
10
The K4 condition is trivial: f4 = f1 and q4 = q1
The others require us to use the formalism,which is sufficiently complicated that it warrants Mathematica
I will address this after I have done some more general comments
11
Connectivity constraintswhich are best written in terms of vectors in the body frames
and we know all the necessary body axis vectors at this point
12
34
Connect 1 to 2 and 1 to 4in the frame frame
Connect 2 to 3 in the fork frame
(The 1 and 2 CMs are nontrivial)
12
Simple block model containing most of the dynamics
Frame is green, the fork is blue and the two wheels are red
13
There will also be rolling constraints, and these will also attach the bike to the ground
14
??
15
The mathematical model is built on the foundation of a Lagrangian
€
L = T −V
T denotes the kinetic energy and V the potential energy
€
T =1
2m ˙ x 2 + ˙ y 2 + ˙ z 2( ) +
1
2AΩX
2 +1
2BΩY
2 +1
2CΩZ
2
Each link has six degrees of freedom before it is constrainedand its kinetic energy is
16
Mechanisms operating in a gravitational field have a potential energy for each link
€
V = mg ⋅r
€
mgz, generally
Springs connect links, and so their potential energy involves more than one link
My standard boilerplate does not include springs; if you have them, you need to add them
Look at parts of the standard boilerplate and see what the pieces mean
17
The kinetic energy is the sum of the individual kinetic energiesand the potential energy is the sum of the gravitational energies
18
A big piece of the boilerplate is devoted to finding the angular velocity in body coordinates(and in inertial coordinates, not needed for this set up)
19
The angles in these formulas are the Euler angles, and we spent a lot of time on them
They a set of axes fixed in the body to the inertial frame — there’s boilerplate for that, too
20
The rotations get defined at the top
21
At this point I have built a candidate Lagrangiancontaining six times as many variables as links
There is as yet no mechanism model because the links are not connected
We connect them (and otherwise constrain their motion) with constraints
We consider three types of constraints: simple holonomic, nonsimple holonomic and nonholonomic constraints
The only nonholonomic constraints we have considered seriously are rolling constraints:If your mechanism has wheels, you will have to deal with nonholonomic constraints
22
Holonomic constraints can also be divided into orientation and connectivity constraints
Orientation constraints are generally simpleconnectivity constraints are generally nonsimple
Simple holonomic constraints are linear relations among the coordinates
You should always apply these as soon as you have figured them out
Nonsimple holonomic constraints are nonlinear relations among the coordinateswhether or not to apply them immediately
or convert them to pseudononholonomic constraints is a matter of judgment
23
After you have applied whatever holonomic constraints you wishyou can assign the remaining coordinates to a set of generalized coordinates
You now have a Lagrangian in terms of the coordinates you will use for the rest of the analysis
€
L =1
2M ij qk
( ) ˙ q i ˙ q j −V qk( )
If there are springs or effective springs, their contributions are supposed to have been included
24
You have still to deal with the nonholonomic constraints and any external forces
I include in the nonholonomic constraints any pseudononholonomic constraints I have added
If there are no nonholonomic constraints, then the Euler-Lagrange equationsare a practical way of approaching the problem
(and they work even for systems constrained nonholonomically)
The Euler-Lagrange equations are excellent for analyzing stability and designing controls
For brute force calculations and simulations I prefer Hamilton’s equations and their variants
25
Recall the rolling constraint
€
v =ω × r
In our most usual convention, where the wheel axle is the body axis K
€
˙ x
˙ y
˙ z
⎧
⎨ ⎪
⎩ ⎪
⎫
⎬ ⎪
⎭ ⎪=
ωyrz −ωzry
ωxrz −ωxrz
ωxry −ωyrx
⎧
⎨ ⎪
⎩ ⎪
⎫
⎬ ⎪
⎭ ⎪
and
€
r = rW
−cosθ sinφ
cosθ cosφ
sinθ
⎧
⎨ ⎪
⎩ ⎪
⎫
⎬ ⎪
⎭ ⎪
26
The z component of this is actually integrable
€
˙ z = rW cosθ ˙ θ ⇒ z = rW sinθ
although we generally carry it along
27
We learned how to handle nonholonomic constraints using Lagrange multipliersbut this was quite clumsy and nonintuitive,
so I suggested what I consider a better method
The nonholonomic constraints are a set of homogeneous linear equations in the derivatives of the coordinates
As such, they can be written in matrix form
€
C ji qk( ) ˙ q j = 0
€
˙ q jThis says that any vector must be orthogonal to all the rows of C
In other words: it must belong to the null space of C
28
There are some technical issues
The null space must be complete, which is taken care of if the constraints are independent
You should check this by checking the rank of C.
If it is not of full rank, you need to perform a row reduction and go forward with a reduced set of nonholonomic constraints (we have seen this)
€
˙ q j = Sij qk( )ui
Once you have the appropriate null space vectors, put them in a matrix and write
where u is a new vector
29
This sort of locks you into the Hamilton approach
We know how q evolves and we can replace its derivative in terms of u in Hamilton’s equations
This is easier to do operationally than symbolically, but let’s review the symbolism from Lecture 12
30
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
31
€
˙ 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
32
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
33
??