Skip to content

Message Index

This page is generated from spec/messages. Message schemas contain payload data only. Runtime transport and timing metadata belong to the Event or Control envelope.

Namespace Description Messages
msg.actuator.drive.v1 Low-level drive command and state payloads for gateway contracts. 2
msg.actuator.servo.v1 Low-level servo and actuation payload message set for controller-to-drive links. 3
msg.capability.common.v1 Shared payloads for app-facing capability contracts. 2
msg.capability.manipulation.v1 App-facing manipulation capability payloads independent of arm and gripper topology. 3
msg.capability.mobility.v1 App-facing mobility capability payloads independent of drive topology and vendor implementation. 3
msg.capability.operation.v1 Shared payloads for supervising long-running platform capabilities. 2
msg.capability.perception.v1 App-facing perception capability query payloads. 2
msg.core.common.primitive.v1 Canonical common wrapper and utility message set for primitive payloads and empty bodies. 18
msg.core.diagnostics.v1 Canonical diagnostics message set shared by language-native logging implementations. 1
msg.core.frame.v1 Frame identities and rigid transforms used by the R2Kernel runtime frame graph. 2
msg.core.kinematics.v1 Canonical kinematics message set for robot-family-agnostic motion representations. 8
msg.core.linalg.v1 Dense linear algebra containers used by controller and kinematics API contracts. 1
msg.core.spatial.v1 Canonical shared spatial message set for base math types, semantic physical quantities, and rigid-body spatial quantities used across robotics domains. 11
msg.diagnostics.health.v1 Provider-owned health and fault payloads. 2
msg.localization.v1 Localization payload family for self-pose estimation status. 2
msg.locomotion.legged.v1 Legged locomotion payloads shared by quadruped and humanoid systems. 10
msg.locomotion.mobile_base.v1 Canonical wheeled mobile-base payload family for platform state, odometry, safety state, and optional differential-drive helpers. 10
msg.locomotion.velocity.v1 Canonical shared locomotion body-velocity payload family for timed control, acknowledgements, limits, and stop requests. 4
msg.mapping.v1 Mapping payload family for occupancy-style map publication. 2
msg.motion.articulated.v1 Articulated-motion payloads shared by jointed mechanisms. 4
msg.motion.execution.v1 Programmed-motion execution state and speed-scaling payloads. 2
msg.motion.manipulator.v1 Canonical manipulator motion payloads built on shared articulated, spatial, and kinematic foundations. 20
msg.navigation.v1 Navigation payload family for goal-based autonomous motion. 6
msg.perception.v1 Perception payload family for object detection, pose estimation, and grasp planning outputs. 7
msg.positioning.v1 Absolute positioning measurements produced by positioning gateways. 1
msg.r2kernel.actuator.servo.v1 Authority-qualified Servo Control request and typed domain response. 2
msg.r2kernel.control.v1 Versioned public control-cycle metadata for authority-qualified Control contracts. 1
msg.r2kernel.depth.v1 Typed depth sample formats and transfer parts preserving measurement meaning. 5
msg.r2kernel.io.digital.timed_output.v1 Authority-qualified periodic digital output Control request and typed response. 2
msg.r2kernel.sensor.camera.v1 Camera source Control API messages with actual sample time and typed visual transfer parts. 4
msg.r2kernel.sensor.gnss.v1 Receiver-reported GNSS fix samples and source Control messages. 3
msg.r2kernel.sensor.lidar.v1 Native LiDAR scan formats, samples, transfer parts, and source Control messages. 6
msg.r2kernel.sensor.pointcloud.v1 Typed point-cloud field layouts, samples, transfer parts, and source Control messages. 6
msg.r2kernel.sensor.radar.v1 Integrated rotating radar sector samples and source Control messages; no external motor is required. 4
msg.r2kernel.sensor.rgbd.v1 Paired, typed RGB-D source samples with per-plane timing and calibration. 5
msg.r2kernel.stream.v1 Shared stream identity, codec profile, bounded payload chunk, and transfer-part metadata. 5
msg.r2kernel.visual.v1 Typed visual sample formats and transfer parts for camera sources and display sinks. 6
msg.sensor.camera.v1 Camera-sensor payload family for RGB/depth frame delivery and calibration metadata. 4

msg.actuator.drive.v1

Low-level drive command and state payloads for gateway contracts.

DriveCommand

No message description.

Field Type Required Description
channels vector<uint32> yes -
mode vector<uint8> yes -
target vector<float64> yes -
feedforward vector<float64> no -

DriveState

No message description.

Field Type Required Description
channels vector<uint32> yes -
position vector<float64> yes -
velocity vector<float64> yes -
effort vector<float64> no -
enabled vector<bool> yes -
fault_code vector<uint32> no -

msg.actuator.servo.v1

Low-level servo and actuation payload message set for controller-to-drive links.

Imports: msg.core.kinematics.v1, msg.core.linalg.v1.

JointServoCommand

Low-level joint-space servo command for actuation-oriented control paths.

Field Type Required Description
joint msg.core.kinematics/JointValues yes -
duration float32 yes -

ActuatorCommand

Low-level actuator command for deterministic servo links. Execution time and validity are carried by the control envelope.

Field Type Required Description
emergency bool yes True when the command is an emergency or protective-stop command.
servo_cmd uint8 yes Controller-defined servo command code such as enable, disable, or fault reset.
drive_mode vector<uint8> yes Per-axis drive mode values.
target msg.core.kinematics/JointCommandPrecise yes -
stiffness msg.core.linalg/DenseMatrix no -
damping msg.core.linalg/DenseMatrix no -

ActuatorState

Low-level actuator state frame returned by a servo link.

Field Type Required Description
link_alive bool yes -
servo_on bool yes -
state msg.core.kinematics/JointStatePrecise yes -
error_code vector<uint8> no -
error_raw vector<uint16> no -

msg.capability.common.v1

Shared payloads for app-facing capability contracts.

Result

Terminal result of a capability procedure or operation.

Field Type Required Description
success bool yes -
status string yes -
detail bytes no -

Status

Provider-owned capability state suitable for app subscription.

Field Type Required Description
state string yes -
available bool yes -
detail bytes no -

msg.capability.manipulation.v1

App-facing manipulation capability payloads independent of arm and gripper topology.

ReachRequest

Request a platform-defined normalized reach or retraction.

Field Type Required Description
extension float32 no -

ReachState

Current normalized reach state.

Field Type Required Description
extension float32 yes -
moving bool yes -
state string yes -

GripperState

Platform-level gripper state.

Field Type Required Description
state string yes -
holding bool no -
object_id string no -

msg.capability.mobility.v1

App-facing mobility capability payloads independent of drive topology and vendor implementation.

Imports: msg.core.spatial.v1.

BodyMotionCommand

Bounded body-relative motion command. Timing and validity are carried by the control envelope.

Field Type Required Description
twist msg.core.spatial/Twist yes -
source string no -

BodyMotionState

Platform-reported body-motion state.

Field Type Required Description
applied_twist msg.core.spatial/Twist yes -
enabled bool yes -
limited bool no -
reason string no -

StopRequest

Request a controlled platform stop.

Field Type Required Description
mode string no -

msg.capability.operation.v1

