In our previous post, given here, we have explained how to define homogenous transforms to describe the rotation and translation of one coordinate system with respect to another. Homogeneous transform is actually a matrix that describes the translation and rotation of one coordinate system with respect to another one. In this post, we explain how to use homogeneous transform to solve a forward kinematics problem.
Consider a robotic manipulator with two degrees of freedom shown in the figure below
The forward kinematics problem can be postulated as follows:
Consider the robotic manipulator shown in Fig. 1. Given the joint coordinates and , and the link lengths and , compute the coordinates of the point (end-effector point) in the world coordinate system A.
Solution 1 (without using homogeneous transform):
We have:
(1)
where and are the x and y coordinates of the point in the world coordinate system . Now, let us recall basic trigonometric formulas:
(2)
By substituting these formulas in (3), we obtain
(3)
Solution 2 (by using homogeneous transform):
First, we assign coordinate systems. We assign a coordinate system to every axis (joint). The coordinate systems are shown in the figure below
The point in the coordinate system has the following coordinates
(4)
As we have explained in our previous post, the notation means that the coordinates of the vector are represented in the coordinate system . On the other hand, we can assign homogeneous transformation, to represent the vector in the coordinate system :
(5)
where is the representation of the vector in the coordinate system
(6)
and the rotation matrix is given by
(7)
The notation means that the rotation matrix represents transformation from the coordinate system to coordinate system (lower index means “from”, and the upper index means “to”). On the other hand, the representation of the vector in the coordinate system is given by another homogeneous transformation
(8)
where
(9)
and the vector is 2 times 1 vector of zeros, since the coordinate systems and are located at the same point, and consequently, there is no translation of coordinate systems. By combining (5) and (8), we obtain
(10)
That is
(11)
This result is identical to (3).