Rigid Body Dynamics CSE169: Computer Animation Instructor: Steve Rotenberg UCSD, Spring 2016
Cross Product i j k a b a a a x y z b b b x y z a b a b a b a b a b a b a b y z z y z x x z x y y x
Properties of the Cross Product Non-commutative: 𝐛 × 𝐜 ≠ 𝐜 × 𝐛 Non-associative: 𝐛 × 𝐜 × 𝐝 ≠ 𝐛 × 𝐜 × 𝐝
Cross Product a b a b a b a b a b a b a b y z z y z x x z x y y x c a b c 0 b a b a b x x z y y z c a b 0 b a b y z x y x z c a b a b 0 b z z x x y z
Cross Product c 0 b a b a b x x z y y z c a b 0 b a b y z x y x z c a b a b 0 b z z x x y z c 0 a a b x z y x c a 0 a b y z x y c a a 0 b z y x z
Cross Product c 0 a a b x z y x c a 0 a b y z x y c a a 0 b z y x z ˆ a b a b 0 a a z y ˆ a a 0 a z x a a 0 y x
Hat Operator We’ve introduced the ‘hat’ operator which converts a 𝑈 = −𝐛 vector into a skew-symmetric matrix 𝐛 This allows us to turn a cross product of two vectors into a dot product of a matrix and a vector This is mainly for algebraic convenience, as the dot product is associative (although still not commutative) ∙ 𝐜 = 𝐛 × 𝐜 𝐛 ∙ 𝐜 ≠ 𝐜 ∙ 𝐛 𝐛 ∙ 𝐝 = 𝐛 𝐛 ∙ 𝐜 ∙ 𝐜 ∙ 𝐝
Derivative of a Rotating Vector Let’s say that vector r is rotating around the origin, maintaining a fixed distance At any instant, it has an angular velocity of ω ω r d r ω r dt ω r
Derivative of Rotating Matrix If matrix A is a rigid 3x3 matrix rotating with angular velocity ω This implies that the a , b , and c axes must be rotating around ω The derivatives of each axis are ω x a , ω x b , and ω x c , and so the derivative of the entire matrix is: d A ˆ ω ω A A dt
Product Rule The product rule defines the derivative of products d ab da db b a dt dt dt d abc da db dc bc a c ab dt dt dt dt
Product Rule It can be extended to vector and matrix products as well d a b d a d b b a dt dt dt a b a b d d d b a dt dt dt d A B d A d B B A dt dt dt
Eigenvalue Equation Lets say we have a known matrix M and we want to know if there is any vector x and scalar s such that 𝐍𝐲 = 𝑡𝐲 This is known as an eigenvalue equation, and for a NxN matrix, there should be up to N eigenvectors 𝐲 𝑗 and N eigenvalues 𝑡 𝑗 that satisfy the equation If M is a symmetric matrix (i.e., 𝐍 𝑈 = 𝐍 ) then all of the eigenvalues will be real numbers and the eigenvectors will be real, orthonormal vectors (otherwise, some of the eigenvalues/eigenvectors will be complex)
Symmetric Matrix If we have a symmetric matrix 𝐍 , we can diagonalize it: 𝐍 0 = 𝐁 𝑈 ∙ 𝐍 ∙ 𝐁 Where 𝐍 0 is a diagonal matrix and 𝐁 is an orthonormal (pure rotation) matrix The columns of 𝐁 are the eigenvectors of 𝐍 and the diagonal elements in 𝐍 0 are the corresponding eigenvalues The symmetric Jacobi algorithm is a simple and effective matrix algorithm for computing this diagonalization
Symmetric Matrix Diagonalization 𝑁 𝑦𝑦 𝑁 𝑦𝑧 𝑁 𝑦𝑨 𝑁 𝑦𝑧 𝑁 𝑧𝑧 𝑁 𝑧𝑨 𝐍 = 𝑁 𝑦𝑨 𝑁 𝑧𝑨 𝑁 𝑨𝑨 𝑁 𝑦 0 0 𝐍 0 = 𝐁 𝑈 ∙ 𝐍 ∙ 𝐁 𝑥ℎ𝑓𝑠𝑓 𝐍 0 = 0 𝑁 𝑧 0 0 0 𝑁 𝑨
Dynamics of Particles
Kinematics of a Particle x position d x v veloc ity dt 2 d v d x a accelerati on 2 dt dt
Mass, Momentum, and Force m mass p m v momentum d p f m a force dt
Moment of Momentum The moment of momentum is a vector L r p Also known as angular momentum (the two terms mean basically the same thing, but are used in slightly different situations) Angular momentum has parallel properties with linear momentum In particular, like the linear momentum, angular momentum is conserved in a mechanical system It is typically represented with a capital L , which is unfortunately inconsistent with our standard of using lowercase for vectors…
Moment of Momentum L is the same for all three of these particles p • p • p r r • 3 2 r L r p 1
Moment of Momentum L is different for all of these particles p • p • r 1 L r p r 2 r 3 p •
Moment of Force (Torque) The moment of force (or torque ) about a point is the rate of change of the moment of momentum about that point d L τ dt
Moment of Force (Torque) L r p L r p d d d τ p r dt dt dt τ v p r f τ v m v r f τ r f
Rotational Inertia L = r x p is a general expression for the moment of momentum of a particle In a case where we have a particle rotating around the origin while keeping a fixed distance, we can re-express the moment of momentum in terms of it’s angular velocity ω
Rotational Inertia L r p L r v r v m m ω ω L m r r m r r ˆ ˆ ω L m r r ω L I ˆ ˆ I r r m
Rotational Inertia ˆ ˆ I m r r 0 r r 0 r r z y z y I m r 0 r r 0 r z x z x r r 0 r r 0 y x y x 2 2 r r r r r r y z x y x z 2 2 I m r r r r r r x y x z y z 2 2 r r r r r r x z y z x y
Rotational Inertia 2 2 m r r mr r mr r y z x y x z 2 2 I mr r m r r mr r x y x z y z 2 2 mr r mr r m r r x z y z x y ω L I
Rotational Inertia The rotational inertia matrix I is a 3x3 matrix that is essentially the rotational equivalent of mass It relates the angular momentum of a system to its angular velocity by the equation ω L I This is similar to how mass relates linear momentum to linear velocity, but rotation adds additional complexity p m v
Systems of Particles
Systems of Particles n m m tota l mass of all particles total i i 1 x m i i x position of center of mass cm m i p p m v to tal momentum cm i i i
Velocity of Center of Mass x m x d d i i cm v cm dt dt m i d x i m v m i dt i i v cm m m i i p cm v cm m total p m v cm total cm
Force on a Particle The change in momentum of the center of mass is equal to the sum of all of the forces on the individual particles This means that the resulting change in the total momentum is independent of the location of the applied force p p cm i d p d p d p i cm i f i dt dt dt
Systems of Particles The total moment of momentum around the center of mass is: L r p cm i i L x x p cm i cm i
Torque in a System of Particles L r p cm i i d r p d L τ i i cm cm dt dt d r p τ i i cm dt τ r f cm i i
Systems of Particles We can see that a system of particles behaves a lot like a particle itself It has a mass, position (center of mass), momentum, velocity, acceleration, and it responds to forces f f cm i We can also define it’s angular momentum and relate a change in system angular momentum to a force applied to an individual particle τ r f cm i i
Recommend
More recommend