Lecture 3 - Rigid-Body Physics - cs.uu.nl 3 - Rigid-Body... · Rigid-Body Kinematics •Objects as...

51
Lecture III: Rigid-Body Physics

Transcript of Lecture 3 - Rigid-Body Physics - cs.uu.nl 3 - Rigid-Body... · Rigid-Body Kinematics •Objects as...

Lecture III: Rigid-Body Physics

2

Rigid-Body Motion

• Previously: Point dimensionless objects moving through a trajectory.

• Today: Objects with dimensions, moving as one piece.

3

Rigid-Body Kinematics• Objects as sets of points.• Relative distances between all points are

invariant to rigid movement.• Movement has two components:

• Linear trajectory of a central point (“translation”).• Relative rotation around the point (“rotation”).

4

Rotational Motion• ! a point on to the object. • #⃗ is the center of rotation.• Distance vector $⃗ = ! − #⃗.

• $ = $⃗ : distance.• Object rotates ó !

travels along a circular path.• Unit-length axis of rotation: '⃗.

• 2D: '⃗=)̂ (“out” from the screen).• “Positive” Rotation: counterclockwise.

• right-hand rule.

$⃗× +,+- ∥ '⃗

#!(0)

$⃗

!(0 + ∆0)

4

5

'⃗

5

Rigid-Body Kinematics

• Object coordinate system.• Describing rigid-body motion:

• Moving origin• Rotating orientation.

• Both defined w.r.t. another frame!• i.e., the canonical “world coordinates”.

6

Representing Orientation

• Object axis system (rows):

R"($) ='("($)')"($)*+"($)

.

• Changes with time $.• An orthonormal (rotation matrix).

• Rotations are orientations!• Canonical ($ = 0) axes: can be arbitrary.

• The canonical choice R" 0 = -.×. is default (“world coordinates”).

7

• Every rotation can be represented by an axis "̂ and a angle #.• Angle-axis à rotation matrix:

$ = & + sin # + + (1 + cos #)+1

• K = ["̂]×=0 −"̂8 "̂9"̂8 0 −"̂:−"̂9 "̂: 0

• The cross-product matrix: +; = "̂×;

• Rotation matrix ß angle axis:# = acos =>? $ − 1

2

"̂ = 12ABC#

$D1 − $1D$ED − $DE$1E − $E1

• Not unique! Why?

Axis-Angle Representation

8

Quaternions

• Quaternions: ! = #, &⃗• Real part: scalar #.• Imaginary part: vector &⃗ ∈ ℝ).

• Unit quaternions: ! * = #* + &⃗ * = 1.• Quaternion multiplication:

- . ! = #/#0 − &/, &0 , #0&/ + #/&0 + &/×&0• Not commutative! - . ! ≠ ! . -.• Commutative iff &/×&0 = 0 (parallel vector parts).

• Inverse and conjugate: 5- = #,−&⃗ , -67 = 85- - 9.

9

Quaternions as rotations

• Rotations as unit quaternions:

! = cos &2 , sin&2 ,̂

• Vectors .⃗ ∈ ℝ1 ó imaginary quaternions 0, .⃗ .• Rotating vector .⃗ by &, ,̂ into vector 3 : 3=!.⃗!45.• Rotation composition: subsequent multiplication:

• Rotation of ! and then 6: 7⃗=63645 = 6!.⃗!48645= 6!.⃗ 6! 45 = 9.⃗945

• Where 9 = 6!.• Quaternions ó rotation matrices with same axis-angle.

• Mutual conversion: a bit technical.

10

Special case: 2D

• Axis is always "̂ = $̂.• Quaternion % = cos )* , sin

)* $̂ reduces to complex

number . = " /01 2. • Rotation of (complex) vector:3 = .*5⃗.• Remember "67 = −1?

• Rotation by :! (reflection through point).

11

Key-framing

• Interpolating between orientation quaternions !(t)and ! t + ∆' ?

• No single option!• Not even in 2D…

• Shortest rotation: ∆!(') = ! t + ∆' !(t))*• Can be applied: ! t + ∆' =∆!(')!(t).• What happens continuously?

http://help.autodesk.com/cloudhelp/2016/ENU/Maya/images/GUID-FC3CA5CD-1E25-4108-A002-712201DB0FF6.png

12

Instantaneous Rotation

• A body goes through orientations ! " (quaternion).

• The change of orientation, or derivative #!#$:%!%" =

12 0, + !

• What is +?

13

Angular Velocity• The speed of rotation around the rotation axis:

!(#) = !(#)'̂(#).• The angular velocity vector is collinear with the

rotation axis:• unit is ⁄)*+ ,-..• '̂(#): the instantaneous axis of rotation.

14

Angular Acceleration• Angular acceleration: the rate of change of the

angular velocity:

"⃗ = $%$&

• Paralleling definition of linear acceleration.

• Unit is '($/*+

16

Tangential and Angular Velocities• Every point moves with the same angular

velocity.• Direction of vector: "⃗.

• Tangential velocity vector:

#$ = &×(⃗ = )(⃗)*

Or:

& = (⃗×#⃗(+

• & = ⁄-. / (abs. values)

0 1(*)

1(* + ∆*)

6(*)

7(*)

01(*)

(⃗

1(* + ∆*)

8

&

#(*)

17

Combined Movement

• Position of every point

! " = !$ + &$

'

)⃗* " + )⃗∥ " ,"

• )⃗∥ " : translation of the axis system.• )⃗* " =- " ×/⃗ " : axis system rotation around

its origin.• Question: how does the choice of system

(axes+origin) matter?

Combined velocity )⃗

18

• Define original (object) coordinate system and orientation "⃗ 0 , % 0 .

• Position in world coordinates:&⃗ ' = "⃗ ' + *⃗ ' = "⃗ ' + % ' *⃗ 0 %+, ' .

• *⃗=&⃗-"⃗.• Combined velocity -⃗ ' :

• Linear (translational) component: -⃗∥ ' = 01⃗ 202

• Rotational component: -⃗3 ' = 04⃗ 202 = 5(')×*⃗(').

• But, are these always distinguishable?• Yes!• *⃗ ' only depends on % ' and *⃗ 0 and not on "⃗ ' .

Decomposing Movement

19

• "⃗# $ = &'⃗ (&( = ) $ ×+⃗ $

• What is the angular velocity ) for all points of the object?• The same! Since , is the same:

-+⃗ $-$ = -, $

-$ +⃗ 0 ,/0 $ + , $ +⃗ 0 -,/0 $-$ =

12 0,) +⃗ $ + 12 +⃗ $ 0, −) = 0,) $ ×+⃗ $

• How does the choice of center 6⃗ 0 matters for )?• Or the choice of +⃗ 0 .• And why?

• Note: ) is still represented in a (global, stationary, maybe canonical) axis system!

• Another system = another representation = “different” ).

Invariance of Angular Velocity

20

Mass• The measure of the amount of matter in the

volume of an object:

! = #$% &'

• % : the density of each point the object volume '.• &': the volume element.

• Equivalently: a measure of resistance to motion or change in motion.

21

Mass• For a 3D object, mass is the integral over its

volume:

! = ###$(&, (, )) +& +( +)

• For uniform density ($ constant):

! = $ , -

22

Center of Mass• The center of mass (COM) is the “average” point

of the object, weighted by density:

!"# = 1&'

() * ,⃗ -.

• ,: point coordinates.• Point of balance for the object.• Uniform density: COM ó centroid.

COM

23

Center of Mass of System• A system of bodies has a mutual center of mass:

!"# = 1&'

()*