Shared payloads for supervising long-running platform capabilities.

OperationQuery

No message description.

Field Type Required Description
operation_id string yes -

OperationStatus

No message description.

Field Type Required Description
operation_id string yes -
state string yes -
progress float32 no -
detail bytes no -

msg.capability.perception.v1

App-facing perception capability query payloads.

ObjectQuery

Semantic object query bounded by class and range.

Field Type Required Description
class_id string no -
max_range_m float32 no -
max_results uint32 no -

DetectionSummary

Serialized semantic detections returned to an application.

Field Type Required Description
detections bytes yes -
count uint32 yes -
source_frame_id string yes -

msg.core.common.primitive.v1

Canonical common wrapper and utility message set for primitive payloads and empty bodies.

Empty

Explicit empty payload used instead of raw null or omitted bodies.

This message has no payload fields.

BoolValue

Canonical wrapped boolean payload.

Field Type Required Description
value bool yes -

Int32Value

Canonical wrapped int32 payload.

Field Type Required Description
value int32 yes -

UInt32Value

Canonical wrapped uint32 payload.

Field Type Required Description
value uint32 yes -

UInt32Vector

Canonical wrapped uint32 vector payload.

Field Type Required Description
values vector<uint32> yes -

Int64Value

Canonical wrapped int64 payload.

Field Type Required Description
value int64 yes -

Float32Value

Canonical wrapped float32 payload.

Field Type Required Description
value float32 yes -

Float32Vector

Canonical wrapped float32 vector payload.

Field Type Required Description
values vector<float32> yes -

Float64Value

Canonical wrapped float64 payload.

Field Type Required Description
value float64 yes -

BoolVector

Canonical wrapped boolean vector payload.

Field Type Required Description
values vector<bool> yes -

StringValue

Canonical wrapped string payload.

Field Type Required Description
value string yes -

BytesValue

Canonical wrapped bytes payload.

Field Type Required Description
value bytes yes -

TimestampNs

Nanosecond timestamp wrapper used when a named scalar time payload is needed.

Field Type Required Description
value int64 yes -

DurationNs

Nanosecond duration wrapper used when a named scalar duration payload is needed.

Field Type Required Description
value int64 yes -

IndexedBoolValue

Generic indexed boolean payload used by channel-addressed interfaces such as digital IO.

Field Type Required Description
index uint32 yes -
value bool yes -

IndexedFloat32Value

Generic indexed float32 payload used by channel-addressed interfaces such as analog IO.

Field Type Required Description
index uint32 yes -
value float32 yes -

IndexedBoolVector

Generic indexed boolean vector payload for batched channel-addressed updates.

Field Type Required Description
indices vector<uint32> yes -
values vector<bool> yes -

IndexedFloat32Vector

Generic indexed float32 vector payload for batched channel-addressed updates.

Field Type Required Description
indices vector<uint32> yes -
values vector<float32> yes -

msg.core.diagnostics.v1

Canonical diagnostics message set shared by language-native logging implementations.

LogRecord

Structured log record for optional R2Kernel log event publishing and remote diagnostics.

Field Type Required Description
timestamp_ns int64 yes -
level string yes -
subsystem string yes -
tag string no -
message string yes -
source_file string no -
line int32 no -
thread_id string no -
trace_id string no -

msg.core.frame.v1

Frame identities and rigid transforms used by the R2Kernel runtime frame graph.

Imports: msg.core.spatial.v1.

FrameTransform

Rigid transform from a parent frame to a child frame at the packet observation time.

Field Type Required Description
parent_frame_id string yes -
child_frame_id string yes -
pose msg.core.spatial/Pose yes -
static bool yes True when the transform is invariant for the current subsystem session.
stale_after_ms uint32 no Maximum accepted age for a dynamic transform before the runtime marks it stale.

FrameTransformBatch

Atomic set of transforms observed at the same packet observation time.

Field Type Required Description
transforms vector<FrameTransform> yes -

msg.core.kinematics.v1

Canonical kinematics message set for robot-family-agnostic motion representations.

Imports: msg.core.spatial.v1.

JointValues

Generic joint vector for an articulated chain.

Field Type Required Description
names vector<string> no -
values vector<float32> yes -

JointLimits

Limit values for a single articulated joint.

Field Type Required Description
name string yes -
min_position float32 yes -
max_position float32 yes -
max_velocity float32 yes -
max_acceleration float32 yes -
max_effort float32 yes -

JointState

Measured joint state for an articulated chain.

Field Type Required Description
names vector<string> no -
position vector<float32> yes -
velocity vector<float32> no -
effort vector<float32> no -

JointVelocity

Joint-space velocity command for an articulated chain.

Field Type Required Description
names vector<string> no -
values vector<float32> yes -

JointCommand

Commanded joint targets for an articulated chain.

Field Type Required Description
names vector<string> no -
target_position vector<float32> no -
target_velocity vector<float32> no -
target_effort vector<float32> no -

JointStatePrecise

Double-precision measured joint state for servo and high-rate controller links.

Field Type Required Description
names vector<string> no -
position vector<float64> yes -
velocity vector<float64> no -
effort vector<float64> no -

JointCommandPrecise

Double-precision commanded joint targets for servo and high-rate controller links.

Field Type Required Description
names vector<string> no -
target_position vector<float64> no -
target_velocity vector<float64> no -
target_effort vector<float64> no -

KinematicChainState

Combined articulated-chain state with task-space pose and twist.

Field Type Required Description
chain_id string yes -
joint_state JointState yes -
tip_pose msg.core.spatial/Pose no -
tip_twist msg.core.spatial/Twist no -

msg.core.linalg.v1

Dense linear algebra containers used by controller and kinematics API contracts.

DenseMatrix

Row-major dense matrix with double-precision values.

Field Type Required Description
rows uint32 yes -
cols uint32 yes -
values vector<float64> yes -

msg.core.spatial.v1

Canonical shared spatial message set for base math types, semantic physical quantities, and rigid-body spatial quantities used across robotics domains.

Vector3

Generic free 3-axis vector used when the surrounding type carries the semantics of the quantity.

Field Type Required Description
x float32 yes -
y float32 yes -
z float32 yes -

Quaternion

Quaternion orientation expressed as x, y, z, w.

Field Type Required Description
x float32 yes -
y float32 yes -
z float32 yes -
w float32 yes -

Position

3D position point in meters, kept separate from Vector3 because it represents a location rather than a free vector.

Field Type Required Description
x float32 yes -
y float32 yes -
z float32 yes -

Pose

Pure rigid pose value. The owning message or API contract declares the frame in which it is expressed.

Field Type Required Description
position Position yes Position point of the pose origin.
orientation Quaternion yes Quaternion orientation of the pose.

Covariance6x6

Fixed 6x6 covariance matrix container for spatial estimates.

Field Type Required Description
values array<float32, 36> yes Row-major covariance entries. The owning message defines the state ordering associated with the six dimensions.

Force

3-axis linear force. Field names stay x, y, z because the surrounding type already carries the physical meaning.

Field Type Required Description
x float32 yes -
y float32 yes -
z float32 yes -

Torque

3-axis torque (moment) vector. Field names stay x, y, z; angular meaning comes from the surrounding type rather than rx, ry, rz naming.

