🤖
Robotics Handbook
HomeConnect
  • Welcome
    • Authors Note
  • Computer Aided Designs and Simulations
    • Computer Aided Design and Simulations
    • 3D Modelling CAD
      • SolidWorks
    • Simulations
    • PCB Design
  • ROS (Advanced)
    • ROS
    • ROS
      • Concepts and Packages
      • Manual and Quick Setup
    • Some Important packages
  • Hardware
    • Design Processes
      • Materials Selection
      • Build and Prototyping
      • 3D Printing and Machining
    • Fabrication Parts
  • Common Mechanisms
    • Wheels and Drives
    • Power Transmission
  • Career Paths & Research Opportunities
    • Career in Robotics
    • Job Roles In Robotics
    • Conferences and Journals
  • Companies Hiring for Robotics
  • Leading Institutes
  • Mathematical and Programming Foundations
    • Linear Algebra for Robotics
    • Calculus
  • Programming for Robotics
    • Common Languages
    • Algorithms
    • Digital Twin
  • Embedded Systems for Robotics
    • Embedded Systems
    • Microcontrollers
      • Microcontrollers (Advanced Theory)
      • Choosing a Microcontroller
    • Sensors and Actuators
      • Sensors for Robotics
      • Actuators for Robotics
    • Communication
      • Communication Protocols
    • RTOS
    • Power Systems
      • Battery Charging and Storage Best Practices
  • ML and Perception
    • ML and Perception
    • Reinforcement Learning
    • Cameras, Depth Sensors and LiDAR
    • Image Processing Basics (OpenCV)
    • Object Detection and Tracking
    • Example of a Vision Pipeline
  • Mobile Robotics
    • Mobile Robotics
    • SLAM and Navigation
    • Robot Kinematics and Dynamics
      • Some Kinematic Models
    • Trajectory Planning
    • AMR's and AGV's
    • MH633 : Mobile Robotics
      • Geometric Foundations
      • Kinematics
  • Frontiers and Emerging Fields
    • Frontiers and Emerging Fields
    • Humanoids
    • Autonomous Navigation
    • Bio-inspired and Soft Robotics
    • Space Robotics
    • Cobots
    • Edge Robotics
    • Medical Robotics
  • Drones, Rocketry and Aviation
    • Drones
      • Drone Anatomy
    • Rocketry
Powered by GitBook
On this page
  1. Mobile Robotics
  2. MH633 : Mobile Robotics

Geometric Foundations

PreviousMH633 : Mobile RoboticsNextKinematics

Last updated 13 hours ago

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 originating from the origin of a coordinate frame {A} to point P. This vector has components along the axes of {A}.

Representing Orientation (Rotation Matrices)

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

Basic Rotations

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

Mapping Between Frames (Rotation Only)

A point expressed in frame {B} can be expressed in frame {A} using

Homogeneous Transformations

A 4x4 matrix that combines both rotation ( ) and translation ( , 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).

Point transformation:

Inverse Homogeneous Transformation

Composition of Transformations

If frame {C} is known relative to {B} ( ) and {B} relative to {A} ( ), then {C} relative to {A} is

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 . 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: , where K is the skew-symmetric matrix of . Quaternion for rotation \theta about

Transformation of Free Vectors

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

Uses only the 3x3 rotation submatrix of the homogeneous transformation.

AP{}^A\mathbf{P}AP
AP=[pxpypz]{}^A\mathbf{P} = \begin{bmatrix} p_x \\ p_y \\ p_z \end{bmatrix}AP=​px​py​pz​​​
BAR{}^A_B RBA​R
BAR{}^A_B RBA​R
RTR=IR^T R = IRTR=I
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 RBA​R=[AX^B​​AY^B​​AZ^B​​]=​r11​r21​r31​​r12​r22​r32​​r13​r23​r33​​​Inverse:(BA​R)−1=(BA​R)T=AB​R
θ\thetaθ
RX(θ)=[1000cθ−sθ0sθcθ],RY(θ)=[cθ0sθ010−sθ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)RX​(θ)=​100​0cθsθ​0−sθcθ​​,RY​(θ)=​cθ0−sθ​010​sθ0cθ​​,RZ​(θ)=​cθsθ0​−sθcθ0​001​​(wherecθ=cosθ,sθ=sinθ)
BP{}^B\mathbf{P}BP
AP=BARBP{}^A\mathbf{P} = {}^A_B R {}^B\mathbf{P}AP=BA​RBP
BAT{}^A_B TBA​T
BAR{}^A_B RBA​R
APBORG{}^A\mathbf{P}_{B_{ORG}}APBORG​​
BAT=[BARAPBORG0T1]{}^A_B T = \begin{bmatrix} {}^A_B R & {}^A\mathbf{P}_{B_{ORG}} \\ \mathbf{0}^T & 1 \end{bmatrix}BA​T=[BA​R0T​APBORG​​1​]
APhomo=BATBPhomo{}^A\mathbf{P}_{homo} = {}^A_B T {}^B\mathbf{P}_{homo}APhomo​=BA​TBPhomo​
(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}(BA​T)−1=AB​T=[(BA​R)T0T​−(BA​R)TAPBORG​​1​]
CBT{}^B_C TCB​T
BAT{}^A_B TBA​T
CAT=BATCBT{}^A_C T = {}^A_B T {}^B_C TCA​T=BA​TCB​T
k^\hat{\mathbf{k}}k^
Rk^,θ=I+(sin⁡θ)K+(1−cos⁡θ)K2R_{\hat{\mathbf{k}},\theta} = I + (\sin\theta)K + (1-\cos\theta)K^2Rk^,θ​=I+(sinθ)K+(1−cosθ)K2
k^\hat{\mathbf{k}}k^
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)]n^:Q=[cos(θ/2),nx​sin(θ/2),ny​sin(θ/2),nz​sin(θ/2)]
AN=BARBN{}^A\mathbf{N} = {}^A_B R {}^B\mathbf{N}AN=BA​RBN