Suppose we know the coordinates of , and expressed in terms of :
Coordinates and Frames
We can then substitute them in:
Yielding:
Coordinates and Frames
Thus:
Here, is a rotation matrix
⚠️ We only changed the basis, and not the origin
Coordinates and Frames
Thus:
Columns of are the vectors of the basis of expressed in the basis of .
Coordinates and Frames
Exercise: what is ?
Coordinates and Frames
Let's call the columns of :
Columns are unit vectors:
Columns are orthogonal: for
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
Coordinates and Frames
Consider:
The transpose of is its inverse
Coordinates and Frames
Changing frame
We have:
This formula can be reversed:
Coordinates and Frames
Homogeneous coordinates
We can pack and in a 4x4 matrix:
is called a transformation matrix,
taking points from to
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
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
Coordinates and Frames
Similarly:
Since it takes a point from to ,
then from to ,
then from to .
Coordinates and Frames
What is the inverse of ?
Remember that:
Thus:
Coordinates and Frames
In the 2D case, all rotation matrices are of the form:
Coordinates and Frames
In the 3D case, we can define 3 matrices that rotates about axises:
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
Motion: a first step toward kinematics
Motion
a first step toward kinematics
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"
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
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)