Field Type Required Description
x float32 yes -
y float32 yes -
z float32 yes -

Wrench

Pure rigid-body wrench value. The owning message or API contract declares its expression frame.

Field Type Required Description
force Force yes Linear force component.
torque Torque yes Torque component about the same frame axes.

Twist

Pure rigid-body spatial velocity. The owning message or API contract declares its expression frame.

Field Type Required Description
linear Vector3 yes Linear velocity of the chosen reference point.
angular Vector3 yes Angular velocity of the same rigid body.

Accel

Pure rigid-body spatial acceleration. The owning message or API contract declares its expression frame.

Field Type Required Description
linear Vector3 yes Linear acceleration component.
angular Vector3 yes Angular acceleration component.

Inertia

Symmetric inertia tensor components about a common reference.

Field Type Required Description
ixx float32 yes -
iyy float32 yes -
izz float32 yes -
ixy float32 yes -
ixz float32 yes -
iyz float32 yes -

msg.diagnostics.health.v1

Provider-owned health and fault payloads.

HealthStatus

No message description.

Field Type Required Description
state string yes -
summary string yes -
fault_codes vector<uint32> no -
detail bytes no -

ClearFaultRequest

No message description.

Field Type Required Description
fault_code uint32 no -

msg.localization.v1

Localization payload family for self-pose estimation status.

Imports: msg.core.spatial.v1.

PoseEstimate

Estimated robot pose with spatial uncertainty.

Field Type Required Description
frame_id string yes Reference frame in which the estimated pose is expressed.
pose msg.core.spatial/Pose yes Mean self-pose estimate.
covariance msg.core.spatial/Covariance6x6 yes Pose covariance expressed in the ordering defined by the consuming localization API contract.
quality float32 no Optional normalized quality score from the estimator.
source string no Optional estimator or source identifier.

LocalizationStatus

Summary state for a localization subsystem.

Field Type Required Description
state string yes -
quality float32 no -
map_id string no -

msg.locomotion.legged.v1

Legged locomotion payloads shared by quadruped and humanoid systems.

Imports: msg.core.spatial.v1.

ContactState

Contact state for a single support/contact point.

Field Type Required Description
contact_id string yes -
active bool yes -
contact_force msg.core.spatial/Force no -
contact_pose msg.core.spatial/Pose no -

ContactArray

Aggregated contact state payload for a locomotion system.

Field Type Required Description
states vector<ContactState> yes -

FootPose

Named foothold or end-effector pose used by locomotion controllers.

Field Type Required Description
foot_id string yes -
pose msg.core.spatial/Pose yes -

FootState

State for a locomotion contact point or foot endpoint.

Field Type Required Description
foot_id string yes -
pose msg.core.spatial/Pose yes -
in_contact bool yes -
contact_force msg.core.spatial/Force no -

SupportPolygon

Support polygon expressed as planar points in body or world coordinates.

Field Type Required Description
frame_id string yes -
vertices vector<msg.core.spatial/Position> yes -

StepTarget

Next planned foothold target for a locomotion contact point.

Field Type Required Description
foot_id string yes -
target_pose msg.core.spatial/Pose yes -
swing_duration float32 yes -

BodyState

Locomotion body state independent of concrete robot morphology.

Field Type Required Description
body_pose msg.core.spatial/Pose yes -
body_twist msg.core.spatial/Twist no -

CenterOfMassState

Center-of-mass state for balance and locomotion control.

Field Type Required Description
position msg.core.spatial/Position yes -
velocity msg.core.spatial/Vector3 no -
acceleration msg.core.spatial/Vector3 no -

BalanceState

High-level balance indicators shared by legged systems.

Field Type Required Description
stable bool yes -
support_polygon SupportPolygon no -
center_of_mass CenterOfMassState no -

GaitPhase

Named gait phase for locomotion sequencing.

Field Type Required Description
phase_name string yes -
phase_progress float32 yes -
active_contacts vector<string> yes -

msg.locomotion.mobile_base.v1

Canonical wheeled mobile-base payload family for platform state, odometry, safety state, and optional differential-drive helpers.

Imports: msg.core.spatial.v1.

ControllerModeState

Active operating mode of a wheeled mobile-base controller.

Field Type Required Description
value string yes Canonical values are disabled, hold, active, fault, and stopping.

MobileBaseState

Runtime state of a mobile-base controller.

Field Type Required Description
drive_enabled bool yes -
fault_active bool yes -
mode ControllerModeState yes -
command_age_ms uint32 no -
applied_twist msg.core.spatial/Twist no -

FaultState

Fault summary for a mobile-base controller.

Field Type Required Description
fault_active bool yes -
fault_code string no -
fault_text string no -

Odometry

Estimated body pose and twist for a wheeled platform.

Field Type Required Description
frame_id string no Parent odometry frame. Defaults to odom when omitted.
child_frame_id string no Child base frame. Defaults to base_link when omitted.
pose msg.core.spatial/Pose yes -
twist msg.core.spatial/Twist no -

EnableDriveRequest

Request to enable or keep disabled the mobile-base drive.

Field Type Required Description
enable bool yes -
reason string no -

DisableDriveRequest

Request to disable mobile-base drive output.

Field Type Required Description
reason string no -

ClearFaultRequest

Request to clear a latched mobile-base fault.

Field Type Required Description
fault_code string no -

DiffDriveKinematics

Differential-drive geometric and wheel-speed limits.

Field Type Required Description
wheel_radius_m float32 yes -
track_width_m float32 yes -
max_wheel_radps float32 no -

WheelCommand

Differential-drive wheel velocity command.

Field Type Required Description
left_radps float32 yes -
right_radps float32 yes -

WheelState

Differential-drive wheel position and velocity state.

Field Type Required Description
left_position_rad float32 yes -
right_position_rad float32 yes -
left_velocity_radps float32 yes -
right_velocity_radps float32 yes -

msg.locomotion.velocity.v1

Canonical shared locomotion body-velocity payload family for timed control, acknowledgements, limits, and stop requests.

Imports: msg.core.spatial.v1.

VelocityCommand

Body-velocity command payload. Command frame, execution time, and validity are defined by the API and control envelope.

Field Type Required Description
twist msg.core.spatial/Twist yes Body twist command in the controller's declared command frame.
source string no Optional command source identifier.
sequence int64 no Optional source-local monotonically increasing sequence.

CommandAck

Domain acknowledgement for locomotion requests. Runtime execution timing is reported by the response envelope.

Field Type Required Description
accepted bool yes -
reason string yes -
applied_twist msg.core.spatial/Twist no Applied or clamped twist.
deadline_missed bool no -

VelocityLimits

Runtime velocity and acceleration limits for locomotion velocity control.

Field Type Required Description
max_linear_x_mps float32 yes -
max_linear_y_mps float32 no -
max_linear_z_mps float32 no -
max_angular_x_radps float32 no -
max_angular_y_radps float32 no -
max_angular_z_radps float32 yes -
max_linear_accel_mps2 float32 no -
max_angular_accel_radps2 float32 no -

StopRequest

Controlled stop request for a locomotion controller.

Field Type Required Description
ramp_time_ns int64 no -

msg.mapping.v1

Mapping payload family for occupancy-style map publication.

