Example: air traffic controller

A Quick Tutorial on Multibody Dynamics

A Quick Tutorial on Multibody DynamicsC. Karen LiuSumit JainSchool of Interactive ComputingGeorgia Institute of TechnologyiContents1 Introduction22 Lagrangian Dynamics33 Review: Newton-Euler equations64 Rigid Body Dynamics : Lagrange s equations85 Articulated Rigid Body Definitions .. Cartesian and generalized velocities .. Equations of motion ..156 Conversion between Cartesian and Generalized Velocity conversion .. Force conversion ..197 Recursive Inverse Dynamics in the local frame .. Pass 1: Compute velocity and acceleration .. Pass 2: Compute force and torque.

A good understanding of multibody dynamics is paramount for designing effective controllers. There are many ways to learn multibody dynamics. Reading a textbook on this topic or taking a course from the mechanical engineering department will both do the job. However, if you only want to learn the minimal set of multibody dynamics necessary to ...

Tags:

  Dynamics, Quick, Tutorials, Multibody, Quick tutorial on multibody dynamics

Information

Domain:

Source:

Link to this page:

Please notify us if you found a problem with this document:

Other abuse

Advertisement

Transcription of A Quick Tutorial on Multibody Dynamics

1 A Quick Tutorial on Multibody DynamicsC. Karen LiuSumit JainSchool of Interactive ComputingGeorgia Institute of TechnologyiContents1 Introduction22 Lagrangian Dynamics33 Review: Newton-Euler equations64 Rigid Body Dynamics : Lagrange s equations85 Articulated Rigid Body Definitions .. Cartesian and generalized velocities .. Equations of motion ..156 Conversion between Cartesian and Generalized Velocity conversion .. Force conversion ..197 Recursive Inverse Dynamics in the local frame .. Pass 1: Compute velocity and acceleration .. Pass 2: Compute force and torque.

2 2411 IntroductionIf you have not read the excellent SIGGRAPH course notes on physics-based animationby Witkin and Baraff, you can stop reading further right now. Golook for those notes ~baraff/sigcourse/and come back when you fully understandeverything in those you are still reading this document, you probably fit the following profile. You are a com-puter scientist with no mechanical engineering background and minimal training in physicsin high school but you are seriously interested in physics-based character animation. Youhave read Witkin and Baraff s SIGGRAPH course notes a few times but don t know whereto go from simulating rigid bodies to human figures.

3 You have played with some commercialphysics engines like ODE (Open Dynamic Engine), PhysX, Havok, orBullet, but you wishto simulate human behaviors more interesting than ragdoll character animation consists of two parts: simulation and control. This doc-ument focuses on the simulation part. It s quite likely that you do not need to understandhow the underlying simulation works if your control algorithm is simple enough. However,complex human behaviors often require sophisticated controllers that exploit the dynamicsof a Multibody system. A good understanding of Multibody Dynamics is paramount fordesigning effective are many ways to learn Multibody Dynamics .

4 Reading a textbook on this topic ortaking a course from the mechanical engineering department will both do the job. However,if you only want to learn the minimal set of Multibody dynamicsnecessary to jump startyour research in physics-based character animation, this document might be what you arelooking for. In particular, this document attempts to answerthe following questions. I know how to derive the equations of motion for one rigid bodyand I have seen peopleuse the following equations for articulated rigid bodies, butI don t know how they (q) q+C(q, q) =Q I have seen the Euler-Lagrange equation in the following formbefore, but I don t knowhow it is related to the equations of motion Ti q Ti q Q= 0 I use generalized coordinates to compute the control forces, how do I convert themto Cartesian forces such that I can use simulators like ODE, PhysX, or Bullet whichrepresent rigid bodies in the maximal coordinates?

5 I heard that inverse Dynamics can be computed efficiently using arecursive does that work?22 Lagrangian DynamicsArticulated human motions can be described by a set of dynamic equations of motion ofmultibody systems. Since the direct application of Newton s second law becomes difficultwhen a complex articulated rigid body system is considered, we useLagrange s equationsderived fromD Alembert s principleto describe the Dynamics of motion. To simplify themath, let s temporarily imagine that the entire human skeleton consists of a collection ofparticles{r1,r2, .. ,rnp}.

