36
Rigid Body Dynamics and Beyond 1

Rigid Body Dynamics and Beyond - Computer Graphics15462.courses.cs.cmu.edu/fall2016content/lectures/24_rbd/24_rbd... · Rigid Body Dynamics and Beyond 1. Rigid Bodies 3. A rigid body

  • Upload
    buithuy

  • View
    249

  • Download
    3

Embed Size (px)

Citation preview

Page 1: Rigid Body Dynamics and Beyond - Computer Graphics15462.courses.cs.cmu.edu/fall2016content/lectures/24_rbd/24_rbd... · Rigid Body Dynamics and Beyond 1. Rigid Bodies 3. A rigid body

Rigid Body Dynamics and Beyond

1

Page 2: Rigid Body Dynamics and Beyond - Computer Graphics15462.courses.cs.cmu.edu/fall2016content/lectures/24_rbd/24_rbd... · Rigid Body Dynamics and Beyond 1. Rigid Bodies 3. A rigid body
Page 3: Rigid Body Dynamics and Beyond - Computer Graphics15462.courses.cs.cmu.edu/fall2016content/lectures/24_rbd/24_rbd... · Rigid Body Dynamics and Beyond 1. Rigid Bodies 3. A rigid body

Rigid Bodies

3

Page 4: Rigid Body Dynamics and Beyond - Computer Graphics15462.courses.cs.cmu.edu/fall2016content/lectures/24_rbd/24_rbd... · Rigid Body Dynamics and Beyond 1. Rigid Bodies 3. A rigid body

A rigid body

4

• Collection of particles

• Distance between any two particles is always constant

• What types of motions preserve these constraints?• Translation, rotation

Page 5: Rigid Body Dynamics and Beyond - Computer Graphics15462.courses.cs.cmu.edu/fall2016content/lectures/24_rbd/24_rbd... · Rigid Body Dynamics and Beyond 1. Rigid Bodies 3. A rigid body

Rigid Body Parameterization (reduced coordinates)

5

𝟎

𝒙(𝑡)

𝒑0 𝒑(𝑡)

𝒑 𝑡 = 𝒙 𝑡 + 𝑹 𝑡 𝒑0positionorientation

Page 6: Rigid Body Dynamics and Beyond - Computer Graphics15462.courses.cs.cmu.edu/fall2016content/lectures/24_rbd/24_rbd... · Rigid Body Dynamics and Beyond 1. Rigid Bodies 3. A rigid body

Body Orientation

Rotates vectors from body to world coordinates

• Columns of 𝑹 𝑡 encode world coordinates of body axes

6

Page 7: Rigid Body Dynamics and Beyond - Computer Graphics15462.courses.cs.cmu.edu/fall2016content/lectures/24_rbd/24_rbd... · Rigid Body Dynamics and Beyond 1. Rigid Bodies 3. A rigid body

Center of Mass (COM)

Geometric center of the body

• (0,0,0) in body coordinates

• 𝒙 𝑡 in world coordinates

𝑪𝑶𝑴:σ𝑚𝑖𝒑𝑖(𝒕)

𝑀= 𝒙(𝒕)

𝑀 =𝑚𝑖

Geometric center: σ𝑚𝑖𝒑0𝑖 ≔ (0,0,0)

𝟎

𝒑0𝑖

Page 8: Rigid Body Dynamics and Beyond - Computer Graphics15462.courses.cs.cmu.edu/fall2016content/lectures/24_rbd/24_rbd... · Rigid Body Dynamics and Beyond 1. Rigid Bodies 3. A rigid body

Body velocities

How do the COM position and orientation change with time?

8

Linear velocity: 𝒗 𝑡 =𝑑𝒙(𝑡)

𝑑𝑡= ሶ𝒙(𝑡)

Angular velocity: 𝝎 𝑡 =?𝝎 𝑡 encodes spin direction and magnitude

What is the relationship between 𝝎 𝑡 and 𝑹 𝑡 ?

Page 9: Rigid Body Dynamics and Beyond - Computer Graphics15462.courses.cs.cmu.edu/fall2016content/lectures/24_rbd/24_rbd... · Rigid Body Dynamics and Beyond 1. Rigid Bodies 3. A rigid body

Angular velocity

• Consider vector 𝒓 𝑡 . What is ሶ𝒓 𝑡 ?

• Relation to ሶ𝑹 𝒕 =𝑑𝑹 𝑡

𝑑𝑡?

9

