Robot coordinate frames describe position and orientation from a chosen point of view, such as the world, robot base, tool, or camera. This cheat sheet helps students keep track of which frame a measurement belongs to and how to convert it correctly. These ideas are essential for robot arms, mobile robots, sensors, simulation, and autonomous navigation.
Key Facts
- A coordinate frame is usually defined by an origin and three perpendicular axes labeled x, y, and z.
- A 2D pose can be written as (x, y, theta), where x and y give position and theta gives orientation in the plane.
- A 3D homogeneous transform has the form T = [R p; 0 0 0 1], where R is a 3 by 3 rotation matrix and p is a 3 by 1 position vector.
- To transform a point from frame B to frame A, use p_A = T_AB p_B when p_B is written as a homogeneous column vector [x y z 1]^T.
- Transform chaining follows T_AC = T_AB T_BC, so the middle frame B cancels conceptually.
- The inverse transform is T_AB^-1 = [R^T -R^T p; 0 0 0 1] when T_AB = [R p; 0 0 0 1].
- A valid rotation matrix has orthonormal columns and satisfies R^T R = I and det(R) = 1.
- Matrix multiplication order matters because T_AB T_BC usually does not equal T_BC T_AB.
Vocabulary
- Coordinate frame
- A reference system with an origin and axes used to measure positions and directions.
- Pose
- The combined position and orientation of an object or robot relative to a coordinate frame.
- Rotation matrix
- A matrix that represents orientation by describing how one frame's axes align with another frame.
- Homogeneous transform
- A 4 by 4 matrix that combines rotation and translation so points can be moved between coordinate frames.
- Translation vector
- A vector that gives the position of one frame's origin relative to another frame.
- Transform chain
- A sequence of coordinate transformations multiplied in order to move data through multiple frames.
Common Mistakes to Avoid
- Multiplying transforms in the wrong order is incorrect because T_AB T_BC maps from C to A, while reversing the order changes the meaning.
- Treating a direction vector like a point is wrong because points use homogeneous form [x y z 1]^T, while pure directions use [x y z 0]^T and should not translate.
- Forgetting to label frames causes errors because the same coordinates can mean different physical locations in different frames.
- Using R^-1 without recognizing R^-1 = R^T wastes effort and can introduce numerical mistakes when the rotation matrix is valid.
- Adding translations without rotating them first is wrong because translation vectors must be expressed in the same coordinate frame before they can be combined.
Practice Questions
- 1 A robot's tool frame is 0.30 m forward and 0.10 m left of the base frame, with no rotation. Write the translation vector p_base_tool using x forward, y left, and z up.
- 2 Given T_AB has R = I and p = [2, 3, 0]^T, transform point p_B = [4, 1, 0, 1]^T into frame A.
- 3 If T_AB maps coordinates from frame B to frame A and T_BC maps coordinates from frame C to frame B, write the transform that maps coordinates from frame C to frame A.
- 4 A camera and a robot gripper both observe the same object but report different coordinates. Explain why both measurements can be correct and what transform is needed to compare them.
Understanding Robot Coordinate Frames & Transforms
A transform is best understood as an instruction for changing a description, not as a physical movement by itself. The same bolt on a robot arm has one location when measured from the base and another when measured from a camera. Neither description is more correct.
They use different reference points and axis directions. Homogeneous coordinates make this instruction fit into one matrix multiplication. A point receives a final extra entry of one.
A direction, such as a velocity arrow or a tool pointing direction, receives an extra entry of zero. This difference matters because translation changes a point but must not change a direction.
The rotation part of a transform changes how the axes are lined up. The position part then accounts for the offset between origins. This order has a real geometric meaning.
Turning a vector before shifting it does not usually give the same result as shifting it before turning it. That is why transform multiplication has a strict order. In a robot arm, each joint creates a new local frame.
A chain of transforms carries information from one link to the next. Reading the frame labels carefully is more reliable than trying to memorize a multiplication order. The ending frame of one transform must match the starting frame of the next one.
Rotation matrices can seem like a table of numbers, but their columns have a useful physical meaning. Each column tells where one local unit axis points when described in the other frame. The columns must have length one and meet at right angles.
If they do not, the matrix includes unwanted stretching or skewing. This can happen in computer calculations after many repeated operations, because rounding errors build up. A proper rotation preserves lengths, angles, and handedness.
Checking that the columns are perpendicular is a practical first test. A determinant of one confirms that the transformation is a rotation rather than a reflection.
Inverse transforms let a robot work backward through its geometry. A camera may detect an object in camera coordinates, while the robot controller needs the object location relative to the base. The inverse reverses both parts of the original change.
Its rotation becomes the transpose because a pure rotation can be undone by rotating in the opposite sense. Its translation cannot simply be negated. It must first be expressed in the reversed axes.
Common mistakes include mixing a point with a direction, attaching a measurement to the wrong frame, and reversing a matrix chain by eye. Drawing small axes beside every object often catches these errors before any calculation begins.