Lesson Rigid Body Dynamics

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

Rotational & Rigid-Body Mechanics. Lectures 3+4

Artificial Intelligence & Neuro Cognitive Systems Fakultät für Informatik. Robot Dynamics. Dr.-Ing. John Nassour J.

Motion in Space. MATH 311, Calculus III. J. Robert Buchanan. Fall Department of Mathematics. J. Robert Buchanan Motion in Space

Rigid Body Dynamics and Beyond

Manipulator Dynamics 2. Instructor: Jacob Rosen Advanced Robotic - MAE 263D - Department of Mechanical & Aerospace Engineering - UCLA

Game Physics. Game and Media Technology Master Program - Utrecht University. Dr. Nicolas Pronost

General Physics I. Lecture 10: Rolling Motion and Angular Momentum.

CP1 REVISION LECTURE 3 INTRODUCTION TO CLASSICAL MECHANICS. Prof. N. Harnew University of Oxford TT 2017

Chapter 11. Angular Momentum

Rotational Motion. Chapter 4. P. J. Grandinetti. Sep. 1, Chem P. J. Grandinetti (Chem. 4300) Rotational Motion Sep.

Closed-Form Solution Of Absolute Orientation Using Unit Quaternions

Lecture II: Rigid-Body Physics

Dynamics 12e. Copyright 2010 Pearson Education South Asia Pte Ltd. Chapter 20 3D Kinematics of a Rigid Body

6. 3D Kinematics DE2-EA 2.1: M4DE. Dr Connor Myant

Classical Mechanics. Luis Anchordoqui

Sec. 1.1: Basics of Vectors

Spacecraft Dynamics and Control

Rigid body dynamics. Basilio Bona. DAUIN - Politecnico di Torino. October 2013

z F 3 = = = m 1 F 1 m 2 F 2 m 3 - Linear Momentum dp dt F net = d P net = d p 1 dt d p n dt - Conservation of Linear Momentum Δ P = 0

Flight Dynamics & Control Equations of Motion of 6 dof Rigid Aircraft-Kinematics

In this section of notes, we look at the calculation of forces and torques for a manipulator in two settings:

MECH 5312 Solid Mechanics II. Dr. Calvin M. Stewart Department of Mechanical Engineering The University of Texas at El Paso

Chapter 11. Angular Momentum

A Newtonian Development of the Mean-Axis Dynamics with Example and Simulation

PSE Game Physics. Session (6) Angular momentum, microcollisions, damping. Oliver Meister, Roland Wittmann

7.4 Rigid body simulation*

CS-184: Computer Graphics

Rigid Body Rotation. Speaker: Xiaolei Chen Advisor: Prof. Xiaolin Li. Department of Applied Mathematics and Statistics Stony Brook University (SUNY)

Dynamics. 1 Copyright c 2015 Roderic Grupen

Part 8: Rigid Body Dynamics

Multibody simulation

Kinematics (special case) Dynamics gravity, tension, elastic, normal, friction. Energy: kinetic, potential gravity, spring + work (friction)

Applications of Eigenvalues & Eigenvectors

Phys 7221 Homework # 8

Dynamics. Basilio Bona. Semester 1, DAUIN Politecnico di Torino. B. Bona (DAUIN) Dynamics Semester 1, / 18

MAE 323: Lecture 1. Review

1/30. Rigid Body Rotations. Dave Frank

Game Physics. Game and Media Technology Master Program - Utrecht University. Dr. Nicolas Pronost

Torque and Rotation Lecture 7

Translational and Rotational Dynamics!

CIS 4930/6930: Principles of Cyber-Physical Systems

Physics 201. Professor P. Q. Hung. 311B, Physics Building. Physics 201 p. 1/1

Chapters 10 & 11: Rotational Dynamics Thursday March 8 th

CS 480/680: GAME ENGINE PROGRAMMING

particle p = m v F ext = d P = M d v cm dt

Rotation. Rotational Variables

3-D Kinetics of Rigid Bodies

