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 .. 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.

Articulated human motions can be described by a set of dynamic equations of motion of multibody systems. Since the direct application of Newton’s second law becomes difficult when a complex articulated rigid body system is considered, we use Lagrange’s equations derived from D’Alembert’s principle to describe the dynamics of motion.

Tags:

  Dynamics, Equations, Quick, Rigid, Tutorials, Body, Motion, Multibody, Equations of motion, Rigid body, Quick tutorial on multibody dynamics, Dynamics of motion

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 .. 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.

2 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. 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.

3 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 . 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?

4 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}. 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.)

5 , 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. 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.

6 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. 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.

7 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)? 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).

8 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. Note that, in general, the quantity withnotation M q qisnotequal to M. This is because, thejthcolumn of the matrix M q qis thevector M qj qorPk (M)k qj qk, where the notation (A)jdenotes thejthcolumn of the contrast, thejthcolumn of the matrix MisPk (M)j qk we know how to compute the mass matrix, Coriolis and centrifugal terms, and gen-eralized forces, we can compute the acceleration in generalized coordinates, q, forforwarddynamics.

9 Conversely, if we are given qfrom a motion sequence, we can use these equationsof motion to derive generalized forces forinverse above formulation is convenient for a system consisting of finite number of mass , for a dynamic system that consists of rigid bodies, there are infinitely many pointscontained in each rigid body making the above formulation intractable. In the following twosections, we view a rigid body as a continuum and derive compactequations of motions inboth Cartesian coordinates and generalized Review: Newton-Euler equationsThis section reviews Newton-Euler equations for rigid body Dynamics . The derivation of massmatrixM(q) and Coriolis and centrifugal termC(q, q) for a rigid body will be presented inthe next section. If you are familiar with Newton-Euler equations , you can skip this sectionand continue to the next.

10 However, many math notations used in Witkin and Baraff s coursenotes are also reviewed in this section, such as linear momentum, angular momentum, skew-symmetric matrix and its notations and definitions used in Witkin and Baraff s course notes, such as linearmomentum, angular momentum, and skew-symmetric matrices andtheir properties, youcan safely skip this derive Newton-Euler equations , we begin with the momenta ofthe rigid body whosemass, position of the center of mass (COM), orientation, linear velocity of the COM, andangular velocity arem,x,R,v, and respectively (these definitions are the same as arefound in Witkin and Baraff s course notes). The linear momentumPis computed as:P=XiPi=Xi ri=Xi (v+ r i)=mv(18)wherer i=ri x. BecausePi r i=0(property of the COM), the second term angular momentumLabout the COM is computed as:L=XiLi=Xir i Pi=Xi r i (v+ r i)=0+Xi [r i][ ]r i= Xi [r i][r i]!


Related search queries