Imports: msg.core.spatial.v1.

OccupancyGridMap

Occupancy-grid style map payload for mapping publication.

Field Type Required Description
map_id string yes -
frame_id string yes -
resolution float32 yes -
width uint32 yes -
height uint32 yes -
origin msg.core.spatial/Pose yes -
data bytes yes -

MapStatus

Summary status for a mapping subsystem.

Field Type Required Description
map_id string yes -
state string yes -

msg.motion.articulated.v1

Articulated-motion payloads shared by jointed mechanisms.

Imports: msg.core.kinematics.v1.

JointWayPoint

Joint-space waypoint and motion tuning values for articulated motion.

Field Type Required Description
q msg.core.kinematics/JointValues yes -
radius float32 yes -
vel float32 yes -
cornering_vel float32 yes -
acc float32 yes -

RampRequest

Optional ramp duration for a stop or pause transition.

Field Type Required Description
ramp_time_ns int64 no -

MoveJRequest

Joint-space programmed-motion request.

Field Type Required Description
waypoints vector<JointWayPoint> yes -
finish_mode string no -

TrajectoryOffset

Joint-space offset applied to an active programmed trajectory.

Field Type Required Description
offset msg.core.kinematics/JointValues yes -
mode string no -

msg.motion.execution.v1

Programmed-motion execution state and speed-scaling payloads.

ExecutionState

No message description.

Field Type Required Description
state string yes -
active_operation_id string no -
progress float32 no -
speed_scaling float32 yes -
reason string no -

SpeedScaling

No message description.

Field Type Required Description
value float32 yes -

msg.motion.manipulator.v1

Canonical manipulator motion payloads built on shared articulated, spatial, and kinematic foundations.

Imports: msg.core.kinematics.v1, msg.core.spatial.v1.

TCP

Tool center point definition.

Field Type Required Description
pose msg.core.spatial/Pose yes -

Payload

Tool payload definition.

Field Type Required Description
mass float32 yes -
center_of_mass msg.core.spatial/Position yes -
inertia msg.core.spatial/Inertia yes -

TaskWayPoint

Cartesian waypoint and motion tuning values for tool- or TCP-oriented manipulation.

Field Type Required Description
pose msg.core.spatial/Pose yes -
radius float32 yes -
vel float32 yes -
cornering_vel float32 yes -
acc float32 yes -

ToolSettings

Combined payload and TCP tool definition.

Field Type Required Description
payload Payload yes -
tcp TCP yes -

MotionFeedback

Generic feedback state for long-running manipulator motion.

Field Type Required Description
state string yes -
progress float32 no -

MotionState

Current manipulator motion state for state publication and action state reporting.

Field Type Required Description
value string yes -
progress float32 no -

MotionResult

Generic result body for manipulator motion completion.

Field Type Required Description
completed bool yes -
detail string no -

InverseKinematicsResult

Result body for inverse-kinematics queries.

Field Type Required Description
valid bool yes -
joints msg.core.kinematics/JointValues yes -
detail string no -

MoveLRequest

Linear Cartesian programmed-motion request.

Field Type Required Description
waypoints vector<TaskWayPoint> yes -
finish_mode string no -

MoveCRequest

Circular Cartesian programmed-motion request.

Field Type Required Description
via_point TaskWayPoint yes -
target_point TaskWayPoint yes -
finish_mode string no -

SetTcpRequest

Tool center point update request.

Field Type Required Description
tcp TCP yes -

SetPayloadRequest

Tool payload update request.

Field Type Required Description
payload Payload yes -
transition_time_ns int64 no -

CartesianOffset

Cartesian offset applied to active manipulator motion.

Field Type Required Description
frame_id string yes -
offset msg.core.spatial/Pose yes -

WrenchCommand

Cartesian wrench target expressed in the declared frame.

Field Type Required Description
frame_id string yes -
wrench msg.core.spatial/Wrench yes -

ToolCalibrationRequest

Request provider-owned TCP or payload calibration.

Field Type Required Description
mode string yes -
samples uint32 no -

ToolCalibrationResult

No message description.

Field Type Required Description
valid bool yes -
settings ToolSettings no -
detail string no -

ForwardKinematicsRequest

No message description.

Field Type Required Description
joints msg.core.kinematics/JointValues yes -

ForwardKinematicsResult

No message description.

Field Type Required Description
valid bool yes -
pose msg.core.spatial/Pose yes -
frame_id string yes -

InverseKinematicsRequest

No message description.

Field Type Required Description
target_pose msg.core.spatial/Pose yes -
frame_id string yes -
seed msg.core.kinematics/JointValues no -

HandGuidingState

No message description.

Field Type Required Description
enabled bool yes -
mode string no -

msg.navigation.v1

Navigation payload family for goal-based autonomous motion.

Imports: msg.core.spatial.v1.

Ordered path as a sequence of target poses.

Field Type Required Description
frame_id string yes Common reference frame for all waypoints.
waypoints vector<msg.core.spatial/Pose> yes -

Goal request for autonomous navigation to a single pose.

Field Type Required Description
frame_id string yes Reference frame for target_pose.
target_pose msg.core.spatial/Pose yes -
behavior_id string no -

FollowPathRequest

Goal request for following an explicit path.

Field Type Required Description
path NavigationPath yes -
controller_id string no -

Progress feedback for a running navigation task.

Field Type Required Description
state string yes -
remaining_distance float32 no -

Result body for a completed navigation task.

Field Type Required Description
completed bool yes -
detail string no -

Summary state for a navigation subsystem or running goal.

Field Type Required Description
state string yes -
active_goal_id string no -

msg.perception.v1

Perception payload family for object detection, pose estimation, and grasp planning outputs.

Imports: msg.core.spatial.v1.

BoundingBox2D

Image-plane bounding box for a 2D detection.

Field Type Required Description
x float32 yes -
y float32 yes -
width float32 yes -
height float32 yes -

Detection2D

Single 2D detection result from a perception subsystem.

Field Type Required Description
class_id string yes -
score float32 yes -
bbox BoundingBox2D yes -
tracking_id string no -

Detection2DArray

Collection of 2D detections for one frame.

Field Type Required Description
source_frame_id string yes -
detections vector<Detection2D> yes -

ObjectPose

Estimated object pose in a named frame.

Field Type Required Description
class_id string yes -
score float32 yes -
frame_id string yes -
pose msg.core.spatial/Pose yes -
covariance msg.core.spatial/Covariance6x6 no Optional pose covariance when the perception subsystem can estimate uncertainty.
tracking_id string no -

ObjectPoseArray

Collection of object-pose estimates for one observation step.

Field Type Required Description
objects vector<ObjectPose> yes -

GraspCandidate

Candidate grasp pose estimated from perception output.

Field Type Required Description
frame_id string yes -
grasp_pose msg.core.spatial/Pose yes -
score float32 yes -
opening_width float32 no -
object_id string no -

GraspCandidateArray

Ranked grasp candidates for a target object or scene.

Field Type Required Description
candidates vector<GraspCandidate> yes -

msg.positioning.v1

Absolute positioning measurements produced by positioning gateways.

Imports: msg.core.spatial.v1.

AbsolutePoseFix

A measured body pose in a global reference frame.