A B Ax Bx Ay By Az Bz

Chapter 6: Vector Analysis

Rotational Kinematics and Dynamics. UCVTS AIT Physics

Differential Kinematics

Robot Control Basics CS 685

CSE 167: Introduction to Computer Graphics Lecture #2: Linear Algebra Primer

Inelastic Collisions. Experiment Number 8 Physics 109 Fall 2017

Thursday Simulation & Unity

Physics 2A Chapter 10 - Rotational Motion Fall 2018

12. Rigid Body Dynamics I

16. Rotational Dynamics

Circular Motion, Pt 2: Angular Dynamics. Mr. Velazquez AP/Honors Physics

Fundamentals Physics. Chapter 10 Rotation

GG612 Lecture 3. Outline

Exercise 1: Inertia moment of a simple pendulum

Chapter 8 Lecture Notes

Game Physics: Basic Concepts

= o + t = ot + ½ t 2 = o + 2

CSE 167: Introduction to Computer Graphics Lecture #2: Linear Algebra Primer

PLANAR KINETIC EQUATIONS OF MOTION (Section 17.2)

Articulated body dynamics

Chapter 4: Fluid Kinematics

V (r,t) = i ˆ u( x, y,z,t) + ˆ j v( x, y,z,t) + k ˆ w( x, y, z,t)

AB-267 DYNAMICS & CONTROL OF FLEXIBLE AIRCRAFT

MATH 1020 WORKSHEET 12.1 & 12.2 Vectors in the Plane

Chapter 6: Momentum Analysis

Chapter 10. Rotation of a Rigid Object about a Fixed Axis

A set of N particles forms a rigid body if the distance between any 2 particles is fixed:

Rotational Motion, Torque, Angular Acceleration, and Moment of Inertia. 8.01t Nov 3, 2004

Physics of Rotation. Physics 109, Introduction To Physics Fall 2017

Dynamics of Open Chains

9 Kinetics of 3D rigid bodies - rotating frames

Simplified Analytical Model of a Six-Degree-of-Freedom Large-Gap Magnetic Suspension System

Homogeneous Transformations

Multibody simulation

In most robotic applications the goal is to find a multi-body dynamics description formulated

Chapter 10: Rotation

f x f y or else = m a y

If the symmetry axes of a uniform symmetric body coincide with the coordinate axes, the products of inertia (Ixy etc.

In this section, mathematical description of the motion of fluid elements moving in a flow field is

Rotational Motion. Rotational Motion. Rotational Motion

CIRCULAR MOTION AND ROTATION

Chapter 4 The Equations of Motion

Study guide for Exam 1. by William H. Meeks III October 26, 2012

Rotation. EMU Physics Department. Ali ÖVGÜN.

Lagrange Multipliers

SOLUTIONS, PROBLEM SET 11

General Definition of Torque, final. Lever Arm. General Definition of Torque 7/29/2010. Units of Chapter 10

Uniform Circular Motion

Two-Dimensional Rotational Kinematics

Position and orientation of rigid bodies

(W: 12:05-1:50, 50-N202)

Transcription:

Lesson 8 Rigid Body Dynamics

Lesson 8 Outline Problem definition and motivations Dynamics of rigid bodies The equation of unconstrained motion (ODE) User and time control Demos / tools / libs

Rigid Body Concepts

Concept of Rigid Bodies Assumption of Rigidity: The shape of rigid body never undergoes any deformation during simulation Motion concept: Due to rigidity overall motion of body is a composition of 1) Linear motion of the center of mass (CoM) 2) Angular motion - rotation of body shape around center of mass

Position and Orientation Position is represented as vector c = (x, y, z) Orientation can by represented using: 1) Euler Angles: q = (φ, θ, ψ) This is the minimal 6 (3+3) DOF representation of body. Problems of gimbal lock (non-uniqueness) 2) Rotation Matrices: R = (Ri,j) R3x3 Overdetermined representation. Must by orthogonalized. 3) Unit Quaternions: q = (x, y, z, w) 7 (3+4) DOF representation solved by simple normalization. Very suitable for angular velocity integration

