Twist
运动旋量(速度旋量)CommonPacks a rigid body's angular and linear velocity into one 6-dimensional vector that fully describes its instantaneous motion.
A twist is the 6-dimensional vector V = (ω, v) that describes a rigid body's instantaneous velocity: ω is the 3D angular velocity and v is the 3D linear velocity, both expressed in the same frame. The concept comes from screw theory: any rigid-body motion can be viewed as a rotation about some screw axis combined with a translation along that same axis, and the twist is simply that axis scaled by the rotation rate. Expressed in the world frame it's called a spatial twist; expressed in the body's own frame it's a body twist, and the two convert into each other through the adjoint transformation. What a manipulator's Jacobian actually computes is the map from joint velocities to the end effector's twist. Note that the ordering convention differs between sources: Lynch and Park's textbook Modern Robotics writes it as (angular velocity, linear velocity), while ROS's geometry_msgs/Twist message lists the linear component before the angular one.
ExampleSending a cmd_vel command to a mobile base in ROS means sending a Twist message: linear.x = 0.5 means drive forward at 0.5 m/s, angular.z = 0.3 means simultaneously turn left at 0.3 rad/s about the vertical axis, and the other four components are zero.
- Also called
- Spatial Velocity, Six-Dimensional Velocity, Velocity Twist
- Related
- Wrench · Screw Theory · Jacobian Matrix · Adjoint Representation · Product of Exponentials Formula · cmd_vel Topic (geometry_msgs/Twist velocity command)
- Sources
- Modern Robotics 3.3.2: Twists
ROS 2 geometry_msgs/Twist.msg