Built-In Message Families
R2Kernel message specs define payload datatypes. They do not carry the transport envelope.
Ownership Rule
| Information | Owner |
|---|---|
| payload fields and physical values | msg.* schema |
| endpoint kind, frame policy, and timing requirements | api.* contract |
| observed, published, and received timestamps | Event envelope |
| generated, sent, execute, valid-until, dispatch, sample, completion, response, and lateness timestamps | Control envelope |
Do not create blanket StampedPose, StampedTwist, or similar public types.
Use a pure spatial type when the API fixes the frame. Put a frame identifier in
the owning domain message only when it is genuinely dynamic.
Payload timestamps remain appropriate for multi-time batches, trajectories, historical queries, and raw device-clock samples. These represent domain data, not transport lifecycle.
Family Map
| Family | Responsibility |
|---|---|
msg.core.common.primitive.v1 |
named scalar wrappers, empty requests, channel values, durations, and explicit domain timestamps |
msg.core.spatial.v1 |
pure pose, twist, wrench, acceleration, inertia, and spatial math |
msg.core.kinematics.v1 |
joint values, commands, and articulated state |
msg.core.linalg.v1 |
vectors and matrices used by robotics payloads |
msg.core.diagnostics.v1 |
public diagnostic observations |
msg.actuator.* |
low-level drive and servo payloads |
msg.motion.* |
articulated and manipulator motion payloads |
msg.locomotion.* |
body motion, mobile-base, odometry, and legged payloads |
msg.sensor.* |
sensor calibration and samples |
msg.localization.*, msg.mapping.*, msg.navigation.* |
estimation and autonomous motion products |
msg.perception.* |
perception queries, detections, and streams |
msg.capability.* |
app-facing capability request and result payloads |
Runtime-only state and timing schemas are internal to runtime/core. They are
not available as public dictionary payloads.
IO Note
Digital and analog I/O contracts reuse indexed primitive wrappers. Input and output APIs are separate because a physical device may support only one direction.
Full Inventory
See the generated Message Index for every message and field.