Pose
Same maths as Transform (every method converts and delegates), different intent: a Pose says where something *is*, a Transform says how to move between frames.
Preview
The figure robot_msgs.viz.plot(example) draws for the example below.

Fields
| Name | Type | Default |
|---|---|---|
position | Point | Point() |
orientation | Quaternion | Quaternion() |
Example
One instance from the package's own test catalog; the output is its real repr().
Pose(position=Point(x=0.4, y=-0.1, z=0.25), orientation=Quaternion(x=-0.10566871683993562, y=0.6991667342497077, z=0.10566871683993563, w=0.6991667342497078))to_dict() as JSON
{
"_type": "geometry/Pose",
"position": {
"_type": "geometry/Point",
"x": 0.4,
"y": -0.1,
"z": 0.25
},
"orientation": {
"_type": "geometry/Quaternion",
"x": -0.10566871683993562,
"y": 0.6991667342497077,
"z": 0.10566871683993563,
"w": 0.6991667342497078
}
}Long arrays are cut after 16 values and say so with “…”.
Functions
Constructors
Classmethods and staticmethods: ways to build one.
from_xyz_rpy(
x: float,
y: float,
z: float,
roll: float,
pitch: float,
yaw: float,
) -> PoseNo docstring.
Methods
Return new values; messages are never mutated.
compose(other: Pose) -> PoseT_world_tool = T_world_base.compose(T_base_tool): apply other in our frame.
interpolate(other: Pose, alpha: float) -> PoseLerp the position, slerp the orientation; 0 gives self, 1 gives other.
rotated(
roll: float = 0.0,
pitch: float = 0.0,
yaw: float = 0.0,
local: bool = False,
) -> PoseTurned in place by ROS RPY about the parent axes, or its own with local=True.
shifted(
dx: float = 0.0,
dy: float = 0.0,
dz: float = 0.0,
local: bool = False,
) -> PoseMoved by (dx, dy, dz) along the parent axes, or the pose's own with local=True:
transform_point(point: V) -> VChild-frame Point, Vector3 or (..., 3) array to the parent frame (same kind).
to_dict
from Msgto_dict() -> dict[str, Any]JSON-safe dict with a "_type" key; arrays keep their dtype and shape.
Operators
Python operators and protocols the type supports.