Professional Documents
Culture Documents
MB Dynamics NE
MB Dynamics NE
Dimitar Dimitrov
Orebro University
June 8, 2012
Euler-Lagrange formulation We derived the equations of motion for a multibody system by treating the multibody system as a whole and performing analysis using the Lagrangian (the dierence between the kinetic and potential energy) of the system. Newton-Euler formulation In this lecture, we describe an alternative formulation which treats each link in turn by forming the equations that govern its linear and angular motion. The forces f and torques t acting on a particular link are computed by analyzing its interaction with its neighboring links. Our starting point are the Newton-Euler equations for a single rigid body f = mv c t = IC + IC
2 / 17
v i denotes the linear velocity of the center of mass (CoM) of link i i denotes the angular velocity of link i Ii denotes the 3 3 inertia matrix of link i, calculated about its CoM and expressed in the world frame. all vectors are expressed with respect to the world frame We can write the above equations as ue = M i i + un , i i where ue = i fi , ti Mi = mi I 0 0 , Ii i = vi , i un = i 0 i Ii i
3 / 17
For a system of n bodies (without constraints) we have ue 1 ue 2 . . . ue n ue or in short ue = M + un (1) M1 0 . . . 0 0 M2 . . . 0 M ... ... .. . 0 0 . . . 1 2 . . . n
. . . Mn
un 1 un 2 . . . un n un
The fact that M is a block-diagonal matrix implies that there is no coupling between the rigid bodies in the system. Or in other words, the motion of body i is independent of all other bodies.
4 / 17
5 / 17
Implicit constraints
The relation between the velocity of link i and q can be expressed as i = By using J c1 J c2 . . . J cn J vi J i q = J ci q. Substitute (2) in ue = M + un ue = M (J c q + J c q) + un = M J c q + uc ,
(3)
where uc = M J c q + un is the sum of all velocity dependent inertial forces (and torques) acting on the CoM of the links. Multiply (3) by J T from the left c J T M J c q + J T uc = J T ue . c c c H c e
Jc =
R6nn
(2)
e are the generalized forces/torques acting on the generalized coordinates as a result of ue . Recall that e = J T ue is c the static relation.
6 / 17
Computing c
c = J T M J c q + J T un c c The only term of the above equation that we have not computed yet is J c . Forming it explicitly is not usually done because we can compute directly the product J c q as follows. If we set q = 0 in = J c q + J c q, we obtain 0 J cq = . 0 We use to denote the Cartesian accelerations of the links computed with zero joint accelerations q . Hence, c can be computed using c = J T (M + un ) . c uc 0 Computing the vector R6n can be done in a recursive fashion (as we show next).
7 / 17
(4)
Link velocity
can be computed using = J c q, which corresponds to the following recursion for i = 1, . . . , n (we will assume xed base v 0 = 0, 0 = 0). All vectors are expressed in the world frame. Revolute joint i = i1 + ki qi v i = v i1 + i1 hi + i di = v i1 + i1 (r i ri1 ) + ki di qi
hi ki qi di vi i
v i1 i1 r i1 ri
8 / 17
Link acceleration
The following computation for i = 1, . . . , n is called forward recursion. A xed base is assumed, i.e., v 0 = 0, v 0 = 0, 0 = 0, 0 = 0. revolute joint i = i1 + ki qi i = i1 + i1 ki qi + ki qi v i = v i1 + i1 (r i r i1 ) + ki di qi v i = v i1 + i1 (r i r i1 ) + i1 (v i v i1 ) + i (ki di )qi + ki di qi prismatic joint i = i1 i = i1 v i = v i1 + i1 (r i ri1 ) + ki qi v i = v i1 + i1 (r i ri1 ) + i1 (v i v i1 + ki qi ) + ki qi
9 / 17
Some notes
d ki = i ki = ( i1 + ki qi ) ki = i1 ki . dt
d (ki di ) = ( i1 ki ) di + ki ( i di ) dt = ( i1 ki ) di + ki [( i1 + ki qi ) di ] = ( i1 ki ) di + ki ( i1 di ) + ki (ki di )qi = i (ki di ). The last equality is obtained by adding the following term to the equation i1 (ki di ) + ki (di i1 ) + di ( i1 ki ) = 0. Note that any three vectors a, b, c R3 satisfy the Jacobi identity a (b c) + b (c a) + c (a b) = 0.
10 / 17
f ec R3 is a force acting at the CoM of link i i tec R3 is a torque acting on link i. i see gure on next slide The following computation for i = n, . . . , 1 is called backward recursion. It is computationally more ecient compared to using J T (ue uc ). c f Ji = f ec + f Ji+1 i tJi = tec + tJi+1 + di f ec + (di + hi+1 ) f Ji+1 i i f Ji+1 , tJi+1 - forces and torques acting on link i through joint i + 1 f Ji , tJi - forces and torques acting on link i 1 through joint i f Jn+1 = 0, tJn+1 = 0 is assumed
12 / 17
hi+1
link i
Dene ec = e c = J T (ue uc ). c ec is the generalized force/torque acting on the generalized coordinates q as a result of uc and ue . The nal step of the backward recursion is to determine the torque iec around the axis of rotation ki , if joint i is revolute the force iec along the axis of translation ki , if joint i is prismatic iec = k i t Ji k i f Ji if joint i is revolute if joint i is prismatic
14 / 17
ie
an
vel o
the two recursions forward recursion (1, . . . , n) for computing Cartesian velocities and accelerations of the links backward recursion (n, . . . , 1) for computing the generalized forces ec as a result of the external and inertial forces acting on the links
15 / 17
f or c
es a
nd
cit