ME 537 - Robotics ME 537 - Robotics ME 537 - Robotics ME 537 - Robotics Homogeneous Transformations Purpose: The purpose of this chapter is to introduce you to the Homogeneous Transformation. This simple 4 x 4 transformation is used in the geometry engines of CAD systems and in the kinematics model in robot controllers. It is very useful for examining rigid-body position and orientation (pose) of a sequence of robotic links and joint frames.
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
The purpose of this chapter is to introduce you to the Homogeneous Transformation. This simple 4 x 4 transformation is used in the geometry engines of CAD systems and in the kinematics model in robot controllers. It is very useful for examining rigid-body position and orientation (pose) of a sequence of robotic links and joint frames.
Purpose:
The purpose of this chapter is to introduce you to the Homogeneous Transformation. This simple 4 x 4 transformation is used in the geometry engines of CAD systems and in the kinematics model in robot controllers. It is very useful for examining rigid-body position and orientation (pose) of a sequence of robotic links and joint frames.
H can represent translation, rotation, stretching or shrinking (scaling), and perspective transformations H can represent translation, rotation, stretching or shrinking (scaling), and perspective transformations
What do the terms represent?What do the terms represent?a is a vector ( set of direction cosines ax, ay, and az ) that orients the frame’s x axis relative to the base X, Y, and Z axes, respectively. Similar interpretations are made for the frame’s y and z axes through the direction cosine sets
represented by vectors b and c.
p is a vector of 3 components representing the frame’s origin relative to the reference axes.
a is a vector ( set of direction cosines ax, ay, and az ) that orients the frame’s x axis relative to the base X, Y, and Z axes, respectively. Similar interpretations are made for the frame’s y and z axes through the direction cosine sets
represented by vectors b and c.
p is a vector of 3 components representing the frame’s origin relative to the reference axes.
The position vector u having components ux, uy, uz must be expanded to a 4 x 1 vector by adding a 1.
The position vector u having components ux, uy, uz must be expanded to a 4 x 1 vector by adding a 1.
Transforming vectorsTransforming vectors
Note: To transform an orientation vector, only use the orientation sub-matrix R, and drop the 1 from the vector so that you are multiplying a (3 x 3) matrix times a (3 x 1) vector.
Note: To transform an orientation vector, only use the orientation sub-matrix R, and drop the 1 from the vector so that you are multiplying a (3 x 3) matrix times a (3 x 1) vector.
Example - Rotate u by 90o about +Z and 90o about +Y, where XYZ are the fixed base reference axes. What are the final coordinates of the vector u after these two rotations in the base XYZ axes? If the rotation order changed, will the final coordinates be the same? Let uT = [0 1 0].
Example - Rotate u by 90o about +Z and 90o about +Y, where XYZ are the fixed base reference axes. What are the final coordinates of the vector u after these two rotations in the base XYZ axes? If the rotation order changed, will the final coordinates be the same? Let uT = [0 1 0].
Soln: v = R (Z,90˚) u "rotate u to v" w = R (Y,90˚) v "rotate v to w"Thus,
w = R (Y,90˚) R (Z,90˚) u
Soln: v = R (Z,90˚) u "rotate u to v" w = R (Y,90˚) v "rotate v to w"Thus,
Order of p and R: first p, then ROrder of p and R: first p, then R
w = H(R) H(p) u = R 00T 1
I p0T 1
u =R Rp0T 1
u
Note the difference in the final matrix form. Can you explain the difference?Note the difference in the final matrix form. Can you explain the difference?
Understanding HT multiplication orderUnderstanding HT multiplication order
If we postmultiply a transformation (A B) representing a frame (relative to base axes) by a second transformation (relative to the frame of the first transformation), we make the transformation with respect to the frame axes of the first transformation. Premultiplying the frame transformation by the second transformation (B A) causes the transformation to be made with respect to the base reference frame.
If we postmultiply a transformation (A B) representing a frame (relative to base axes) by a second transformation (relative to the frame of the first transformation), we make the transformation with respect to the frame axes of the first transformation. Premultiplying the frame transformation by the second transformation (B A) causes the transformation to be made with respect to the base reference frame.
Given u and the rotational transformation R, the coordinates of u after being rotated by R are defined by v = Ru. The inverse question is given v, what u when rotated by R will give v?
Answer:
u = R-1 v = RT v
Given u and the rotational transformation R, the coordinates of u after being rotated by R are defined by v = Ru. The inverse question is given v, what u when rotated by R will give v?
Similarly for any displacement matrix H (R, p), we can pose a similar question to get u = H-1 v. What is the inverse of a displacement transformation? Without proof:
Similarly for any displacement matrix H (R, p), we can pose a similar question to get u = H-1 v. What is the inverse of a displacement transformation? Without proof:
The homogeneous transformation effectively merges a frame orientation matrix and frame translation vector into one matrix. The order of the operation should be viewed as rotation first, then translation.
The homogeneous transformation effectively merges a frame orientation matrix and frame translation vector into one matrix. The order of the operation should be viewed as rotation first, then translation.
A Bcan be interpreted as frame A described relative to the first or base frame while frame B is described relative to frame A (usual way). We can also interpret B in the base frame transformed by A in the base frame. Both interpretations give same result.
A Bcan be interpreted as frame A described relative to the first or base frame while frame B is described relative to frame A (usual way). We can also interpret B in the base frame transformed by A in the base frame. Both interpretations give same result.