+&(,(

• &(: mass of each body.• ,(: location of individual COM.• &=∑()*+ &(.

• Example: two spheres in 1D

./01 = &*.* + &3.3&* + &3

COM45

46

76

75789:

24

Center of Mass

• Quite easy to determine for primitive shapes

• What about complex surface based models?

25

Dynamics• The centripetal force creates curved

motion.

• In the direction of (negative) "⃗• Object is in orbit.

• Constant force ó circular rotation with constant tangential velocity.• Why?

26

Tangential & Centripetal Accelerations• Tangential acceleration "⃗ holds:

#⃗ = "⃗×&⃗

• cf. velocity equation '⃗ = (×&⃗.

• The centripetal acceleration drives the rotational movement:

#⃗) = *+, &̂ = −(/&⃗.

• What is the “centrifugal” force?

27

Angular Momentum• Linear motion è linear momentum: "⃗ = $%⃗.• Rotational motion è angular momentum about

any fixed relative point (to which '⃗ is measured):

( = )*

'⃗×"⃗ ,-.

• unit is / 0 $ 0 1• ,-. = -$ (mass element)

• Angular momentum is conserved!• Just like the linear momentum.

• Caveat: conserved w.r.t. the same axis system.

28

Angular Momentum• Plugging in angular velocity:

"⃗×$⃗ %& = "⃗×(⃗ %) = "⃗× *×"⃗ %)

• Integrating, we get:

+ = ,-"⃗× *×"⃗ %)

• Note: The angular momentum and the angular velocity are not generally collinear!

29

The inertia Tensor• Define: "⃗ =

$%&

and ' ='(')'*

• For a single rotating body: the angular velocity is constant.• We get:

+ = ,-"⃗× '×"⃗ /0 = ,

%1 + &1 '( − $%') − $&'*−%$'( + &1 + $1 ') − %&'*−&$'( − &%') + ($1 + %1)'*

/0 =

,%1 + &1 −$% −$&−%$ &1 + $1 −%&−&$ −&% ($1 + %1)

'(')'*

/0 =

6(( −6() −6(*−6)( 6)) −6)*−6*( −6*) 6**

'(')'*

.

• Note: replacing integral with a (constant) matrix operating on a vector!

30

The Inertia Tensor• The inertia tensor ! only depends on the geometry

of the object and the relative axis system (often, COM with principal axes):

"#$ = "$# = & '( )*

"#+ = "+# = & ', )*

"$+ = "+$ = & (, )*

"## = & (- + ,- )*

"$$ = & ,- + '- )*

"++ = & '- + (- )*

0⃗ ='(,

31

The Inertia Tensor• Compact form:

! =

# $% + '% () −# +$ () −# +' ()

−# +$ () # '% + +% () −# $' ()

−# +' () −# $' () # +% + $% ()

• The diagonal elements are called the (principal) moment of inertia.

• The off-diagonal elements are called products of inertia.

32

The Inertia Tensor• Equivalently, we separate mass elements to

density and volume elements:

! = #$% &, (, )

(* + )* −&( −&)−&( )* + &* −()−&) −() &* + (*

-& -( -)

• The diagonal elements: distances to the respective principal axes.

• The non-diagonal elements: products of the perpendicular distances to the respective planes.

33

Moment of Inertia• The moment of inertia !", with respect to a

rotation axis $⃗, measures how much the mass “spreads out”:

!" = &'

(" )*+• (": perpendicular distance to axis.• Through the central rotation origin point.

• Measures ability to resist change in rotational motion.• The angular equivalent to mass!

34

Moment and Tensor• We have: !" # = &⃗×!⃗ # for any point (⃗.

• Remember: !⃗ is originà (⃗.• Then, &⃗×!⃗ is closest point on axis à (⃗.

• We get:)" = ∫+ &⃗×!⃗ #,-=&⃗.)&⃗

• The scalar angular momentum around the axis is then /" = )"0".• 0" is the angular speed around &⃗.

• Reducible to a planar problem (axis as 1 axis).

35

• Suppose we have !, " in the canonical system.• How do we find them in a rotated system #?• "$ = #&".

• Just a rotation of the axis!

• Insight: ! = ∫( *⃗ +,-×- − *⃗ 0 *⃗& 12• As *⃗$ = #&*⃗:

,$ = *⃗ +,-×- − #&*⃗ 0 *⃗&# == #& *⃗ +,-×- − *⃗ 0 *⃗& # = #&!#.

• Angular momentum is then: 3$ = !$"$ = #&!##&" = #&3

• Just the rotated vector!

Change of coordinates

Note: identity matrix ,-×-, not !!

36

• We said that angular velocity is the same regardless of the chosen (moving) center in the object axis system.

• But that is the angular velocity around this center.

• It does not mean that it is the same as the angular velocity around the origin of the world!

• Angular velocity appears even without “rotation”.

• Always know who "⃗ and #⃗ are measured against.• More geometrically: who is the axis of rotation.

• Look at chalkboard.

Warning

37

Moment of Inertia• For a mass point:

! = # $ %&'

• For a collection of mass points:! = ∑)#)%)'

• For a continuous mass distribution on the plane:! = ∫+ %&' ,#

% #

%-#-

%' #'

%. #.

%,#

38

Inertia of Primitive Shapes

• For primitive shapes, the inertia can be expressed with the parameters of the shape

• Illustration on a solid sphere• Calculating inertia by integration of

thin discs along one axis (e.g. !).• Surface equation: "# + %# + !# = '#

39

Inertia of Primitive Shapes• Distance to axis of rotation is the radius of the disc at the

cross section along !: "# = %# + '# = (# − !#.

• Summing moments of inertia of small cylinders of inertia *+= ,-.

# along the z-axis:

/0+ =12 "

#/3 = 12 "

#4/5 = 12 "

#46"#/!• We get:

0+ = 7# 46 ∫9:

: ";/! = 7# 46 ∫9:

: (# − !# #/! = 7# 46[

](;! − 2(# ⁄!? 3

+ ⁄!A 5 9:: = 46 1 − ⁄2 3 + ⁄1 5 (A.

• As 3 = 4 ⁄4 3 6(?, we finally obtain: 0+ = #A3(

#.

40

Inertia of Primitive Shapes• Solid sphere, radius ! and mass ":

• Hollow sphere, radius ! and mass ":

# =

25"!

' 0 0

0 25"!

' 0

0 0 25"!

'

# =

23"!

' 0 0

0 23"!

' 0

0 0 23"!

'

xz

y

41

Inertia of Primitive Shapes• Solid ellipsoid, semi-axes !, ", # and mass $:

• Solid box, width %, height ℎ, depth ' and mass $:

( =

15$("

-+#-) 0 0

0 15$(!

-+#-) 0

0 0 15$(!

-+"-)

( =

112$(ℎ

-+'-) 0 0

0 112$(%

-+'-) 0

0 0 112$(%

-+ℎ-)

xz

y

wd

h

42

Inertia of Primitive Shapes• Solid cylinder, radius !, height ℎ and mass #:

• Hollow cylinder, radius !, height ℎ and mass #:

$ =

112#(3!

*+ℎ*) 0 0

0 112#(3!

*+ℎ*) 0

0 0 12#!

*

$ =

112#(6!

*+ℎ*) 0 0

0 112#(6!

*+ℎ*) 00 0 #!*

h

h

43

Parallel-Axis Theorem• We can compute the moment of inertia around an

axis "⃗ going through the COM.• How to efficiently calculate it for any parallel axis "⃗′?

• parallel axis theorem:

$%& = $% + )*+

• * is the distance between the axes.• Summary: it is easy to find the moment of inertia

for every axis and center from the “built-in” one.

44

Parallel-Axis Theorem• More generally, for point displacements:

!", !$, !%

&"" = ( )* + ,* !- +-!"*

&$$ = ( ,* + .* !- +-!$*

&%% = ( .* + )* !- +-!%*

&"$ = ( .) !- +-!"!$

&"% = ( ., !- +-!"!%

&$% = ( ), !- +-!$!%

46

Torque• A force "⃗ applied at a distance r

from the origin.

• Tangential part causes tangential acceleration:

"⃗# = % & '⃗#

• The torque (⃗ is defined as:(⃗ = )⃗×"⃗

• So we get( = % & ) & + & ) = %),+.

• unit is - & %• Induces the rotation of the system.

47

Newton’s Second Law

• The law "⃗ = $ % &⃗ has an equivalent formulation with the inertia tensor and torque:

'⃗ = ()⃗

• Force ó linear acceleration

• Torque ó angular acceleration

48

Torque and Angular Momentum• Reminder: linear: "⃗ = $%⃗

$& ('⃗: linear momentum).

• Similarly with torque and angular momentum:()(* =

(+⃗(* ×'⃗ + +⃗×

('⃗(* = .⃗×/.⃗ + +⃗×"⃗ = 0 + 1⃗

• Momentum-torque relation:()(* =

((34)(* = 3 (4(* = 36⃗ = 1⃗

• Force ó derivative of linear momentum.

• Torque ó derivative of angular momentum.

49

Rotational Kinetic Energy• Translating energy formulas to rotational motion.

• The rotational kinetic energy is defined as:

!"# =12'

( ⋅ * ⋅ '

50

Conservation of Mechanical Energy• Adding rotational kinetic energy

!"# $ + ∆$ + !' $ + ∆$ + !"( $ + ∆$= !"# $ + !' $ + !"(($) + !,

• !"# is the translational kinetic energy.• !' is the potential energy.• !"( is the rotational kinetic energy. • !, the “lost” energies (surface friction, air

resistance etc.).

51

Torque Impulse• We may apply off-center forces for a very short

amount of time.• Or as a collision.

• torque impulse à instantenous change in angular momentum, i.e. in angular velocity:

!∆# = ∆%

52

Rigid Body Forces

• A force can be applied anywhere on the object, producing also a rotational motion.

• Q: how come two non-rotating objects can cause a rotation?

52

!"#$

%&

54

Complex Objects• When an object consists of multiple primitive shapes:

• Calculate the individual moment inertia of each shape around a the prescribed axis in the same coordinates system, and their individual origins.

• Use parallel axis theorem to transform to inertia to unified object coordinates.

• Add the moments together.

54