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.