rigid body dynamics
play

Rigid body dynamics Rigid body simulation Once we consider an - PowerPoint PPT Presentation

Rigid body dynamics Rigid body simulation Once we consider an object with spatial extent, particle system simulation is no longer sufficient Rigid body simulation Unconstrained system no contact Constrained system collision


  1. Rigid body dynamics

  2. Rigid body simulation Once we consider an object with spatial extent, particle system simulation is no longer sufficient

  3. Rigid body simulation • Unconstrained system • no contact • Constrained system • collision and contact

  4. Problems Performance is important!

  5. Problems Control is difficult!

  6. Particle simulation � x ( t ) � Y ( t ) = Position in phase space v ( t ) � � v ( t ) ˙ Y ( t ) = Velocity in phase space f ( t ) /m

  7. Rigid body concepts Translation Rotation Position Orientation Linear velocity Angular velocity Inertia tensor Mass Angular momentum Linear momentum Torque Force

  8. • Position and orientation • Linear and angular velocity • Mass and Inertia • Force and torques • Simulation

  9. Position and orientation Translation of the body   x x ( t ) = y   z Rotation of the body   r xx r yx r zx R ( t ) = r xy r yy r zy   r xz r yz r zz and are called spatial variables of a rigid body x ( t ) R ( t )

  10. Body space Body space A fixed and unchanged space where the shape of a rigid body y 0 is defined r 0i The geometric center of the x 0 rigid body lies at the origin of the body space z 0

  11. Position and orientation Body space World space y 0 r 0i R ( t ) y 0 r 0i x 0 z 0 y x 0 x ( t ) z 0 x z

  12. Position and orientation World space Use x ( t ) and R ( t ) to transform the body space into world space y 0 r 0i R ( t ) What’s the world coordinate of an x 0 arbitrary point r 0i on the body? z 0 y x ( t ) r i ( t ) = x ( t ) + R ( t ) r 0 i x z

  13. Position and orientation • Assume the rigid body has uniform density, what is the physical meaning of x ( t )? • center of mass over time • What is the physical meaning of R ( t )? • it’s a bit tricky

  14. Position and orientation Consider the x-axis in body space, (1, 0, 0), what is the direction of this vector in world space at time t ?     1 r xx  = R ( t ) 0 r xy    0 r xz which is the first column of R ( t ) R ( t ) represents the directions of x, y, and z axes of the body space in world space at time t

  15. Position and orientation • So x ( t ) and R ( t ) define the position and the orientation of the body at time t • Next we need to define how the position and orientation change over time

  16. • Position and orientation • Linear and angular velocity • Mass and Inertia • Force and torques • Simulation

  17. Linear velocity Since is the position of the center of mass in x ( t ) world space, is the velocity of the center of mass x ( t ) ˙ in world space v ( t ) = ˙ x ( t )

  18. Angular velocity • If we freeze the position of the COM in space • then any movement is due to the body spinning about some axis that passes through the COM • Otherwise, the COM would itself be moving

  19. Angular velocity We describe that spin as a vector ω ( t ) Direction of ? ω ( t ) Magnitude of ? | ω ( t ) | Linear position and velocity are related by v ( t ) = d dt x ( t ) How are angular position (orientation) and velocity related?

  20. Angular velocity How are and related? ω ( t ) R ( t ) Hint: Consider a vector at time t specified in world space, how do c ( t ) we represent in terms of ω ( t ) ˙ c ( t ) ω ( t ) | ˙ c ( t ) | = | b || ω ( t ) | = | ω ( t ) × b | ˙ c ( t ) = ω ( t ) × b = ω ( t ) × b + ω ( t ) × a ˙ b c a c ˙ c ( t ) = ω ( t ) × c ( t )

  21. Angular velocity Given the physical meaning of , what does each R ( t ) ˙ column of mean? R ( t ) At time t , the direction of x-axis of the rigid body in world space is the first column of R ( t )   r xx r xy   r xz At time t , what is the derivative of the first column of ? R ( t ) ˙     r xx r xx  = ω ( t ) × r xy r xy    r xz r xz

  22. Angular velocity         r xx r yx r zx ˙ R ( t ) =  ω ( t ) × ω ( t ) × ω ( t ) × r xy r yy r zy        r xz r yz r zz This is the relation between angular velocity and the orientation, but it is too cumbersome We can use a trick to simplify this expression

  23. Angular velocity Consider two 3 by 1 vectors: a and b , the cross product of them is   a y b z − b y a z a × b = − a x b z + b x a z   a x b y − b x a y Given a , let’s define a * to be a skew symmetric matrix   0 − a z a y 0 a z − a x   0 − a y a x     0 − a z a y b x then  = a × b a ∗ b = a z − a x b y 0    − a y a x b z 0

  24. Angular velocity                 r xx r xx r yx r yx r zx r zx ˙ ˙ R ( t ) = R ( t ) =  ω ( t ) ×  ω ( t ) ∗ ω ( t ) ∗ ω ( t ) × ω ( t ) ∗ ω ( t ) × r xy r xy r yy r yy r zy r zy               r xz r xz r yz r yz r zz r zz = ω ( t ) ∗ R ( t ) Vector relation: ˙ c ( t ) = ω ( t ) × c ( t ) ˙ Matrix relation: R = ω ( t ) ∗ R ( t )

  25. Perspective of particles • Imagine a rigid body is composed of a large number of small particles • the particles are indexed from 1 to N • each particle has a constant location r 0i in body space • the location of i- th particle in world space at time t is r i ( t ) = x ( t ) + R ( t ) r 0 i

  26. Velocity of a particle r ( t ) = d ˙ dt r ( t ) = ω ∗ R ( t ) r 0 i + v ( t ) = ω ∗ ( R ( t ) r 0 i + x ( t ) − x ( t )) + v ( t ) = ω ∗ ( r i ( t ) − x ( t )) + v ( t ) r i ( t ) = ω × ( r i ( t ) − x ( t )) + v ( t ) ˙ angular component linear component

  27. Velocity of a particle r i ( t ) = ω × ( r i ( t ) − x ( t )) + v ( t ) ˙ y 0 ω ( t ) ω ( t ) × ( r i ( t ) − x ( t )) r i ( t ) v ( t ) x ( t ) r i ( t ) ˙ y x 0 z 0 v ( t ) x z

  28. • Position and orientation • Linear and angular velocity • Mass and Inertia • Force and torques • Simulation

  29. Mass The mass of the i- th particle is m i N � Mass M = m i i =1 � m i r i ( t ) Center of mass in world space M What about center of mass in body space? (0, 0, 0)

  30. Center of mass Proof that the center of mass at time t in word space is x ( t ) � m i r i ( t ) = M = x ( t )

  31. Inertia tensor Inertia tensor describes how the mass of a rigid body is distributed relative to the center of mass 2 3 0 2 0 2 m i ( r iy + r iz ) − m i r 0 ix r 0 − m i r 0 ix r 0 iy iz X 0 2 0 2 I = − m i r 0 iy r 0 m i ( r ix + r iz ) − m i r 0 iy r 0 6 7 ix iz 4 5 0 2 0 2 − m i r 0 iz r 0 − m i r 0 iz r 0 m i ( r ix + r iy ) i ix iy r ′ i = r i ( t ) − x ( t ) I ( t ) depends on the orientation of a body, but not the translation For an actual implementation, we replace the finite sum with the integrals over a body’s volume in world space

  32. Inertia tensor • Inertia tensors vary in world space over time • But are constant in the body space • Pre-compute the integral part in the body space to save time

  33. Inertia tensor Pre-compute I body that does not vary over time m i r 0 2 2 3 2 m i r 0 ix r 0 m i r 0 ix r 0 3 1 0 0 ix iy iz X m i r 0 T m i r 0 2 i r 0 I ( t ) = 0 1 0 m i r 0 iy r 0 m i r 0 iy r 0 5 − 4 4 5 i ix iy iz m i r 0 2 0 0 1 m i r 0 iz r 0 m i r 0 iz r 0 ix iy iz � m i ( r ′ T i r ′ T i r ′ i ) 1 − r ′ I ( t ) = i ) m i (( R ( t ) r 0 i ) T ( R ( t ) r 0 i ) 1 − ( R ( t ) r 0 i )( R ( t ) r 0 i ) T ) � = 0 i R ( t ) T ) 0 i r 0 i ) R ( t ) T 1 − R ( t ) r 0 i r T � m i ( R ( t )( r T = �� � m i (( r T 0 i r 0 i ) 1 − r 0 i r T R ( t ) T = R ( t ) 0 i ) I ( t ) = R ( t ) I body R ( t ) T � m i (( r T 0 i r 0 i ) 1 − r 0 i r T I body = 0 i ) i

  34. Inertia tensor Pre-compute I body that does not vary over time m i r 0 2 2 3 2 m i r 0 ix r 0 m i r 0 ix r 0 3 1 0 0 ix iy iz X m i r 0 T m i r 0 2 i r 0 I ( t ) = 0 1 0 m i r 0 iy r 0 m i r 0 iy r 0 5 − 4 4 5 i ix iy iz m i r 0 2 0 0 1 m i r 0 iz r 0 m i r 0 iz r 0 ix iy iz � m i ( r ′ T i r ′ T i r ′ i ) 1 − r ′ I ( t ) = i ) m i (( R ( t ) r 0 i ) T ( R ( t ) r 0 i ) 1 − ( R ( t ) r 0 i )( R ( t ) r 0 i ) T ) � = 0 i R ( t ) T ) 0 i r 0 i ) R ( t ) T 1 − R ( t ) r 0 i r T � m i ( R ( t )( r T = �� � m i (( r T 0 i r 0 i ) 1 − r 0 i r T R ( t ) T = R ( t ) 0 i ) I ( t ) = R ( t ) I body R ( t ) T � m i (( r T 0 i r 0 i ) 1 − r 0 i r T I body = 0 i ) i

  35. Approximate inertia tensor • Bounding boxes • Pros: simple • Cons: inaccurate

  36. Approximate inertia tensor • Point sampling • Pros: simple, fairly accurate • Cons: expensive, requires volume test

  37. Approximate inertia tensor • Green’s theorem � � � F · d s = ( ∇ × F ) · d a ∂ D D • Pros: simple, exact • Cons: require boundary representation

  38. • Position and orientation • Linear and angular velocity • Mass and Inertia • Force and torques • Simulation

  39. Force and torque F i ( t ) denotes the total force from external forces acting on the i- th particle at time t y 0 τ ( t ) = ( r i ( t ) − x ( t )) × F i ( t ) � F ( t ) = F i ( t ) r i ( t ) x ( t ) i F i ( t ) � τ ( t ) = ( r i ( t ) − x ( t )) × F i ( t ) x 0 z 0 i y x z

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend