Geometric Foundations

Geometric Foundations

Understanding how to represent the position and orientation of objects and robots in space is fundamental to robotics. This involves defining coordinate frames and understanding how to transform representations between them.

Topic
Description & Key Concepts
Key Equations / Representations

Representing Position

A point P in space can be described by a vector AP{}^A\mathbf{P} originating from the origin of a coordinate frame {A} to point P. This vector has components along the axes of {A}.

AP=[pxpypz]{}^A\mathbf{P} = \begin{bmatrix} p_x \\ p_y \\ p_z \end{bmatrix}

Representing Orientation (Rotation Matrices)

The orientation of a frame {B} relative to a frame {A} can be represented by a 3x3 rotation matrix BAR{}^A_B R. The columns of BAR{}^A_B R are the unit vectors of {B}'s axes expressed in {A}. Rotation matrices are orthogonal ( RTR=IR^T R = I) and have a determinant of +1.

BAR=[AX^BAY^BAZ^B]=[r11r12r13r21r22r23r31r32r33]Inverse:(BAR)1=(BAR)T=ABR{}^A_B R = \begin{bmatrix} {}^A\hat{\mathbf{X}}_B & {}^A\hat{\mathbf{Y}}_B & {}^A\hat{\mathbf{Z}}_B \end{bmatrix} = \begin{bmatrix} r_{11} & r_{12} & r_{13} \\ r_{21} & r_{22} & r_{23} \\ r_{31} & r_{32} & r_{33} \end{bmatrix} Inverse: ({}^A_B R)^{-1} = ({}^A_B R)^T = {}^B_A R

Basic Rotations

Rotations about principal axes X, Y, Z by an angle θ\theta.

RX(θ)=[1000cθsθ0sθcθ],RY(θ)=[cθ0sθ010sθ0cθ],RZ(θ)=[cθsθ0sθcθ0001](wherecθ=cosθ,sθ=sinθ)R_X(\theta) = \begin{bmatrix} 1 & 0 & 0 \\ 0 & c\theta & -s\theta \\ 0 & s\theta & c\theta \end{bmatrix}, R_Y(\theta) = \begin{bmatrix} c\theta & 0 & s\theta \\ 0 & 1 & 0 \\ -s\theta & 0 & c\theta \end{bmatrix}, R_Z(\theta) = \begin{bmatrix} c\theta & -s\theta & 0 \\ s\theta & c\theta & 0 \\ 0 & 0 & 1 \end{bmatrix} (where c\theta = \cos\theta, s\theta = \sin\theta)

Mapping Between Frames (Rotation Only)

A point BP{}^B\mathbf{P} expressed in frame {B} can be expressed in frame {A} using

AP=BARBP{}^A\mathbf{P} = {}^A_B R {}^B\mathbf{P}

Homogeneous Transformations

A 4x4 matrix BAT{}^A_B T that combines both rotation ( BAR{}^A_B R) and translation ( APBORG{}^A\mathbf{P}_{B_{ORG}}, the position of {B}'s origin in {A}) to transform points from frame {B} to frame {A} using homogeneous coordinates (adding a 1 as the fourth element to position vectors).

BAT=[BARAPBORG0T1]{}^A_B T = \begin{bmatrix} {}^A_B R & {}^A\mathbf{P}_{B_{ORG}} \\ \mathbf{0}^T & 1 \end{bmatrix} Point transformation: APhomo=BATBPhomo{}^A\mathbf{P}_{homo} = {}^A_B T {}^B\mathbf{P}_{homo}

Inverse Homogeneous Transformation

(BAT)1=ABT=[(BAR)T(BAR)TAPBORG0T1]({}^A_B T)^{-1} = {}^B_A T = \begin{bmatrix} ({}^A_B R)^T & -({}^A_B R)^T {}^A\mathbf{P}_{B_{ORG}} \\ \mathbf{0}^T & 1 \end{bmatrix}

Composition of Transformations

If frame {C} is known relative to {B} ( CBT{}^B_C T) and {B} relative to {A} ( BAT{}^A_B T ), then {C} relative to {A} is

CAT=BATCBT{}^A_C T = {}^A_B T {}^B_C T This rule allows chaining transformations through multiple frames.

Other Orientation Representations

Euler Angles (e.g., Z-Y-X): Represent orientation as a sequence of three rotations about fixed or moving axes. Can suffer from gimbal lock. Axis-Angle: Orientation as a rotation \theta about a unit vector k^\hat{\mathbf{k}}. Related to rotation matrix by Rodrigues' Formula. Quaternions: A 4-parameter representation (scalar part and vector part) that avoids gimbal lock and is efficient for composing rotations.

Rodrigues' Formula: Rk^,θ=I+(sinθ)K+(1cosθ)K2R_{\hat{\mathbf{k}},\theta} = I + (\sin\theta)K + (1-\cos\theta)K^2, where K is the skew-symmetric matrix of k^\hat{\mathbf{k}}. Quaternion for rotation \theta about n^:Q=[cos(θ/2),nxsin(θ/2),nysin(θ/2),nzsin(θ/2)]\hat{\mathbf{n}}: Q = [\cos(\theta/2), n_x\sin(\theta/2), n_y\sin(\theta/2), n_z\sin(\theta/2)]

Transformation of Free Vectors

Free vectors (e.g., velocity, force) only transform by rotation:

AN=BARBN{}^A\mathbf{N} = {}^A_B R {}^B\mathbf{N} Uses only the 3x3 rotation submatrix of the homogeneous transformation.

Last updated