Coordinates and Frames

Global Overview

Grégoire Passault
Coordinates and Frames

Global Overview

Grégoire Passault
Coordinates and Frames

Coordinates and Frames

Grégoire Passault

Grégoire Passault
Coordinates and Frames

Conventions

Grégoire Passault
Coordinates and Frames

Frame is defined by:

  • An origin
  • Basis vectors

Coordinates of a point in

Means that

Grégoire Passault
Coordinates and Frames



In two frames and , how to compute given ?

  • Step 1: Change basis
  • Step 2: Change origin
Grégoire Passault
Coordinates and Frames



Suppose we know the coordinates of , and expressed in terms of :



Grégoire Passault
Coordinates and Frames



We can then substitute them in:

Yielding:

Grégoire Passault
Coordinates and Frames



Thus:

Here, is a rotation matrix

⚠️ We only changed the basis, and not the origin
Grégoire Passault
Coordinates and Frames



Thus:

Columns of are the vectors of the basis of expressed in the basis of .

Grégoire Passault
Coordinates and Frames



Exercise: what is ?


Grégoire Passault
Coordinates and Frames

Let's call the columns of :

Columns are unit vectors:

Columns are orthogonal:
for

Grégoire Passault
Coordinates and Frames

A rotation matrix is 9 numbers with 6 constraints,
thus 3 degrees of freedom


We call such a representation an
implicit representation

Grégoire Passault
Coordinates and Frames

Consider:

The transpose of is its inverse

Grégoire Passault
Coordinates and Frames



🪄 Changing frame

We have:


This formula can be reversed:

Grégoire Passault
Coordinates and Frames

🪄 Homogeneous coordinates

We can pack and in a 4x4 matrix:



is called a transformation matrix,
taking points from to

Grégoire Passault
Coordinates and Frames

Any frame change can be now expressed as a
(4x4) matrix multiplication


✨ No need to mix multiplications and sums ✨
✨ Frame change can be pre-multiplied together ✨
✨ Any translation or rotation can be expressed in such a matrix ✨

Grégoire Passault
Coordinates and Frames

About notations

We then have:

See how the "cancels" together:
we call it the subscript cancellation rule.

😥 Unfortunately, no universal standard for notations
Grégoire Passault
Coordinates and Frames

Similarly:

Since it takes a point from to ,
then from to ,
then from to .

Grégoire Passault
Coordinates and Frames

What is the inverse of ?


Remember that:


Thus:

Grégoire Passault
Coordinates and Frames

In the 2D case, all rotation matrices are of the form:

Grégoire Passault
Coordinates and Frames

In the 3D case, we can define 3 matrices that rotates about axises:

Grégoire Passault
Coordinates and Frames

Transformations and notation in code

# A point expressed in the robot frame
P_robot

# Transformation matrix taking a point in robot to the world
T_world_robot

# The subscript cancellation rule applies
P_world = T_world_robot @ P_robot

# The chaining applies
T_world_effector = T_world_robot @ T_robot_effector

Grégoire Passault
Motion: a first step toward kinematics

Motion

a first step toward kinematics

Grégoire Passault
Motion: a first step toward kinematics

Suppose an object moves. A given frame attached to it is initially and ends up in .


Since , we can write:


💭 We can see as a "motion"

Grégoire Passault
Motion: a first step toward kinematics

What about , if we know ?


💡 Take P to , apply and take it back to :


💭 This "motion" can be translated to another frame

Grégoire Passault
Motion: a first step toward kinematics

🆚


In the first case, we apply the motion,
then take the point to the world, it is applied locally (intrinsic)


In the second case, we take the point to the world,
then apply the motion, it is apply in the world (extrinsic)

Grégoire Passault