Field Type Required Description
frame_id string yes Global reference frame in which the measurement is expressed.
child_frame_id string yes Body frame measured by the positioning device.
pose msg.core.spatial/Pose yes -
covariance msg.core.spatial/Covariance6x6 yes -
quality float32 no -
source string no -

msg.r2kernel.actuator.servo.v1

Authority-qualified Servo Control request and typed domain response.

Imports: msg.r2kernel.control.v1, msg.actuator.servo.v1.

ServoControlRequest

New versioned Control wrapper around the existing actuator command payload.

Field Type Required Description
cycle msg.r2kernel.control/ControlCycle yes -
command msg.actuator.servo/ActuatorCommand yes -

ServoControlResponse

Domain application status and sampled actuator link state. Runtime execution completion remains in the runtime response envelope.

Field Type Required Description
cycle msg.r2kernel.control/ControlCycle yes -
status string yes applied, rejected, or device_error.
state msg.actuator.servo/ActuatorState no -
detail string no -

msg.r2kernel.control.v1

Versioned public control-cycle metadata for authority-qualified Control contracts.

ControlCycle

Domain-level cycle identity and intent. Runtime request IDs, transport timestamps, deadlines, and execution reports remain in the runtime envelope.

Field Type Required Description
generation int64 yes Explicit binding control generation. A new owner or restarted control session uses a new generation; packets from earlier generations cannot refresh ownership.
sequence int64 yes Strictly increasing cycle sequence within one generation.
intent string yes One of command, keep, or sample. Each API contract declares which intents its refresh mode permits and the payload conditions for each intent.
state_revision int64 yes Revision of caller-owned retained command state. It is positive for command and keep intents; sample-exchange APIs without caller-owned state use zero.

msg.r2kernel.depth.v1

Typed depth sample formats and transfer parts preserving measurement meaning.

Imports: msg.r2kernel.control.v1, msg.r2kernel.stream.v1.

DepthCycleRequest

Requests a prepared depth sample for a sample-exchange cycle.

Field Type Required Description
cycle msg.r2kernel.control/ControlCycle yes -
after_sample_id int64 no -
after_unit_sequence int64 no -
resync_required bool no -

DepthCycleResponse

One prepared depth transfer part or a normal no-new-sample result.

Field Type Required Description
cycle msg.r2kernel.control/ControlCycle yes -
status string yes sample_available, no_new_sample, resync_required, unsupported_format, or device_error.
part DepthTransferPart no -
detail string no -

DepthStreamFormat

Immutable depth plane layout and measurement scale for one format revision. element_type is uint16, uint32, or float32; invalid-value and loss rules are explicit.

Field Type Required Description
width uint32 yes -
height uint32 yes -
element_type string yes -
endianness string yes little or big byte order for multibyte depth samples.
row_stride_bytes uint32 yes -
meters_per_unit float64 yes -
invalid_value_rule string yes Explicit sentinel, mask, NaN, or other invalid-pixel rule.
frame_id string yes -
calibration_revision int64 yes -
loss_policy string yes lossless or bounded_error.
maximum_absolute_error_m float32 no -
codec msg.r2kernel.stream/CodecDescriptor no -
limits msg.r2kernel.stream/StreamLimits yes -

DepthSample

Complete reassembled depth measurement plane.

Field Type Required Description
header msg.r2kernel.stream/TransferPartHeader yes -
format DepthStreamFormat yes -
payload_bytes bytes yes -

DepthTransferPart

Typed depth sample identity, format revision, and one bounded payload chunk.

Field Type Required Description
header msg.r2kernel.stream/TransferPartHeader yes -
chunk msg.r2kernel.stream/EncodedChunk yes -
format DepthStreamFormat no -

msg.r2kernel.io.digital.timed_output.v1

Authority-qualified periodic digital output Control request and typed response.

Imports: msg.r2kernel.control.v1, msg.core.common.primitive.v1.

TimedOutputControlRequest

A command establishes or replaces the output state. A keep cycle carries no output payload and explicitly maintains the same positive state_revision.

Field Type Required Description
cycle msg.r2kernel.control/ControlCycle yes -
output msg.core.common.primitive/IndexedBoolValue no -

TimedOutputControlResponse

Typed output-domain result. observed_value is present only when provider hardware supplies an actual readback; command application is not physical readback.

Field Type Required Description
cycle msg.r2kernel.control/ControlCycle yes -
status string yes applied, rejected, or device_error.
channel_index uint32 yes -
observed_value bool no -
detail string no -

msg.r2kernel.sensor.camera.v1

Camera source Control API messages with actual sample time and typed visual transfer parts.

Imports: msg.r2kernel.control.v1, msg.r2kernel.stream.v1, msg.r2kernel.visual.v1.

CameraIntrinsics

Pinhole camera calibration associated with a camera format revision.

Field Type Required Description
width uint32 yes -
height uint32 yes -
fx float64 yes -
fy float64 yes -
cx float64 yes -
cy float64 yes -
distortion_model string no -
distortion_coefficients vector<float64> no -

CameraStreamFormat

Camera calibration and visual format fixed by one format revision.

Field Type Required Description
camera_frame_id string yes -
intrinsics CameraIntrinsics yes -
visual_format msg.r2kernel.visual/VisualStreamFormat yes -
calibration_revision int64 yes -

CameraCycleRequest

Requests a prepared sample for this sample-exchange cycle. The provider may return no new sample while the Control connection remains healthy.

Field Type Required Description
cycle msg.r2kernel.control/ControlCycle yes -
after_sample_id int64 no -
after_unit_sequence int64 no -
resync_required bool no -

CameraCycleResponse

One prepared visual transfer part or a normal no-new-sample result. Source sample acquisition and expiry stay attached to the part and never inherit poll time.

Field Type Required Description
cycle msg.r2kernel.control/ControlCycle yes -
status string yes sample_available, no_new_sample, resync_required, unsupported_configuration, or device_error.
part msg.r2kernel.visual/VisualTransferPart no -
camera_format CameraStreamFormat no -
detail string no -

msg.r2kernel.sensor.gnss.v1

Receiver-reported GNSS fix samples and source Control messages.

Imports: msg.r2kernel.control.v1.

GnssCycleRequest

Requests the latest prepared GNSS fix using a sample-exchange cycle. Omit expected_session_id only to discover the source session. after_sample_id is a nonnegative cursor and must be zero or omitted while bootstrapping. The source may return its latest fix and skip intermediate sample IDs.

Field Type Required Description
cycle msg.r2kernel.control/ControlCycle yes -
expected_session_id string no Source process identity last adopted by the client.
after_sample_id int64 no Last consumed sample ID in expected_session_id. Intermediate IDs may be skipped because this source retains only the latest fix.

GnssCycleResponse

Reports the current source session on every response. A changed session returns resync_required without a fix; the client adopts session_id and restarts its cursor. sample_available contains a receiver sample, including a normal no-fix state. no_new_sample means no new receiver sample exists.

Field Type Required Description
cycle msg.r2kernel.control/ControlCycle yes -
session_id string yes Unique process/reset identity for this GNSS source.
status string yes sample_available, no_new_sample, resync_required, or device_error.
fix GnssFix no -
detail string no Optional provider detail for a domain status.

