In our previous post, we have explained rotation matrices. In this post, we explain how to perform rotation and translation as a single matrix operation.
A YouTube video accompanying this post is given below.
Consider the figure below.
The coordinate system is translated from the coordinate system , and after that it has been rotated for the angle . The location of the coordinate system with respect to the coordinate system is represented by the vector . The notation means that the vector is represented in the coordinate system . That is, its components (projections) are represented in the coordinate system . Similarly, the notation means that the vector is represented in the coordinate system . Let the coordinates of the vector expressed in the coordinate system be given as follows:
(1)
where and are the coordinates of the vector expressed in the coordinate system .
Problem 1: Given the coordinates of the vector , translation vector , and the angle of rotation , find the coordinates of the vector .
Solution:
(2)
where is the rotation matrix that transforms vectors from to coordinate systems.
That is
(3)
If you do not remember how the rotation matrix
(4)
is constructed, see our previous post.
By multiplying vectors and matrices, and by adding the results, from (3), we have
(5)
The tranformation (3), can be written as a single vector matrix multiplications. Namely, we can formally write
(6)
where is 2 times 1 matrix of zeros. By expanding the last equation, we obtain
(7)
The matrix
(8)
is called a homogeneous transform.
In the next post, we we will see how to use this transform to solve the forward kinematics problem of robotic manipulators.