6.3. Geometric Transforms

We now discuss an application of matrix multiplication related to robotics, machine design, image processing, animation, and any other field of study that is concerned with the geometry of items that move in space. The discussion here is directed towards machines, especially robots, but the concepts can be directly applied to other domains. Geometric transformations are used to determine the coordinate location and orientation of items in space. At the heart of geometric transformations is matrix multiplication.

A linear transform or linear transformation can be regarded as a function. But it is usually a matrix that changes a vector or matrix when the two are multiplied together. We might say that we apply a transform to a vector, which means that matrix to vector multiplication occurs. A linear transformation \bf{T} must satisfy the two linear criteria.

(6.11)\mathbf{T}(\bm{u} + \bm{v}) = \mathbf{T}(\bm{u}) + \mathbf{T}(\bm{v}) \\
    \mathbf{T}(c\,\bm{u}) = c\,\mathbf{T}(\bm{u})

The requirements of equation (6.11) are clearly satisfied if \bf{T} is a matrix and \bf{T} is applied to a vector or matrix with matrix multiplication, \mathbf{T}(u) = \mathbf{T}\,\bm{u}.

A detailed discussion of geometric transformations is found in chapters 2 and 7 of Corke’s text on robotics control [CORKE17].

A coordinate frame in three-dimensional space consists of three perpendicular (orthogonal) axes. Points have a (x, y, z) position relative to the origin of the coordinate frame. We often use multiple coordinate frames to simplify the expression of point locations. For example we usually have a world coordinate frame, which for stationary robots uses the base of the robot as its origin. There might also be coordinates frames for the workpiece that the robot is working on, the robot’s end effector, or a camera if we are using a vision system. The location and orientation of each coordinate frame is called the pose of the coordinate frame, which is expressed by a matrix. This allows us to use matrix multiplication to express the pose of the coordinate frame and associated points in other coordinate frames.

We will discuss rotation and translation of points and coordinate frames in two dimensions. The concepts described in two dimensions can then be extended to three dimensions.