ሶ𝒓 𝑡 = 𝝎(𝑡) × 𝒓(𝑡)

Page 10: Rigid Body Dynamics and Beyond - Computer Graphics15462.courses.cs.cmu.edu/fall2016content/lectures/24_rbd/24_rbd... · Rigid Body Dynamics and Beyond 1. Rigid Bodies 3. A rigid body

Angular Velocity

R rotates vectors from body to world coords

• Columns of 𝑹 𝑡 :world coordinates of body axes

• Columns of ሶ𝑹 𝑡 : change of body axes world coordinates wrt time

10

ሶ𝒙′ 𝑡 = 𝝎(𝑡) × 𝒙′(𝑡)

ሶ𝒚′ 𝑡 = 𝝎(𝑡) × 𝒚′(𝑡)

ሶ𝒛′ 𝑡 = 𝝎(𝑡) × 𝒛′(𝑡)

ሶ𝑹 𝑡 =𝝎 𝑡 ×𝑹(𝑡)

Putting these all together:

Page 11: Rigid Body Dynamics and Beyond - Computer Graphics15462.courses.cs.cmu.edu/fall2016content/lectures/24_rbd/24_rbd... · Rigid Body Dynamics and Beyond 1. Rigid Bodies 3. A rigid body

Recall

11

𝒂×

Page 12: Rigid Body Dynamics and Beyond - Computer Graphics15462.courses.cs.cmu.edu/fall2016content/lectures/24_rbd/24_rbd... · Rigid Body Dynamics and Beyond 1. Rigid Bodies 3. A rigid body

Summary

• Kinematics: how does the body move?

• Dynamics: what causes this motion?

12

𝒑 𝑡 = 𝒙 𝑡 + 𝑹 𝑡 𝒑0

ሶ𝑹 𝑡 =𝝎 𝑡 ×𝑹(𝑡)

𝒗 𝑡 =𝑑𝒙(𝑡)

𝑑𝑡= ሶ𝒙(𝑡)

ሶ𝒑 𝑡 = ሶ𝒙 𝑡 + 𝝎 𝑡 ×𝑹 𝑡 𝒑0= ሶ𝒙 𝑡 + 𝝎 𝑡 ×(𝒑 𝑡 − 𝒙(𝑡))

𝒑 𝑡 , 𝑹 𝑡

Page 13: Rigid Body Dynamics and Beyond - Computer Graphics15462.courses.cs.cmu.edu/fall2016content/lectures/24_rbd/24_rbd... · Rigid Body Dynamics and Beyond 1. Rigid Bodies 3. A rigid body

Forces and Torques

13

• External forces: acting on individual particles

• Conservation of linear momentum (Newton’s 2nd law):

• Analogous concepts for angular motion

Net force on body: 𝑭 = σ𝑭𝑖

𝒑 = 𝑀𝒗; ሶ𝒑 = 𝑭

Page 14: Rigid Body Dynamics and Beyond - Computer Graphics15462.courses.cs.cmu.edu/fall2016content/lectures/24_rbd/24_rbd... · Rigid Body Dynamics and Beyond 1. Rigid Bodies 3. A rigid body

Forces and Torques

14

• Forces on individual particles generate torques

- (consequence of constant inter-particle distance)

Net torque on body: 𝝉 = σ𝝉𝑖 =σ𝒓𝒊 × 𝒇𝑖

Page 15: Rigid Body Dynamics and Beyond - Computer Graphics15462.courses.cs.cmu.edu/fall2016content/lectures/24_rbd/24_rbd... · Rigid Body Dynamics and Beyond 1. Rigid Bodies 3. A rigid body

Forces and Torques

15

• Forces on individual particles generate torques

- (consequence of constant inter-particle distance)

• Conservation of angular momentum:

• What is 𝑰?• Moment of Inertia tensor

Net torque on body: 𝝉 = σ𝝉𝑖 =σ𝒓𝒊 × 𝒇𝑖

𝑳 = 𝑰𝝎; ሶ𝑳 = 𝝉

Page 16: Rigid Body Dynamics and Beyond - Computer Graphics15462.courses.cs.cmu.edu/fall2016content/lectures/24_rbd/24_rbd... · Rigid Body Dynamics and Beyond 1. Rigid Bodies 3. A rigid body

The Inertia Tensor

• Analogous to mass, but for rotational motions

- quantifies distribution of mass as a 2nd order tensor

• Body-coords MOI is constant, can be precomputed –easy to look up for common shapes!

• World-cords MOI changes with time!