6 Each particle,ri, is defined by Cartesian coordinates that describethe translation with respective to the world coordinates. We can representriby a set ofgeneralized coordinatesthat indicate the joint configuration of the human skeleton:ri=ri(q1, q2, .. , qnj, t)(1)wheretis the time andqjis a joint degree of freedom (DOF) in the skeleton. Eachqjis afunction of time but we assume thatriis not an explicit function of virtual displacement rirefers to an infinitesimal change in the system coordinates suchthat the constraint remains satisfied. In the context of human skeleton, the system coor-dinates are the generalized coordinatesqjand the constraint manifold lies in the Cartesianspace.

7 The virtual displacement riis a tangent vector to the constraint manifold at a fixedtime, written as ri=Xj ri qj qj(2)We can now write the virtual work done by a forcefiacting on particleriasfi ri=fi Xj ri qj qj XjQij qj=Qi q(3)whereQij= ri qj Tfiis defined as the component of thegeneralized forceassociated withcoordinateqj. In vector form,Qiis the generalized force corresponding to the Cartesianforcefiwith the relationQi=JTifi, whereJiis the Jacobian matrix with thejthcolumndefined as ri D Alembert s principle, we know that the sum of the differences between the forcesacting on a system and the inertial force of the system along any virtual displacementconsistent with the constraints of the system, is zero.

8 Therefore, the virtual work atricanbe written as Wi=fi ri= i ri ri=Xj i ri ri qj qj(4)where iis the infinitesimal mass associated withri. The component of inertial force asso-ciated withqjcan be written as i ri ri qj=ddt i ri ri qj i ri ddt ri qj (5)3 Now let us consider the velocity ofriin terms of joint velocity qj ri=Xj ri qj qj(6)from which we derive the following two identities: ri qj= ri qj(7) ri qj=Xk 2ri qj qk qk=ddt ri qj(8)Using these two identities, we rewrite Equation (5) as i ri ri qj=ddt qj 12 i rTi ri qj 12 i rTi ri (9)We can denote the kinetic energy ofriasTi=12 rTi ri,(10)and rewrite Equation (9) as i ri ri qj=ddt Ti qj Ti qj(11)Combining the definition of generalized force (Equation (3)), D Alembert s principle (Equa-tion (4)), and the generalized inertial force (Equation (11)), we arrive at the following equa-tion.

9 Ddt Ti qj Ti qj qj=Qij qj(12)If the set of generalized coordinatesqjis linearly independent, Equation (12) leads toLa-grangian equation:ddt Ti qj Ti qj Qij= 0(13)Equations of Motion in Vector (13) is the equation of motion for onegeneralized coordinate in a Multibody system. We can combinenjscalar equations into thefamiliar vector formM(q) q+C(q, q) =Q(14)whereM(q) is the mass matrix,C(q, q) is the Coriolis and centrifugal term of the equationof motion, andQis the vector of generalized forces for all the degrees of freedom (DOFs) inthe depends onqandCdepends quadratically on do we deriveMandCfrom Equation (13)?

10 Let us go back to the velocity of oneparticleri: ri=Xj ri qj qj=Ji(q) q(15)whereJidenotes the Jacobian ofri. By summing up all the particles in the system, thekinetic energy of the system can then be expressed asT=XiTi=Xi12 rTi ri=Xi12 (Ji q)T(Ji q) =12 qT(Xi JTiJi) q=12 qTM(q) q(16)where we define the mass matrix,M(q) =Pi JTiJi, and will shortly show it is indeed themass matrix in Equation (14).From Equation (16), we can derive the derivative terms to construct the Lagrange s equation(Equation (13)):ddt T q T q=M q+ M q 12 qT M q T q M q+C(q, q)(17)Comparing Equation (17) to Equation (14), we confirm that themass matrix is identical inboth the Coriolis and centrifugal term in Equation (14) and is defined asC= M q 12 M q q T the second term ofC, we introduce tensor notation M q, which implies that thejthelement of the tensor M qis the matrix M qj.


Related search queries