10.08.2013 Views

thesis - Computer Graphics Group - Charles University - Univerzita ...

thesis - Computer Graphics Group - Charles University - Univerzita ...

thesis - Computer Graphics Group - Charles University - Univerzita ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

50 CHAPTER 6. CONSTRAINED RIGID BODY DYNAMICS<br />

We will more or less follow this road map and generalize the concepts for rigid bodies. We will<br />

however not define or derive the concepts once again from the ground up but utilize the fact that<br />

rigid bodies can be treated as a special kind of particles moving in R 6 , implicitly transferring the<br />

definitions, concepts and also results to rigid bodies.<br />

6.1.1 Notation<br />

We will use the following notation:<br />

• generalized position r of a body<br />

A block vector r consisting of two blocks storing the position x ∈ R 3 of the rigid body’s<br />

center of mass and orientation θ ∈ R 3 by Euler angles, r = (x, θ) ∈ R 6 . Generalized<br />

position serves the same purpose like the vector r of particles and corresponds to our view<br />

of rigid bodies as particles in R 6 .<br />

The representation of orientation by Euler angles θ stresses that rigid bodies have 3 rotational<br />

degrees of freedom and allows to define the generalized velocity as a time derivative<br />

of the generalized position (since angular velocity ω is formally defined as ˙ θ, see (5.3)).<br />

Note that this is a formalism only. We still maintain the orientation of rigid bodies by<br />

rotation matrices R or quaternions q and Euler angles θ can always be extracted from<br />

R or q. Euler angles θ are used to define the generalized position r which is in turn<br />

used to define position-level constraints for rigid bodies. Since it is often hard to express<br />

rotational constraints in terms of θ on the position level, unlike of ω on the velocity level,<br />

and constraints will finally be enforced on the acceleration level anyway, one might forget<br />

about θ and formulate rotational constraints directly on the velocity or acceleration level,<br />

in terms of ω or α. This is the reason why we do not study θ further.<br />

• generalized velocity v of a body<br />

A block vector v consisting of two blocks storing the rigid body’s linear velocity ˙ x ∈ R 3 and<br />

angular velocity ω ∈ R 3 , v = ( ˙ x, ω) ∈ R 6 . Generalized velocity serves the same purpose<br />

like vector ˙ r of particles and in fact v = ˙ r.<br />

To prevent clash with the generalized velocity v we will denote the linear velocity by ˙ x.<br />

• generalized acceleration a of a body<br />

A block vector a consisting of two blocks storing the rigid body’s linear acceleration ¨ x ∈ R 3<br />

and angular acceleration α ∈ R 3 , a = ( ¨ x, α) ∈ R 6 . Generalized acceleration serves the<br />

same purpose like vector ¨ r of particles and in fact a = ¨ r.<br />

To prevent clash with the generalized acceleration a we will denote the linear acceleration<br />

by ¨ x.<br />

• generalized force F exerted on a body<br />

A block vector F consisting of two blocks storing the force f ∈ R 3 (imagined as if acting<br />

at the body’s center of mass) and torque τ ∈ R 3 due to f, F = ( f, τ) ∈ R 6 . Generalized<br />

force serves the same purpose like force F exerted on a particle and in fact F = M ·a for a<br />

generalized acceleration a due to F , where M is the rigid body’s mass matrix (see (5.23)).<br />

If F refers to the generalized total force exerted on the body, coriolis force is assumed to<br />

be included into F .

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!