16

𝑰 = 𝑹𝑰𝑏𝑹𝑇

𝑰𝑏 =

𝒊

𝑚𝑖(𝒑0𝑖𝑇𝒑0𝑖𝟏 − 𝒑0𝑖𝒑0𝑖

𝑇)

Page 17: Rigid Body Dynamics and Beyond - Computer Graphics15462.courses.cs.cmu.edu/fall2016content/lectures/24_rbd/24_rbd... · Rigid Body Dynamics and Beyond 1. Rigid Bodies 3. A rigid body

Conservation of Linear and Angular Momenta

• Linear Momentum:

• Angular Momentum:

• Note: they are decoupled!17

𝒑 = 𝑀𝒗; ሶ𝒑 = 𝑭; ሶ𝒗 =1

𝑴𝑭

𝑳 = 𝑰𝝎; ሶ𝑳 = 𝝉; ሶ𝝎 = 𝑰−𝟏(𝝉 − 𝝎 × 𝑰𝝎)

Page 18: Rigid Body Dynamics and Beyond - Computer Graphics15462.courses.cs.cmu.edu/fall2016content/lectures/24_rbd/24_rbd... · Rigid Body Dynamics and Beyond 1. Rigid Bodies 3. A rigid body

Numerical Integration

• COM Acceleration Velocity Position

• Easy: 𝒗𝑡+1 = 𝒗𝑡 + Δ𝑡 ሶ𝒗; 𝒙𝑡+1 = 𝒙𝑡 + Δ𝑡𝒗𝑡+1

• Angular Acceleration Angular Velocity

• Easy:𝝎𝑡+1 = 𝝎𝑡 + Δ𝑡 ሶ𝝎

• Angular Velocity to Rotations?

• A bit trickier: 𝑹𝑡+1 = 𝑹𝑡 + Δ𝑡 ሶ𝑹𝑡+1?

18

Page 19: Rigid Body Dynamics and Beyond - Computer Graphics15462.courses.cs.cmu.edu/fall2016content/lectures/24_rbd/24_rbd... · Rigid Body Dynamics and Beyond 1. Rigid Bodies 3. A rigid body

Updating Rotations

𝑹𝑡+1 = 𝑹𝑡 + Δ𝑡 ሶ𝑹𝑡+1= 𝑹𝑡 + Δ𝑡𝝎𝑡+1×

𝑹𝑡 = (𝐼 + Δ𝑡𝝎𝑡+1×) 𝑹𝑡

No longer a rotation matrix!

• Option 1: orthonormalize (Gram–Schmidt)

• Option 2: explicitly compute rotation 𝑹Δ𝑡 due to spinning with angular speed 𝝎𝑡+1 for Δ𝑡 seconds, apply incremental rotations: 𝑹𝑡+1 = 𝑹Δ𝑡𝑹𝑡

• NOTE: same concept applies if other rotation parameterizations (i.e. quaternions) are employed

19

Page 20: Rigid Body Dynamics and Beyond - Computer Graphics15462.courses.cs.cmu.edu/fall2016content/lectures/24_rbd/24_rbd... · Rigid Body Dynamics and Beyond 1. Rigid Bodies 3. A rigid body

Computing forces

• Given a set of forces, you know how to compute the motion of a rigid body

• Where do forces come from?

• User interaction

• Gravity

20

Page 21: Rigid Body Dynamics and Beyond - Computer Graphics15462.courses.cs.cmu.edu/fall2016content/lectures/24_rbd/24_rbd... · Rigid Body Dynamics and Beyond 1. Rigid Bodies 3. A rigid body

Rigid Bodies

21

Page 22: Rigid Body Dynamics and Beyond - Computer Graphics15462.courses.cs.cmu.edu/fall2016content/lectures/24_rbd/24_rbd... · Rigid Body Dynamics and Beyond 1. Rigid Bodies 3. A rigid body

Computing forces

• Given a set of forces, you know how to compute the motion of a rigid body

• Where do forces come from?

• User interaction

• Gravity

• Collisions and contacts

22

Page 23: Rigid Body Dynamics and Beyond - Computer Graphics15462.courses.cs.cmu.edu/fall2016content/lectures/24_rbd/24_rbd... · Rigid Body Dynamics and Beyond 1. Rigid Bodies 3. A rigid body

Collision Response

23

Page 24: Rigid Body Dynamics and Beyond - Computer Graphics15462.courses.cs.cmu.edu/fall2016content/lectures/24_rbd/24_rbd... · Rigid Body Dynamics and Beyond 1. Rigid Bodies 3. A rigid body

