Skip to content
Introduction to Rigid Body Motions

Introduction to Rigid Body Motions

bubbs
bubbs
@panaderia133

In robotics, describing where a robot is and how its links are oriented is everything. Some of the building blocks include coordinate frames, position vectors, rotation matrices. Let's take a quick peek at them!

Coordinate Frames A coordinate frame is simply a set of reference axes (x,y,zx, y, z) attached to a specific point, acting like a mini 3D graph paper. In robotics, we constantly juggle multiple frames: a fixed "world" frame anchored to the room, and moving frames attached to each joint of the robot.

Position Vectors To locate a physical point pp in space relative to a reference frame {A}\{A\}, we use a position vector:

p=[pxpypz]p = \begin{bmatrix} p_x \\ p_y \\ p_z \end{bmatrix}

Think of these coordinates as walking instructions: take pxp_x steps along the xx-axis, pyp_y along the yy-axis, and pzp_z along the zz-axis. Crucially, position is relative. If you change your viewpoint to a new coordinate frame, the numerical values of the vector change, even though the physical point hasn't moved.

Rotation Matrices While a position vector handles translation, orientation requires a matrix. We represent the orientation of a frame {B}\{B\} relative to frame {A}\{A\} using a rotation matrix RABR_{AB}. This is built by placing the unit axes of {B}\{B\} expressed in {A}\{A\}'s coordinates side by side:

RAB=[x^By^Bz^B]R_{AB} = \begin{bmatrix} \hat{x}_B & \hat{y}_B & \hat{z}_B \end{bmatrix}

Rotation matrices belong to a group called SO(3)SO(3) and must satisfy two strict rules:

RTR=Ianddet(R)=1R^T R = I \quad \text{and} \quad \det(R) = 1

These rules ensure that a rotation matrix only rotates space without stretching, shearing, or reflecting it like a mirror. A powerful property of these matrices is that their inverse is simply their transpose (R1=RTR^{-1} = R^T), making it effortless to reverse a perspective.

Changing Perspectives To convert a point measured in frame {B}\{B\} into the coordinates of frame {A}\{A\}, we multiply it by the rotation matrix:

pA=RABpBp_A = R_{AB} p_B

By multiplying these matrices together (RAC=RABRBCR_{AC} = R_{AB} R_{BC}), we can chain transformations across multiple robot links.

In the future we'll put these blocks together and see them in motion!

HomeEventsBlogResourcesCoursesTeam