Vectors and reference frames
A free vector is a geometric quantity with magnitude and direction. It does not depend on a coordinate system. It acquires numerical values when you express it in a coordinate frame. For example, a velocity vector may be in frame and have different coordinates in frame . You can also represent points as vectors. Their coordinates are measured from the origin of a reference frame, as shown below. A point and a free vector behave differently when the frame changes. The coordinates of a point depend on the frame’s origin. A free vector is unaffected by translation and only rotates. Homogeneous coordinates show this distinction by appending a 1 to a point and a 0 to a free vector.


- The body can accelerate, and its attached frame moves with it.
- Velocities are always measured relative to inertial space.
- Each instant uses a new stationary body frame. This frame is aligned with the body at that instant.
Rotation matrices
The rotation matrices form the special orthogonal group . The product of two rotation matrices is another rotation matrix, . Every rotation matrix has an inverse, . Rotations preserve lengths, .In the plane
Begin in the plane, where a frame has two axes. In the figure below, the body frame has its origin at and is rotated by an angle relative to the space frame .
In space
A frame in space has three axes, but the construction is unchanged. Let denote the vector from the fixed-frame origin to the body-frame origin. In fixed-frame coordinates, You can also express the axes of the body frame in the fixed frame: Place these three vectors side by side as columns. The result is a rotation matrix: The pair contains 12 parameters and fully describes the body’s position and orientation relative to the fixed frame. A rotation matrix has three uses (Lynch and Park section 3.2.1, book pages 66 to 69):- It represents an orientation. Its columns give the directions of the body axes.
- It changes coordinates. A vector written in the body frame has coordinates in the world frame. For example, a robot that drives forward along its heading moves in the world direction given by the first column of .
- It rotates vectors and frames. The vector is rotated by the orientation described by .
Angular velocity
Suppose a frame with unit axes is attached to a rotating body. Consider the time derivatives of these axes. The length of is fixed, so only its direction can change. The same is true of and . Between times and , the orientation changes by a rotation through an angle about a unit axis through the origin. The axis is independent of coordinates and has not yet been expressed in a reference frame. As approaches zero, the ratio approaches the rotation rate . The vector becomes the instantaneous axis of rotation. Together they define the angular velocity Each unit axis moves with velocity , which is perpendicular to both and . This animation follows Figure 3.10 of Lynch and Park. During , the frame turns by about . In the limit, , and the tip of has velocity . The final view places the axis along the plane normal to show the planar case. Angular velocity provides a familiar example of a quantity in a Lie algebra. A point on a rotating body has velocity . The cross product with is a linear map, so you can write it as . For a vector , The set of all real skew-symmetric matrices is . The matrix is the hat of and belongs to this Lie algebra. Let describe the orientation of the body frame relative to the fixed frame at time . Its columns , and give , and in fixed-frame coordinates. Let be the angular velocity expressed in the fixed frame. Each column then moves according to so . Page 79 of Lynch and Park solves this equation for the angular velocity. In fixed-frame and body-frame coordinates, with . The second form is the of Lie I. The fixed-frame angular velocity is independent of the chosen body frame. Similarly, the body-frame angular velocity is independent of the chosen fixed frame. Both and depend on and . Their products remove one of these dependencies. The product is independent of , while is independent of . In the plane. Every rotation is about the axis perpendicular to the plane, so angular velocity is the scalar . Differentiating gives , where is the skew-symmetric matrix that appears as the tangent at the identity in SO(2) as a manifold. Because planar rotations commute, .Exponential coordinates
You can also write a rotation as an exponential. Suppose a body rotates with constant unit angular velocity for a time . Its orientation obeys . This linear differential equation has the solution . The matrix exponentials used by Lynch and Park, for rotations and for rigid motions, are instances of the Lie exponential from Lie I. The product of exponentials formula for robot arms is named for its product of Lie-group exponentials. A rotation by an angle about a unit axis is described by the three numbers , called its exponential coordinates. Let be the skew-symmetric matrix of from angular velocity. Rodrigues’ formula computes the rotation matrix. This formula is the exponential map Exp of SO(3): The logarithm of a rotation inverts the matrix exponential for rotation angles . Rotations by and produce the same matrix, so a single inverse cannot cover every angle. A rotation by exactly requires separate treatment. The axes and produce the same rotation, so the logarithm has two solutions and needs a sign convention. For the logarithm is the zero matrix. If , then SO(3) is a curved three-dimensional space. Its exponential map wraps a flat coordinate space onto it. You cannot draw a curved three-dimensional space, but the unit sphere shows the same structure in one lower dimension. At a point , the tangent plane touches the sphere and contains every possible velocity of a curve through . The exponential map carries a tangent vector onto the sphere. It follows the great circle in the vector’s direction for an arc length : Straight lines in the tangent plane become curved arcs on the sphere. Near , the plane approximates the sphere well. SO(3) has the same local structure. Its tangent space is , and the exponential map turns a vector into a rotation matrix. The sphere provides a visible model of SO(3). The gold plane is the tangent plane at , and the white arrow is a tangent vector . The red arc is , the great-circle path that starts at , follows the direction of , and has the same length. The fan shows this mapping in twelve directions. The final orbit compares the flat plane with arcs that follow the sphere’s curvature. In the plane. Rotations in SO(2) commute, which makes the planar case simpler. A rotation by followed by one through gives the same result in reverse order. The angles simply add. Spatial rotations do not commute, as the following example shows. First rotate a frame by about the fixed axis, then rotate it by about the fixed axis: Reverse the order: The results differ. In the first case, the frame’s axis points along . In the second, it points along . You therefore cannot add 3-D rotation coordinates directly. The adjoint and Lie bracket from calculus on Lie groups account for the order of the rotations. In the plane, every rotation is about , so the axis is fixed and the exponential coordinates reduce to the angle . With restricted to the plane, Rodrigues’ formula becomes , where is the quarter-turn matrix of Lie I.Other representations
Robotics uses several representations of orientation: rotation matrices, axis-angle coordinates, exponential coordinates, Euler angles, and quaternions. The choice depends on the application, the vendor and the software tools. Aeronautics and self-driving cars may use different conventions because of the robots involved or the history of each field.Robot vendors may define their own conventions, as in this explanation of robot orientation. Software tools may use different conventions, so integration can require conversion between representations.
Euler angles
Three values suffice to describe orientation. Orthogonality and unit vector length impose six constraints on the nine entries of a rotation matrix. You can therefore represent an orientation by rotations through specified angles about the , , and axes of the reference coordinate system. This representation is called X-Y-Z fixed-angle notation. Its rotation matrix is X-Y-Z fixed angles express a coordinate frame using rotations relative to the original frame . You can describe the same sequence by starting with a frame that coincides with . Rotate it about the Z-axis by , the Y-axis by , and the X-axis by . This representation is called Z-Y-X Euler angles. The coordinate axes need not all differ. There are twelve valid rotation sequences: XYX, XZX, YXY, YZY, ZXZ, ZYZ, XYZ, XZY, YZX, YXZ, ZXY, and ZYX. Consecutive rotations about the same axis are excluded because they are equivalent to one rotation through the sum of the angles. Different applications use different conventions. Hardware and software manufacturers often choose conventions based on the fields for which their products were developed, such as aviation or geology. These representations become singular at certain angle values. At a singularity, a sequence can be equivalent to consecutive rotations about the same axis. For example, the XYZ rotation matrix is singular when the angle about the Y-axis is 90°. Other representations avoid these singularities over the full range of possible motions.Quaternions
Quaternions represent a rotation with four numbers. They can be composed at low computational cost and normalized with little effort. They also avoid gimbal lock. Most robot software therefore uses them to represent orientation. Quaternions from complex numbers derives the representation from vector rotation through the double cover of SO(3). The Lie cheatsheet collects these representations and their velocity counterparts in tables.References
- Kevin M. Lynch, F. (2017). Modern Robotics.
Found an error on this page? Report an issue.