GnssFix

One receiver-reported antenna position sample. No robot pose, yaw, truth identity, or localization result is implied. A no_fix mode is a valid new receiver sample, distinct from a response with no new sample. Position coordinates are WGS84 geodetic latitude and longitude. Acquisition time is expressed in r2kernel_sync only when the source has a known clock mapping. Any runtime transport receipt metadata remains separate from acquisition time; this Control response does not define a receipt timestamp field.

Field Type Required Description
session_id string yes Must match the enclosing GnssCycleResponse.session_id.
sample_id int64 yes Positive immutable identity for this receiver sample, strictly increasing within session_id. It may jump when latest-only polling skips samples.
frame_id string yes Receiver antenna frame in which the antenna origin is located.
fix_mode string yes unknown, no_fix, fix_2d, or fix_3d. A 2D or 3D fix requires latitude and longitude. unknown and no_fix carry no position fields and require correction_status=unknown.
correction_status string yes Receiver-reported solution class: unknown, autonomous, differential, rtk_float, or rtk_fixed. It must be unknown without a valid solution; do not infer a class from correction input alone.
observation_time_status string yes known_sync_time or unknown for the receiver measurement acquisition time.
observed_at_sync_ns int64 no Nonnegative acquisition time only when a verified source clock mapping translates the receiver time scale to r2kernel_sync. Omit when unknown; never substitute the gateway receive time.
latitude_deg float64 no WGS84 geodetic latitude in degrees, in [-90, 90], only for a valid fix.
longitude_deg float64 no WGS84 geodetic longitude in degrees, in [-180, 180], only for a valid fix.
altitude_m float64 no Optional receiver-provided altitude in [-10000000, 10000000] meters. Allowed only with fix_3d; its reference is required when present.
altitude_reference string no wgs84_ellipsoid or mean_sea_level; required exactly when altitude_m is present and allowed only with fix_3d.
position_covariance_m2 vector<float64> no Optional 3x3 row-major positive-semidefinite covariance in the local ENU tangent frame, in square meters. Exactly nine finite values, each in [-1e12, 1e12]; allowed only with fix_3d. Two-dimensional uncertainty should use horizontal accuracy rather than inventing a vertical component.
horizontal_accuracy_m float64 no Positive receiver-reported horizontal error estimate up to 1e6 meters.
vertical_accuracy_m float64 no Positive receiver-reported vertical error estimate up to 1e6 meters; requires altitude_m and therefore a 3D fix.
accuracy_confidence string no unknown, one_sigma, or 95_percent. Required when either accuracy estimate is present; unknown preserves an undocumented device confidence basis.
hdop float64 no Receiver-reported horizontal dilution of precision in (0, 1000]; not a meter-valued accuracy.
vdop float64 no Receiver-reported vertical dilution of precision in (0, 1000]; not a meter-valued accuracy.
pdop float64 no Receiver-reported position dilution of precision in (0, 1000]; not a meter-valued accuracy.
velocity_enu_mps vector<float64> no Optional receiver-reported east, north, up velocity in meters per second; exactly three finite values with speed at most 10000 m/s, present only with a valid 2D or 3D fix.

msg.r2kernel.sensor.lidar.v1

Native LiDAR scan formats, samples, transfer parts, and source Control messages.

Imports: msg.r2kernel.control.v1, msg.r2kernel.stream.v1.

LidarFieldDescriptor

One field in a packed native return record.

Field Type Required Description
name string yes -
semantic string yes Stable field meaning such as range, intensity, return_id, or time_offset_ns.
scalar_type string yes Supported packed scalar type, explicitly defined by the selected profile.
offset_bytes uint32 yes -
unit string yes -

LidarStreamFormat

Immutable native scan format. The field descriptors preserve sensor return, channel, unit, and per-return timing semantics without forcing XYZ conversion.

Field Type Required Description
frame_id string yes -
layout_kind string yes angular_scan or native_records.
angle_min_rad float64 no -
angle_increment_rad float64 no -
channel_count uint32 yes -
returns_per_measurement uint32 yes -
record_stride_bytes uint32 yes -
endianness string yes little or big byte order for packed multibyte return fields.
fields vector<LidarFieldDescriptor> yes -
scan_duration_ns int64 yes -
time_reference string yes scan_start or scan_end.
invalid_return_rule string yes Explicit invalid-return representation or declaration that the device has none.
loss_policy string yes lossless or bounded_error.
maximum_range_error_m float32 no -
maximum_intensity_error float32 no -
preserves_return_order bool yes -
codec msg.r2kernel.stream/CodecDescriptor no -
limits msg.r2kernel.stream/StreamLimits yes -

LidarScan

Complete native LiDAR scan with packed records in the declared layout.

Field Type Required Description
header msg.r2kernel.stream/TransferPartHeader yes -
format LidarStreamFormat yes -
measurement_count uint32 yes -
payload_bytes bytes yes -

LidarTransferPart

Native scan identity and one bounded part of the packed scan payload.

Field Type Required Description
header msg.r2kernel.stream/TransferPartHeader yes -
chunk msg.r2kernel.stream/EncodedChunk yes -
format LidarStreamFormat no -
measurement_count uint32 yes -

LidarCycleRequest

Requests a prepared LiDAR scan for a sample-exchange cycle.

Field Type Required Description
cycle msg.r2kernel.control/ControlCycle yes -
after_sample_id int64 no -
after_unit_sequence int64 no -
resync_required bool no -

LidarCycleResponse

One prepared native scan part or a normal no-new-sample result.

Field Type Required Description
cycle msg.r2kernel.control/ControlCycle yes -
status string yes sample_available, no_new_sample, resync_required, unsupported_format, or device_error.
part LidarTransferPart no -
detail string no -

msg.r2kernel.sensor.pointcloud.v1

Typed point-cloud field layouts, samples, transfer parts, and source Control messages.

Imports: msg.r2kernel.control.v1, msg.r2kernel.stream.v1.

PointFieldDescriptor

One named field in a packed point record.

Field Type Required Description
name string yes -
semantic string yes Stable meaning such as x, y, z, intensity, ring, or time_offset_ns.
scalar_type string yes Supported packed scalar type, explicitly defined by the selected profile.
count uint32 yes -
offset_bytes uint32 yes -
unit string yes -

PointCloudFormat

Immutable field layout, reference frame, packed byte order, and compression policy. Lossy profiles declare positional error and point-order/count effects.

Field Type Required Description
coordinate_frame_id string yes -
endianness string yes little or big.
record_stride_bytes uint32 yes -
fields vector<PointFieldDescriptor> yes -
codec msg.r2kernel.stream/CodecDescriptor no -
loss_policy string yes lossless or bounded_error.
maximum_position_error_m float32 no -
preserves_point_order bool yes -
preserves_point_count bool yes -
maximum_point_count_delta uint32 no -
invalid_point_policy string yes Preserve invalid coordinates/flags or explicitly declare an allowed lossy transformation.
limits msg.r2kernel.stream/StreamLimits yes -

PointCloudSample

Complete reassembled point-cloud payload and sample organization.

Field Type Required Description
header msg.r2kernel.stream/TransferPartHeader yes -
format PointCloudFormat yes -
width uint32 yes -
height uint32 yes -
point_count uint32 yes -
is_dense bool yes -
payload_bytes bytes yes -