Linear and Angular Velocity Linear velocity v(t) is simply the time derivative of position Formally: v(t) = c'(t) = dc(t)/dt Angular velocity ω(t) is a vector parallel to rotational axis with the length equal to spin velocity Spin velocity = total radians body spin around rotational axis per second. Formally: q'(t) =.5 Q ω(t) (see later for details)

Linear and Angular Velocity Assume some body point p = c + r ω Local displacement r = a + b can be decomposed into axis parallel a and axis perpendicular b b Current velocity u of point p is Perpendicular to rotation axis Proportional to length of angular velocity ω and distance from rotation axis b Formally u = ω b u = ω x b a Since ω x a = u = ω x b = ω x a + ω x b = ω x r (= r') u c p r = a+b

Linear and Angular Velocity Cross product matrix ax for vector a = (ax, ay, az) is antisymmetric 3x3 matrix a z a y b x a b=a b= a z a x b y a y a x bz Rotation matrix R is a orthonormal 3x3 matrix R= R x R y R xx R xy R xz R z = R yx R yy R yz R zx R zy R zz

Linear and Angular Velocity Time derivative of rotation matrix R with respect to angular velocity ω is (assuming r' = ω x r = ωx r) R = R x R y R z = R x R y R z = R x R y R z = R Time derivative of orientation quaternion q=(x,y,z,w) is x w 1 z y q = = z 2 y w x Q is 4x3 quaternion matrix z w x y y x 1 x y = Q w 2 z z

Center of Mass Consider rigid body as a collection of particles with their positions pi and masses mi Center of mass c is a weighted average of all particles c = mi pi mi = mi pi M where M = Σ mi is total mass of body Relative position ri of i-th particle satisfies pi = c + ri Current i-th particle position is pi = c + R ri R is current rotation matrix of body r is initial local-space position of i-th particle i

Linear and Angular Momentum Assuming each particle has its own mass mi and velocity ui = ω x ri + v, we define its linear momentum Pi and i-th angular momentum Li as P i = m i ui Li = ri x Pi = miri x ui Summing up Pi and Li over all particles we get total linear momentum P and angular momentum L P = Σ Pi = Σ mi ui = Σ mi (ω x ri + v) = = M v L = Σ Li = Σ mi ri x ui = Σ mi ri x (ω x ri + v) = = J ω where matrix J is the current inertia tensor

Mass and Inertia Tensor Total mass M and inertial tensor J are defined as mi mi r i r i M = J = = mi 2 2 r iy r iz r ix r iy r ix r iz r iy r ix r 2ix r2iz r iy riz 2 2 r iz r ix riz r iy r ix r iy Unlike scalar mass M, inertia tensor J is time dependent Initial inertia is J = -Σ mi rix rix Bodies never deform, thus current inertia can be expressed in terms of initial inertia J and current rotation matrix R J = RJRT and J-1 = RJ-1RT

Mass and Inertia Tensor J1 = Inertia tensor of sphere with radius r and mass m J2 = Inertia tensor of solid box with mass m and width w, height h and depth d J1 = 2mr 5 2 2mr 5 2 2mr 5 J2 = 2 m 2 2 h d 12 m 2 w d 2 12 m 2 2 w h 12

Mass and Inertia Tensor Translated inertia tensor by offset r is J = J + m(rtr 1 rrt) where 1 is 3x3 identity matrix and r is a column vector, ie. transposed rt = (rx, ry, rz) is row vector, thus rtr (inner or dot product) is scalar rrt (outer product) is a 3x3 matrix Given body with n solid parts with mass mi, center of mass ci and inertia tensor Ji, total body Mass m = Σ mi Inertia J = Σ Ji = Σ (Ji + mi(citci 1 cicit)) Center of mass c = (Σ mi ci) / (Σ mi)

Linear and Angular Acceleration The time derivative of inertia J (and J-1) is J' = (RJRT)' = R'JRT + RJR'T = = ωx J - J ωx J'-1 = (RJ-1RT)' = R'J-1RT + RJ-1R'T = = ωx J-1 - J-1 ωx Linear acceleration a is defined as a = v' = (M-1P)' = M-1P' = M-1f Where f is force - time derivative of linear momentum P Angular acceleration α is defined as α = ω' = (J-1L)' = J'-1L + J-1L' = = - J-1ωxJω + J-1τ Where τ is torque - time derivative of angular momentum L

Force and Torque Force fi and torque τi of i-th particle are fi = miai (i-th force) τi = ri x fi = miri x ai (i-th torque) Summing up over all particles we get the famous Newton-Euler equations for total force and torque f = Σfi = Σmiai = = M v' = P' τ = Στi = Σmiri x ai = = Jω + ωx Jω = = L'

Summary of Rigid Body Concepts We can summarize main physical properties (quantities) of rigid bodies as either Kinematical (pure geometrical, mass independent ) Dynamical (physical, mass dependent ) Kinematical Properties Dynamical Properties lin Position c(t) R3x1 Mass M R1x1 ang Orientation q(t) R4x1 Inertia Tensor J(t) R3x3 lin Linear velocity v(t) R3x1 Linear Momentum P(t) R3x1 ang Angular velocity ω(t) R3x1 Angular Momentum L(t) R3x1 lin Linear acceleration a(t) R3x1 Force f(t) R3x1 ang Angular acceleration α(t) R3x1 Torque τ(t) R3x1

Rigid Body Equation of Motion The rigid body equation of unconstrained motion can be summarized as the following ODE c t d d q t x t = = dt dt P t L t v t 1 Q t t 2 f t t Where auxiliary variables are q w t q z t Q t = q y t q x t q z t q w t q x t q y t q y t q x t q w t q z t v t = M 1 P t t = J 1 t L t T J 1 t = R t J 1 R t

User and Time control

User and Time control According to the time control of the simulation, we can split the overall simulation process into three nested layers The Presentation Layer The Collision Layer The Simulation Layer. frame Collision step sub-step t Presentation Simulation

Time control: Presentation Layer From users point-of-view the overall simulation must be present (rendered) in a sequence of animation frames The size of the frame is obviously application dependent: In time-critical and interactive applications (VR) it is usually fixed and defined by the user/device (min. 25 frames per seconds) In large, complex offline simulations it can vary upon the computational expenses

Time control: Collision Layer Within each frame the motion solver perform some sub-steps to advance the motion correctly. Due to collision and constraint resolution discontinuities arise in the motion Depending on the time of collision detection (resolution) the number (size) of collision steps can be fixed or adaptive When handling multiple penetrating objects in one step fixed time stepping is usually suitable If only one collision is resolved at once adaptive time stepping technique should be used

Backtracking Approach We want to advance the simulation form t to t1 Use bisection to find the first collision occurrence First check for collisions at t1, next at mid time tm =.5(t+t1) If there is some collision proceed similar back in (t,tm) Otherwise proceed in second half interval (tm, t1) Proceed similar until desired number of iterations if we know the time derivative of the separation distance the search can be even faster It is simple, robust, can have slow convergence and tunneling problem (some collisions are missed)

One-Side Approach The One-Side Approach is a more conservative technique. We always advance the simulation forward in time. This is possible, since between collisions objects move along ballistic trajectories and we can estimate the lower bound of their Time of Impact (TOI) Given upper bounds on angular and linear velocities we can estimate maximal translation of any surface point (on both estimated bodies) w.r.t. some direction axis d Find earliest time when bodies may penetrate. If no collision occurs, we advance bodies

User and Time control During both methods full collision detection is performed on estimated times d Bisection t t1 Alternative solution is to use continuous collision detection d TOI t t1 t 2

Time control: Simulation Layer Within each collision step the motion solver must integrate the motion equation Numerical ODE solver usually requires several integration steps to achieve desired accuracy and stability Again we can choose a fixed or adaptive time stepping scheme

The End