Poses in SE(3)
A homogeneous transformation matrix describes a pose: The matrix encodes both rotation and translation. It acts on homogeneous coordinates. A point is rotated and then translated. A free vector is only rotated because its zero cancels . The same matrix therefore handles both kinds of object. The inverse of a homogeneous transformation matrix is and transformations compose by matrix multiplication, . Composing two poses shows the interaction between translation and rotation: The orientations combine by multiplying their rotations. The first rotation acts on the second translation, producing the term . As a manifold, SE(3) looks like , a position paired with an orientation. Its group structure also includes the action of rotation on translation. This structure is called a semidirect product and is written . In the plane. The pose is a matrix, and the configuration is the triple : For a differential-drive robot such as the TurtleBot, is the position of the chassis and is its heading. The headings and are identical. The matrix converts coordinates between the robot and world frames. A velocity along the robot’s heading becomes in the world frame. SE(2) is the semidirect product .Twists
A twist combines the angular and linear velocity of a body in one six-dimensional vector: is the Lie algebra of . As with angular velocity, you can express a twist in two frames. The body twist comes from . The space twist comes from .- is the velocity of the body-frame origin, written in the coordinates of .
- is the velocity of the point of the body currently at the origin of , written in . That point may lie outside the physical body. You can imagine extending the body far enough to contain it.
Spatial-velocity conventions differ across systems, so integration may require conversion. Warp orders a spatial vector as (angular, linear). PhysX reports the linear velocity of the center of mass and the angular velocity, both in the world frame. The Newton twist conventions compare these and other engines side by side.
Screw motion
Exponential coordinates extend from rotations to poses. Let be a screw axis. The displacement by along it is Here is Lynch and Park’s notation. It is unrelated to the generator of Lie I. Given a transformation , the matrix logarithm reverses this map. First, gives . Then . Thus . Every pose can be reached by one screw motion, a rotation about an axis combined with a translation along it. In the plane. Any planar displacement is a rotation about a fixed point . The figure shows such a motion.
From velocity to motion
For rotations, angular velocity and the exponential form this sequence: Multiplication by extracts the local motion. The exponential converts that motion into a finite rotation. In rotation representations, an animation of a tangent plane on a sphere depicts the same wrapping process for the sphere . For poses, the corresponding quantities are , the twist , and . A body with a constant twist moves along a screw. In the plane. Consider the TurtleBot pose from poses in SE(3).- Velocity. The robot travels forward at speed and turns at rate . Its wheels cannot slide sideways, so its velocity in the body frame is the twist . This order follows Lynch and Park: turning rate comes first, forward speed second, and sideways speed last. The sideways component is zero. In matrix form, the twist is This matrix belongs to the Lie algebra. In the notation of Lie I, is .
- Motion. During a short time interval , update the pose with
The TurtleBot runs ROS 2, which stores the same quantities in a different form.
-
Pose. A
geometry_msgs/Posecontains a position and an orientation quaternion instead of a matrix . A planar heading becomes the unit quaternion . ROS lists the scalar part last. -
Twist. A
geometry_msgs/Twistlists the linear velocity before the angular velocity, which reverses the Lynch and Park order. A drive command setslinear.xto andangular.zto and leaves the other four components at zero. -
Odometry. A
nav_msgs/Odometrymessage gives the pose in a fixed frame and the twist in the robot’s frame. Its twist is therefore the body twist . - Frames. REP 103 makes every frame right handed, with forward, left, and up on the robot.
References
- Kevin M. Lynch, F. (2017). Modern Robotics.
Found an error on this page? Report an issue.

