Docs
Conventions
Everything in robot_msgs follows a few fixed rules, written down so nothing is inferred. The types themselves are documented one by one under Types; the full design contract is docs/DESIGN.md.
pip install robot-msgsPyPI release coming.
Conventions
| Thing | Convention |
|---|---|
| Units | SI: metres, radians, seconds, newtons, N·m |
| Quaternion | (x, y, z, w) as fields and as arrays; Hamilton product; MuJoCo/viser wxyz only via xyzw_to_wxyz / wxyz_to_xyzw |
| Euler | ROS RPY: fixed axes X then Y then Z, R = Rz(yaw)·Ry(pitch)·Rx(roll) |
a.compose(b) / a @ b | apply b in a's frame: T_world_tool = T_world_base @ T_base_tool |
| Time | Header.stamp: float seconds. Trajectory t: float seconds relative to header.stamp |
| Context beyond a frame | Header.meta, str → str (origin, units, provenance); dropped on ROS export |
| Absent optional array | None (ROS uses an empty array; converters map between them) |
| Matrices | (3, 3) rotation, (4, 4) homogeneous, row-major numpy |
Packages
Import types from their package, like ROS packages: from robot_msgs.geometry import Pose.
| Import | Types |
|---|---|
robot_msgs.std | Header |
robot_msgs.geometry | Accel Inertia Point Pose Pose2D PoseStamped Quaternion Transform TransformStamped Twist Vector3 Wrench |
robot_msgs.sensor | CameraInfo Image Imu JointState PointCloud |
robot_msgs.vision | BoundingBox2D BoundingBox3D Detection2D Detection2DArray Detection3D Detection3DArray ObjectHypothesis ObjectHypothesisWithPose |
robot_msgs.trajectory | JointLimits JointTrajectory JointTrajectoryPoint PoseTrajectory PoseTrajectoryPoint Trajectory TrajectoryPoint |
ROS 2 mapping
What robot_msgs.ros.ros_type(msg) returns for each type (ROS 2 Jazzy, via rosbags).
| robot_msgs | ROS 2 |
|---|---|
| Header | std_msgs/msg/Header |
| Accel | geometry_msgs/msg/Accel |
| Inertia | geometry_msgs/msg/Inertia |
| Point | geometry_msgs/msg/Point |
| Pose | geometry_msgs/msg/Pose |
| Pose2D | geometry_msgs/msg/Pose2D |
| PoseStamped | geometry_msgs/msg/PoseStamped |
| Quaternion | geometry_msgs/msg/Quaternion |
| Transform | geometry_msgs/msg/Transform |
| TransformStamped | geometry_msgs/msg/TransformStamped |
| Twist | geometry_msgs/msg/Twist |
| Vector3 | geometry_msgs/msg/Vector3 |
| Wrench | geometry_msgs/msg/Wrench |
| CameraInfo | sensor_msgs/msg/CameraInfo |
| Image | sensor_msgs/msg/Image |
| Imu | sensor_msgs/msg/Imu |
| JointState | sensor_msgs/msg/JointState |
| PointCloud | sensor_msgs/msg/PointCloud2 |
| BoundingBox2D | vision_msgs/msg/BoundingBox2D |
| BoundingBox3D | vision_msgs/msg/BoundingBox3D |
| Detection2D | vision_msgs/msg/Detection2D |
| Detection2DArray | vision_msgs/msg/Detection2DArray |
| Detection3D | vision_msgs/msg/Detection3D |
| Detection3DArray | vision_msgs/msg/Detection3DArray |
| ObjectHypothesis | vision_msgs/msg/ObjectHypothesis |
| ObjectHypothesisWithPose | vision_msgs/msg/ObjectHypothesisWithPose |
| JointTrajectory | trajectory_msgs/msg/JointTrajectory |
| PoseTrajectory | nav_msgs/msg/Path |