PointCloudTransferPart

Point-cloud sample identity, organization, optional changed format, and one bounded payload chunk.

Field Type Required Description
header msg.r2kernel.stream/TransferPartHeader yes -
chunk msg.r2kernel.stream/EncodedChunk yes -
format PointCloudFormat no -
width uint32 yes -
height uint32 yes -
point_count uint32 yes -
is_dense bool yes -

PointCloudCycleRequest

Requests a prepared point-cloud sample for a sample-exchange cycle.

Field Type Required Description
cycle msg.r2kernel.control/ControlCycle yes -
after_sample_id int64 no -
after_unit_sequence int64 no -
resync_required bool no -

PointCloudCycleResponse

One prepared typed point-cloud part or a normal no-new-sample result.

Field Type Required Description
cycle msg.r2kernel.control/ControlCycle yes -
status string yes sample_available, no_new_sample, resync_required, unsupported_format, or device_error.
part PointCloudTransferPart no -
detail string no -

msg.r2kernel.sensor.radar.v1

Integrated rotating radar sector samples and source Control messages; no external motor is required.

Imports: msg.r2kernel.control.v1.

RadarCycleRequest

Requests the next prepared radar sector for a sample-exchange cycle. An omitted expected_session_id bootstraps session discovery and may use an after_sample_id of zero. Once known, the client sends expected_session_id with its cursor so a process reset cannot be mistaken for continuous coverage. A same-session response may return only the immediately following sector; if bounded history has evicted it, the provider reports resync_required.

Field Type Required Description
cycle msg.r2kernel.control/ControlCycle yes -
expected_session_id string no Omit only for initial session discovery; otherwise anchor after_sample_id to this process session.
after_sample_id int64 no Nonnegative cursor within expected_session_id; a sample response advances it by exactly one.

RadarCycleResponse

Returns the provider's current session on every response. A session mismatch or an evicted cursor returns resync_required without a sector; the client adopts session_id, resets its cursor to zero, and retries before claiming continuous revolution coverage.

Field Type Required Description
cycle msg.r2kernel.control/ControlCycle yes -
session_id string yes Unique process/reset identity for this radar source, including on resync_required and device_error responses.
status string yes sample_available, no_new_sample, resync_required, or device_error.
sector RadarSectorSample no -
detail string no -

RadarSectorSample

One sector's positive-direction angular coverage interval from an integrated rotating radar. Acquisition is an interval, not an instantaneous 360-degree observation. An empty returns vector is valid completed coverage with no detected returns. Return azimuths lie within this interval modulo 2*pi, allowing up to 1e-6 rad of endpoint quantization at either boundary.

Field Type Required Description
session_id string yes Must match the enclosing RadarCycleResponse.session_id.
sample_id int64 yes Positive sector identity, incremented by one for each sector within session_id.
revolution_id int64 yes Positive identity of the revolution containing this sector.
azimuth_start_rad float64 yes Start azimuth in sensor frame, normalized to [0, 2*pi).
azimuth_span_rad float64 yes Positive sweep in the positive azimuth direction, at most 2*pi; the interval may wrap through zero.
scan_started_at_sync_ns int64 yes Inclusive start of this sector's acquisition interval in r2kernel_sync nanoseconds.
scan_ended_at_sync_ns int64 yes Inclusive end of this sector's acquisition interval; must be later than scan_started_at_sync_ns.
frame_id string yes Explicit sensor frame in which sector and return azimuths are expressed.
revolution_complete bool yes True when this sector completes its containing revolution.
returns vector<RadarReturn> yes Returns observed in this coverage interval; an empty vector is valid.

RadarReturn

One measured radar return in sensor coordinates. The public contract carries no truth ID, object class, or global coordinates.

Field Type Required Description
range_m float32 yes Finite positive range in meters.
azimuth_rad float64 yes Sensor-frame azimuth normalized to [0, 2*pi), within the sector sweep with at most 1e-6 rad of endpoint quantization.
radial_velocity_mps float32 yes Finite radial velocity in meters per second.
signal_strength float32 yes Unitless normalized signal strength in [0,1], where 1 is the provider profile's maximum.
observed_at_sync_ns int64 yes Observation time in r2kernel_sync nanoseconds, within the sector acquisition interval.

msg.r2kernel.sensor.rgbd.v1

Paired, typed RGB-D source samples with per-plane timing and calibration.

Imports: msg.r2kernel.control.v1, msg.r2kernel.stream.v1, msg.r2kernel.visual.v1, msg.r2kernel.depth.v1, msg.r2kernel.sensor.camera.v1.

RgbdStreamFormat

Immutable RGB-D pair format with independently described color and depth planes. The provider does not imply registration or synchronization unless declared here.

Field Type Required Description
visual_format msg.r2kernel.visual/VisualStreamFormat yes -
depth_format msg.r2kernel.depth/DepthStreamFormat yes -
pairing_mode string yes hardware_synchronized or software_joined.
spatial_relation string yes registered or unregistered.
maximum_pair_skew_ns int64 yes -
color_calibration_revision int64 yes -
color_calibration_id string yes -
depth_calibration_revision int64 yes -
depth_calibration_id string yes -
color_frame_id string yes -
depth_frame_id string yes -
reference_frame_id string yes Declared common reference frame for any registered relation.
color_intrinsics msg.r2kernel.sensor.camera/CameraIntrinsics yes -
extrinsics_calibration_id string no Resolvable calibration reference required when spatial_relation is registered; transforms are supplied by that calibration source, not invented here.

RgbdSample

Complete color/depth pair joined by capture_set_id, not by poll arrival.

Field Type Required Description
capture_set_id int64 yes -
capture_reference_time_sync_ns int64 yes -
color_time_offset_ns int64 yes -
depth_time_offset_ns int64 yes -
format RgbdStreamFormat yes -
visual_sample msg.r2kernel.visual/VisualSample yes -
depth_sample msg.r2kernel.depth/DepthSample yes -

RgbdTransferPart

RGB-D pairing envelope containing one or both explicitly typed planes. The visual and depth parts retain their own acquired_at_sync_ns, expires_at_sync_ns, sample identities, chunks, and calibration format revisions.

Field Type Required Description
capture_set_id int64 yes -
capture_reference_time_sync_ns int64 yes -
color_time_offset_ns int64 no -
depth_time_offset_ns int64 no -
format RgbdStreamFormat no -
visual_part msg.r2kernel.visual/VisualTransferPart no -
depth_part msg.r2kernel.depth/DepthTransferPart no -

RgbdCycleRequest

Requests a prepared RGB-D sample set for a sample-exchange cycle.

Field Type Required Description
cycle msg.r2kernel.control/ControlCycle yes -
after_capture_set_id int64 no -
resync_required bool no -

RgbdCycleResponse

One or more typed RGB-D transfer parts or a normal no-new-sample result. A partial pair is never reported as a complete RgbdSample.

Field Type Required Description
cycle msg.r2kernel.control/ControlCycle yes -
status string yes sample_available, no_new_sample, incomplete_pair, resync_required, or device_error.
part RgbdTransferPart no -
detail string no -