Collision Response

24

Page 25: Rigid Body Dynamics and Beyond - Computer Graphics15462.courses.cs.cmu.edu/fall2016content/lectures/24_rbd/24_rbd... · Rigid Body Dynamics and Beyond 1. Rigid Bodies 3. A rigid body

Collision Response

25

Page 26: Rigid Body Dynamics and Beyond - Computer Graphics15462.courses.cs.cmu.edu/fall2016content/lectures/24_rbd/24_rbd... · Rigid Body Dynamics and Beyond 1. Rigid Bodies 3. A rigid body

Collision Response

26

Page 27: Rigid Body Dynamics and Beyond - Computer Graphics15462.courses.cs.cmu.edu/fall2016content/lectures/24_rbd/24_rbd... · Rigid Body Dynamics and Beyond 1. Rigid Bodies 3. A rigid body

Collision Response

27

Page 28: Rigid Body Dynamics and Beyond - Computer Graphics15462.courses.cs.cmu.edu/fall2016content/lectures/24_rbd/24_rbd... · Rigid Body Dynamics and Beyond 1. Rigid Bodies 3. A rigid body

Collision Response

28

“Nonconvex Rigid Bodies with Stacking”, Guendelman et al.,

SIGGRAPH 2003

Page 29: Rigid Body Dynamics and Beyond - Computer Graphics15462.courses.cs.cmu.edu/fall2016content/lectures/24_rbd/24_rbd... · Rigid Body Dynamics and Beyond 1. Rigid Bodies 3. A rigid body

Computing forces

• Given a set of forces, you know how to compute the motion of a rigid body

• Where do forces come from?

• User interaction

• Gravity

• Collisions and contacts Easiest way to model: “spring” penalty forces

• Articulation

29

Page 30: Rigid Body Dynamics and Beyond - Computer Graphics15462.courses.cs.cmu.edu/fall2016content/lectures/24_rbd/24_rbd... · Rigid Body Dynamics and Beyond 1. Rigid Bodies 3. A rigid body

Articulated Rigid Body Dynamics

30

Page 31: Rigid Body Dynamics and Beyond - Computer Graphics15462.courses.cs.cmu.edu/fall2016content/lectures/24_rbd/24_rbd... · Rigid Body Dynamics and Beyond 1. Rigid Bodies 3. A rigid body

Computing forces

• Given a set of forces, you know how to compute the motion of a rigid body

• Where do forces come from?

• User interaction

• Gravity

• Collisions and contacts Easiest way to model: “spring” penalty forces

• Articulation Easiest way to model: “spring” penalty forces

31

Page 32: Rigid Body Dynamics and Beyond - Computer Graphics15462.courses.cs.cmu.edu/fall2016content/lectures/24_rbd/24_rbd... · Rigid Body Dynamics and Beyond 1. Rigid Bodies 3. A rigid body

Artistic control over rigid body simulations

Many-Worlds Browsing for Control of MultibodyDynamics Twigg and James, 2007

Page 33: Rigid Body Dynamics and Beyond - Computer Graphics15462.courses.cs.cmu.edu/fall2016content/lectures/24_rbd/24_rbd... · Rigid Body Dynamics and Beyond 1. Rigid Bodies 3. A rigid body

Many Worlds Browsing…

vt

`compute and

apply impulse

vt+1

Sampling Plausible Worlds

[O’Sullivan et al., 2003]

Page 34: Rigid Body Dynamics and Beyond - Computer Graphics15462.courses.cs.cmu.edu/fall2016content/lectures/24_rbd/24_rbd... · Rigid Body Dynamics and Beyond 1. Rigid Bodies 3. A rigid body

Many Worlds Browsing…

Interactive Browsing – various criteria

Page 35: Rigid Body Dynamics and Beyond - Computer Graphics15462.courses.cs.cmu.edu/fall2016content/lectures/24_rbd/24_rbd... · Rigid Body Dynamics and Beyond 1. Rigid Bodies 3. A rigid body

Many Worlds Browsing

Page 36: Rigid Body Dynamics and Beyond - Computer Graphics15462.courses.cs.cmu.edu/fall2016content/lectures/24_rbd/24_rbd... · Rigid Body Dynamics and Beyond 1. Rigid Bodies 3. A rigid body

For more information

An Introduction to Physically Based Modeling: - http://www.cs.cmu.edu/~baraff/pbm/