ianohara.com

Posts Notes Resume

Bicycle Dynamics II: Kinematics - Coordinate Transformations

20 May 2014

Setting up our coordinate systems so that you can go from one the next or previous in the chain via a simple rotation simplifies deriving the kinematics.

Your browser does not support SVG images!

Simple rotations have easy to write matrix representations. For each of the 3 axes of a coordinate system, a simple rotation about one of its 3 axis can be written:

R1=[100 0cosθsinθ 0sinθcosθ ]

Is a rotation about the 1 axis by angle θ. And:

R2=[cosθ0sinθ 010 sinθ0cosθ ]

Is a rotation about the 2 axis by angle θ. And finally,

R3=[cosθsinθ0 sinθcosθ0 001 ]

Is a rotation about the 3 axis by angle θ. As a for instance, say I want to take the vector:

v=[1 0 0 ]

And rotate it about the 3 axis by π4, the rotation matrix is:

R3(π4)=[22220 22220 001 ]

Then to rotate the vector v you pre-multiply it by the rotation matrix and get:

R3(π4)v=[22220 22220 001 ][1 0 0 ]=[22 22 0 ]

If you draw these vectors out on paper, you’ll see it works out and makes sense.

An important note to make is that I keep using the notion of vector rotation to as a synonym for a coordinate frame tranformation. That’s because they are the same thing, just what you think of as changing is different. A coordinate transformation keeps the vector the same but represents it in a new coordinate system, while a rotation keeps the coordinate system the same while rotating the vector and representing it as a new rotated vector in the same coordinate system.

Anyway with that established, we can hash out all of the rotation matricies needed to transform a vector from the ˆci frame to the inertial frame. In the following, the notation of Rbc represents a rotation matrix that transforms a vector in the ˆci frame into the ˆbi frame. Ie, if you have a vector vb in the ˆbi frame, then it can be written in the inertial frame by doing:

ve=RelRlaRabvb

Also, since rotations are orthonormal, the following is true:

Rab=RTba

A few important notes:

So, finally, all of our simple rotations are:

Rel=[100 0cos0sin0 0sin0cos0 ]=[100 010 001 ]

Rla=[100 0cosθlsinθl 0sinθlcosθl ]=[100 0cosθlsinθl 0sinθlcosθl ]

Ram=[100 0cosθmsinθm 0sinθmcosθm ]=[100 0cosθmsinθm 0sinθmcosθm ]

Rab=[cosθhsinθh0 sinθhcosθh0 001 ]=[cosθhsinθh0 sinθhcosθh0 001 ]

Rbc=[cosθs0sinθs 010 sinθs0cosθs ]=[cosθs0sinθs 010 sinθs0cosθs ]