msg.r2kernel.stream.v1

Shared stream identity, codec profile, bounded payload chunk, and transfer-part metadata.

StreamIdentity

Provider-issued stream session and configuration revisions. This identity is domain data, not an authorization credential or a runtime route generation.

Field Type Required Description
session_id string yes Opaque provider-issued session identifier, unique across provider restarts.
configuration_revision int64 yes Active stream configuration revision.
format_revision int64 yes Active data-format and decoder-configuration revision.

CodecDescriptor

Stable codec contract identity and all information required to parse and decode its bitstream. A codec library or product name alone is not a codec contract.

Field Type Required Description
codec_id string yes Authority-qualified codec profile identifier.
codec_version string yes Version of the bitstream and configuration contract.
profile string yes Codec profile, level, bit depth, and other required profile selection.
bitstream_framing string yes Declared encoded-unit framing and byte-stream boundaries.
configuration_format string yes Declared syntax and version of decoder configuration bytes.
configuration_bytes bytes no Bounded decoder configuration needed for this format revision.
decoded_layout string yes Declared decoded sample layout and interpretation.

StreamLimits

Finite encoded, decoded, configuration, chunk, queue, and reassembly limits for one selected stream profile. Receivers validate these values before allocation.

Field Type Required Description
max_codec_config_bytes uint32 yes -
max_encoded_unit_bytes int64 yes -
max_decoded_unit_bytes int64 yes -
max_chunk_bytes uint32 yes -
max_parts_per_unit uint32 yes Maximum part count; bounds per-part assembly metadata.
max_pending_units uint32 yes -
max_pending_bytes int64 yes -
max_reassembly_age_ns int64 yes -

EncodedChunk

One bounded byte range from a logical encoded or raw payload unit. Chunks do not change the sample identity, sample lifetime, codec unit, or dependency order.

Field Type Required Description
part_index uint32 yes Zero-based part index within one transfer unit.
part_count uint32 yes Fixed total number of parts declared for the transfer unit.
total_payload_bytes int64 yes Total payload size, bounded by the selected profile before allocation.
offset_bytes int64 yes Byte offset within the complete payload.
payload_bytes bytes yes This part's bytes, bounded by max_chunk_bytes.

TransferPartHeader

Stable identity and lifetime for a typed data sample split over one or more Control cycles. acquired_at_sync_ns and expires_at_sync_ns describe the original sample lifetime; retries and later cycles never rewrite or extend them.

Field Type Required Description
stream StreamIdentity yes -
sample_id int64 yes Logical sensor or media sample identity, distinct from cycle sequence.
unit_sequence int64 yes Codec delivery-unit sequence, distinct from sample_id and format revision.
acquired_at_sync_ns int64 yes Original synchronized acquisition time for this domain sample.
expires_at_sync_ns int64 yes Absolute synchronized expiry of the original sample data.
independent bool yes Whether this unit can be decoded without referenced stream units.
reference_unit_sequences vector<int64> no Explicit codec-unit dependencies; not assumed to mean the prior unit only.

msg.r2kernel.visual.v1

Typed visual sample formats and transfer parts for camera sources and display sinks.

Imports: msg.r2kernel.control.v1, msg.r2kernel.stream.v1.

VisualPlaneFormat

One plane's decoded raster geometry and byte layout.

Field Type Required Description
plane_index uint32 yes -
width uint32 yes -
height uint32 yes -
offset_bytes int64 yes -
row_stride_bytes uint32 yes -
bytes_per_sample uint8 yes -
horizontal_subsampling uint8 yes -
vertical_subsampling uint8 yes -
sample_format string yes Numeric or packed sample representation for this plane.
endianness string yes little or big byte order for multibyte decoded samples; required for every plane.

VisualStreamFormat

Immutable format descriptor for one stream format revision. representation is raw_raster, encoded_image, or video_access_unit. Conditional field requirements are defined by the public stream contract documentation.

Field Type Required Description
representation string yes -
width uint32 yes -
height uint32 yes -
pixel_format string yes -
color_space string yes -
color_range string yes -
bit_depth uint8 yes -
planes vector<VisualPlaneFormat> yes -
codec msg.r2kernel.stream/CodecDescriptor no -
limits msg.r2kernel.stream/StreamLimits yes -
update_model string yes static_image or live_samples.

VisualSample

Complete reassembled visual sample, not an individual transport part.

Field Type Required Description
header msg.r2kernel.stream/TransferPartHeader yes -
format VisualStreamFormat yes -
presentation_timestamp_ns int64 no Media timeline presentation time, not a Control execution timestamp.
decode_timestamp_ns int64 no Media timeline decode order time when required by the codec profile.
payload_bytes bytes yes -

VisualTransferPart

Typed visual sample header and one bounded payload chunk. Include format on the first part of a session and whenever format_revision changes; do not renegotiate by sending a DESCRIBE/CONFIGURE handshake on every stream.

Field Type Required Description
header msg.r2kernel.stream/TransferPartHeader yes -
chunk msg.r2kernel.stream/EncodedChunk yes -
format VisualStreamFormat no -
presentation_timestamp_ns int64 no -
decode_timestamp_ns int64 no -

DisplayControlRequest

Control-only display request. A command submits a part or clears/resets output; keep continues the currently selected state without retransmitting old bytes.

Field Type Required Description
cycle msg.r2kernel.control/ControlCycle yes -
action string yes submit_part, clear_output, reset_stream, or continue_output.
part VisualTransferPart no -
presentation_timestamp_ns int64 no Requested presentation time on the declared media timeline. It is separate from execute_at_sync_ns and requires a declared clock mapping.

DisplayControlResponse

Typed display domain progress for the request cycle. This status reports the actual observed processing stage and does not redefine runtime execution status.

Field Type Required Description
cycle msg.r2kernel.control/ControlCycle yes -
status string yes part_received, unit_complete, decoded, submitted_to_renderer, presented, buffer_full, resync_required, stale_sample, unsupported_format, or device_error.
accepted_part_index uint32 no -
received_payload_bytes int64 no -
queued_units uint32 yes -
queued_bytes int64 yes -
available_units uint32 yes -
available_bytes int64 yes -
detail string no -

msg.sensor.camera.v1

Camera-sensor payload family for RGB/depth frame delivery and calibration metadata.

CameraIntrinsics

Pinhole-style intrinsic calibration parameters for a camera stream.

Field Type Required Description
width uint32 yes -
height uint32 yes -
fx float32 yes -
fy float32 yes -
cx float32 yes -
cy float32 yes -
distortion_model string no -
distortion_coefficients vector<float32> no -

CameraInfo

Camera stream metadata and intrinsic calibration.

Field Type Required Description
frame_id string yes -
intrinsics CameraIntrinsics yes -

ImageFrame

Generic image frame payload for camera-based observation streams.

Field Type Required Description
frame_id string yes -
width uint32 yes -
height uint32 yes -
encoding string yes -
step_bytes uint32 yes -
data bytes yes -

DepthFrame

Depth image frame with explicit meter-per-unit scaling.

Field Type Required Description
frame_id string yes -
width uint32 yes -
height uint32 yes -
encoding string yes -
step_bytes uint32 yes -
depth_unit_m float32 yes -
data bytes yes -