API Contract Reference
This page is generated from spec/apis. An API contract owns endpoint shape and semantics. Message families own payload layout, while the runtime envelope owns transport timing and execution metadata.
| API contract |
Events |
Controls |
Procedures |
Operations |
api.actuator.drive.v1 |
0 |
1 |
0 |
0 |
api.actuator.servo.v1 |
0 |
2 |
0 |
0 |
api.capability.manipulation.gripper.control.v1 |
1 |
0 |
2 |
0 |
api.capability.manipulation.reach.v1 |
1 |
0 |
3 |
0 |
api.capability.mobility.body_motion.v1 |
1 |
1 |
1 |
0 |
api.capability.perception.object_detection.v1 |
0 |
0 |
1 |
0 |
api.diagnostics.health.v1 |
1 |
0 |
2 |
0 |
api.end_effector.gripper.v1 |
0 |
0 |
3 |
0 |
api.io.analog.input.v1 |
0 |
0 |
1 |
0 |
api.io.analog.output.v1 |
0 |
0 |
2 |
0 |
api.io.digital.input.v1 |
0 |
0 |
1 |
0 |
api.io.digital.output.v1 |
0 |
0 |
2 |
0 |
api.localization.v1 |
2 |
0 |
0 |
0 |
api.locomotion.diff_drive.v1 |
2 |
0 |
2 |
0 |
api.locomotion.legged.state.v1 |
4 |
0 |
0 |
0 |
api.locomotion.mobile_base.state.v1 |
2 |
0 |
4 |
0 |
api.locomotion.odometry.v1 |
1 |
0 |
0 |
0 |
api.locomotion.velocity.v1 |
0 |
1 |
3 |
0 |
api.mapping.v1 |
2 |
0 |
0 |
0 |
api.motion.articulated.state.v1 |
1 |
0 |
0 |
0 |
api.motion.articulated.trajectory.offset.v1 |
0 |
1 |
0 |
0 |
api.motion.articulated.trajectory.v1 |
0 |
0 |
3 |
1 |
api.motion.articulated.velocity.v1 |
0 |
1 |
0 |
0 |
api.motion.execution.v1 |
1 |
0 |
2 |
0 |
api.motion.manipulator.cartesian.offset.v1 |
0 |
1 |
0 |
0 |
api.motion.manipulator.cartesian.v1 |
0 |
0 |
0 |
2 |
api.motion.manipulator.hand_guiding.v1 |
1 |
0 |
2 |
0 |
api.motion.manipulator.kinematics.v1 |
0 |
0 |
2 |
0 |
api.motion.manipulator.state.v1 |
3 |
0 |
0 |
0 |
api.motion.manipulator.tooling.calibration.v1 |
0 |
0 |
0 |
1 |
api.motion.manipulator.tooling.v1 |
0 |
0 |
2 |
0 |
api.motion.manipulator.velocity.v1 |
0 |
1 |
0 |
0 |
api.motion.manipulator.wrench.v1 |
1 |
1 |
0 |
0 |
api.navigation.v1 |
1 |
0 |
1 |
2 |
api.perception.query.v1 |
0 |
0 |
3 |
0 |
api.perception.stream.v1 |
3 |
0 |
0 |
0 |
api.sensor.camera.v1 |
3 |
0 |
0 |
0 |
api.actuator.drive.v1
Deterministic low-level drive command and state exchange.
Controls
| Endpoint |
Payloads and timing |
Semantics |
drive_command |
request=msg.actuator.drive.v1/DriveCommand, response=msg.actuator.drive.v1/DriveState, timing_support=required |
periodic=contract_defined; validity=runtime_envelope; scheduling=provider_dispatch; late_behavior=reject_expired |
Contract Semantics
| Area |
Declaration |
frames |
policy=endpoint_declared; dynamic_frames=owning_message_only |
timing |
clock_domain=r2kernel_sync; event_envelope={'observed': 'observed_at_sync_ns', 'published': 'published_at_sync_ns', 'received': 'received_at_sync_ns'}; control_envelope={'generated': 'generated_at_sync_ns', 'sent': 'sent_at_sync_ns', 'execute': 'execute_at_sync_ns', 'valid_until': 'valid_until_sync_ns'} |
state_model |
owner=provider; lifecycle=runtime_managed |
failure_semantics |
transport=runtime_status; domain=endpoint_response |
authority |
owner=provider; command_arbitration=exclusive_required_binding |
limits |
source=provider; enforcement=provider |
conformance |
level=public; payload_time=runtime_envelope |
api.actuator.servo.v1
Canonical low-level servo gateway API for joint commands and deterministic drive-link exchange.
Controls
| Endpoint |
Payloads and timing |
Semantics |
servo_joint |
request=msg.actuator.servo.v1/JointServoCommand, response=msg.core.common.primitive.v1/BoolValue, timing_support=required |
periodic=contract_defined; validity=runtime_envelope; scheduling=provider_dispatch; late_behavior=reject_expired |
servo_link |
request=msg.actuator.servo.v1/ActuatorCommand, response=msg.actuator.servo.v1/ActuatorState, timing_support=required |
periodic=required; validity=runtime_envelope; scheduling=gateway_dispatch; late_behavior=reject_expired |
Contract Semantics
| Area |
Declaration |
frames |
policy=endpoint_declared; dynamic_frames=owning_message_only |
timing |
clock_domain=r2kernel_sync; event_envelope={'observed': 'observed_at_sync_ns', 'published': 'published_at_sync_ns', 'received': 'received_at_sync_ns'}; control_envelope={'generated': 'generated_at_sync_ns', 'sent': 'sent_at_sync_ns', 'execute': 'execute_at_sync_ns', 'valid_until': 'valid_until_sync_ns'} |
state_model |
owner=provider; lifecycle=runtime_managed |
failure_semantics |
transport=runtime_status; domain=endpoint_response |
authority |
owner=provider; command_arbitration=exclusive_required_binding |
limits |
source=provider; enforcement=provider |
conformance |
level=public; payload_time=runtime_envelope |
api.capability.manipulation.gripper.control.v1
App-facing gripper API for platform-defined open and close actions.
Events
| Endpoint |
Payloads and timing |
Semantics |
gripper_status |
type=msg.capability.manipulation.v1/GripperState, direction=publish |
observation=provider_state; delivery=latest_available; fanout=allowed |
Procedures
| Endpoint |
Payloads and timing |
Semantics |
open |
request=msg.core.common.primitive.v1/Empty, response=msg.capability.common.v1/Result, timing_support=none |
idempotency=idempotent; side_effects=releases_held_object |
close |
request=msg.core.common.primitive.v1/Empty, response=msg.capability.common.v1/Result, timing_support=none |
idempotency=idempotent; side_effects=may_grasp_object |
Contract Semantics
| Area |
Declaration |
frames |
policy=endpoint_declared; dynamic_frames=owning_message_only |
timing |
clock_domain=r2kernel_sync; event_envelope={'observed': 'observed_at_sync_ns', 'published': 'published_at_sync_ns', 'received': 'received_at_sync_ns'}; control_envelope={'generated': 'generated_at_sync_ns', 'sent': 'sent_at_sync_ns', 'execute': 'execute_at_sync_ns', 'valid_until': 'valid_until_sync_ns'} |
state_model |
owner=provider; lifecycle=runtime_managed |
failure_semantics |
transport=runtime_status; domain=endpoint_response |
authority |
owner=provider; command_arbitration=exclusive_required_binding |
limits |
source=provider; enforcement=provider |
conformance |
level=public; payload_time=runtime_envelope |
api.capability.manipulation.reach.v1
App-facing reach API for platform-defined manipulator extension and stow commands.
Events
| Endpoint |
Payloads and timing |
Semantics |
manipulation_status |
type=msg.capability.manipulation.v1/ReachState, direction=publish |
observation=provider_state; delivery=latest_available; fanout=allowed |
Procedures
| Endpoint |
Payloads and timing |
Semantics |
extend |
request=msg.capability.manipulation.v1/ReachRequest, response=msg.capability.common.v1/Result, timing_support=none |
idempotency=target_idempotent; side_effects=moves_manipulator |
shrink |
request=msg.capability.manipulation.v1/ReachRequest, response=msg.capability.common.v1/Result, timing_support=none |
idempotency=target_idempotent; side_effects=moves_manipulator |
stow |
request=msg.core.common.primitive.v1/Empty, response=msg.capability.common.v1/Result, timing_support=none |
idempotency=idempotent; side_effects=moves_manipulator_to_stow |
Contract Semantics
| Area |
Declaration |
frames |
policy=endpoint_declared; dynamic_frames=owning_message_only |
timing |
clock_domain=r2kernel_sync; event_envelope={'observed': 'observed_at_sync_ns', 'published': 'published_at_sync_ns', 'received': 'received_at_sync_ns'}; control_envelope={'generated': 'generated_at_sync_ns', 'sent': 'sent_at_sync_ns', 'execute': 'execute_at_sync_ns', 'valid_until': 'valid_until_sync_ns'} |
state_model |
owner=provider; lifecycle=runtime_managed |
failure_semantics |
transport=runtime_status; domain=endpoint_response |
authority |
owner=provider; command_arbitration=exclusive_required_binding |
limits |
source=provider; enforcement=provider |
conformance |
level=public; payload_time=runtime_envelope |
api.capability.mobility.body_motion.v1
App-facing periodic body-motion command and stop contract independent of locomotion implementation.
Events
| Endpoint |
Payloads and timing |
Semantics |
body_motion_state |
type=msg.capability.mobility.v1/BodyMotionState, direction=publish |
observation=provider_state; delivery=latest_available; fanout=allowed |
Controls
| Endpoint |
Payloads and timing |
Semantics |
body_motion |
request=msg.capability.mobility.v1/BodyMotionCommand, response=msg.capability.common.v1/Result, timing_support=required |
periodic=required; validity=runtime_envelope; scheduling=provider_dispatch; late_behavior=reject_expired |
Procedures
| Endpoint |
Payloads and timing |
Semantics |
stop |
request=msg.capability.mobility.v1/StopRequest, response=msg.capability.common.v1/Result, timing_support=none |
idempotency=idempotent; side_effects=stops_platform_motion |
Contract Semantics
| Area |
Declaration |
frames |
policy=endpoint_declared; dynamic_frames=owning_message_only |
timing |
clock_domain=r2kernel_sync; event_envelope={'observed': 'observed_at_sync_ns', 'published': 'published_at_sync_ns', 'received': 'received_at_sync_ns'}; control_envelope={'generated': 'generated_at_sync_ns', 'sent': 'sent_at_sync_ns', 'execute': 'execute_at_sync_ns', 'valid_until': 'valid_until_sync_ns'} |
state_model |
owner=provider; lifecycle=runtime_managed |
failure_semantics |
transport=runtime_status; domain=endpoint_response |
authority |
owner=provider; command_arbitration=exclusive_required_binding |
limits |
source=provider; enforcement=provider |
conformance |
level=public; payload_time=runtime_envelope |
api.capability.perception.object_detection.v1
App-facing semantic object query independent of sensor and perception implementation.
Procedures
| Endpoint |
Payloads and timing |
Semantics |
query_objects |
request=msg.capability.perception.v1/ObjectQuery, response=msg.capability.perception.v1/DetectionSummary, timing_support=none |
idempotency=read_only; side_effects=none |
Contract Semantics
| Area |
Declaration |
frames |
policy=endpoint_declared; dynamic_frames=owning_message_only |
timing |
clock_domain=r2kernel_sync; event_envelope={'observed': 'observed_at_sync_ns', 'published': 'published_at_sync_ns', 'received': 'received_at_sync_ns'}; control_envelope={'generated': 'generated_at_sync_ns', 'sent': 'sent_at_sync_ns', 'execute': 'execute_at_sync_ns', 'valid_until': 'valid_until_sync_ns'} |
state_model |
owner=provider; lifecycle=runtime_managed |
failure_semantics |
transport=runtime_status; domain=endpoint_response |
authority |
owner=provider; command_arbitration=exclusive_required_binding |
limits |
source=provider; enforcement=provider |
conformance |
level=public; payload_time=runtime_envelope |
api.diagnostics.health.v1
Shared provider health publication, query, and fault reset contract.
Events
| Endpoint |
Payloads and timing |
Semantics |
health_status |
type=msg.diagnostics.health.v1/HealthStatus, direction=publish |
observation=provider_sample; delivery=best_effort_latest; fanout=allowed |
Procedures
| Endpoint |
Payloads and timing |
Semantics |
get_health |
request=msg.core.common.primitive.v1/Empty, response=msg.diagnostics.health.v1/HealthStatus, timing_support=none |
idempotency=endpoint_defined; side_effects=endpoint_defined |
clear_fault |
request=msg.diagnostics.health.v1/ClearFaultRequest, response=msg.core.common.primitive.v1/BoolValue, timing_support=none |
idempotency=endpoint_defined; side_effects=endpoint_defined |
Contract Semantics
| Area |
Declaration |
frames |
policy=endpoint_declared; dynamic_frames=owning_message_only |
timing |
clock_domain=r2kernel_sync; event_envelope={'observed': 'observed_at_sync_ns', 'published': 'published_at_sync_ns', 'received': 'received_at_sync_ns'}; control_envelope={'generated': 'generated_at_sync_ns', 'sent': 'sent_at_sync_ns', 'execute': 'execute_at_sync_ns', 'valid_until': 'valid_until_sync_ns'} |
state_model |
owner=provider; lifecycle=runtime_managed |
failure_semantics |
transport=runtime_status; domain=endpoint_response |
authority |
owner=provider; command_arbitration=exclusive_required_binding |
limits |
source=provider; enforcement=provider |
conformance |
level=public; payload_time=runtime_envelope |
api.end_effector.gripper.v1
Canonical binary gripper API contract for open, close, and state query.
Procedures
| Endpoint |
Payloads and timing |
Semantics |
open |
request=msg.core.common.primitive.v1/Empty, response=msg.core.common.primitive.v1/BoolValue, timing_support=none |
idempotency=endpoint_defined; side_effects=endpoint_defined |
close |
request=msg.core.common.primitive.v1/Empty, response=msg.core.common.primitive.v1/BoolValue, timing_support=none |
idempotency=endpoint_defined; side_effects=endpoint_defined |
get_gripper_state |
request=msg.core.common.primitive.v1/Empty, response=msg.core.common.primitive.v1/BoolValue, timing_support=none |
idempotency=endpoint_defined; side_effects=endpoint_defined |
Contract Semantics
| Area |
Declaration |
frames |
policy=endpoint_declared; dynamic_frames=owning_message_only |
timing |
clock_domain=r2kernel_sync; event_envelope={'observed': 'observed_at_sync_ns', 'published': 'published_at_sync_ns', 'received': 'received_at_sync_ns'}; control_envelope={'generated': 'generated_at_sync_ns', 'sent': 'sent_at_sync_ns', 'execute': 'execute_at_sync_ns', 'valid_until': 'valid_until_sync_ns'} |
state_model |
owner=provider; lifecycle=runtime_managed |
failure_semantics |
transport=runtime_status; domain=endpoint_response |
authority |
owner=provider; command_arbitration=exclusive_required_binding |
limits |
source=provider; enforcement=provider |
conformance |
level=public; payload_time=runtime_envelope |
Canonical index-addressed analog input read API contract.
Procedures
| Endpoint |
Payloads and timing |
Semantics |
get_analog_input |
request=msg.core.common.primitive.v1/UInt32Value, response=msg.core.common.primitive.v1/Float32Value, timing_support=none |
idempotency=endpoint_defined; side_effects=endpoint_defined |
Contract Semantics
| Area |
Declaration |
frames |
policy=endpoint_declared; dynamic_frames=owning_message_only |
timing |
clock_domain=r2kernel_sync; event_envelope={'observed': 'observed_at_sync_ns', 'published': 'published_at_sync_ns', 'received': 'received_at_sync_ns'}; control_envelope={'generated': 'generated_at_sync_ns', 'sent': 'sent_at_sync_ns', 'execute': 'execute_at_sync_ns', 'valid_until': 'valid_until_sync_ns'} |
state_model |
owner=provider; lifecycle=runtime_managed |
failure_semantics |
transport=runtime_status; domain=endpoint_response |
authority |
owner=provider; command_arbitration=exclusive_required_binding |
limits |
source=provider; enforcement=provider |
conformance |
level=public; payload_time=runtime_envelope |
api.io.analog.output.v1
Canonical index-addressed analog output command and state API contract.
Procedures
| Endpoint |
Payloads and timing |
Semantics |
set_analog_output |
request=msg.core.common.primitive.v1/IndexedFloat32Value, response=msg.core.common.primitive.v1/BoolValue, timing_support=none |
idempotency=target_idempotent; side_effects=changes_physical_output |
get_analog_output |
request=msg.core.common.primitive.v1/UInt32Value, response=msg.core.common.primitive.v1/Float32Value, timing_support=none |
idempotency=read_only; side_effects=none |
Contract Semantics
| Area |
Declaration |
frames |
policy=not_applicable; dynamic_frames=prohibited |
timing |
clock_domain=r2kernel_sync; event_envelope={'observed': 'observed_at_sync_ns', 'published': 'published_at_sync_ns', 'received': 'received_at_sync_ns'}; control_envelope={'generated': 'generated_at_sync_ns', 'sent': 'sent_at_sync_ns', 'execute': 'execute_at_sync_ns', 'valid_until': 'valid_until_sync_ns'} |
state_model |
owner=provider; lifecycle=runtime_managed |
failure_semantics |
transport=runtime_status; domain=endpoint_response |
authority |
owner=provider; command_arbitration=exclusive_required_binding |
limits |
source=provider; enforcement=provider |
conformance |
level=public; payload_time=runtime_envelope |
Canonical index-addressed digital input read API contract.
Procedures
| Endpoint |
Payloads and timing |
Semantics |
get_digital_input |
request=msg.core.common.primitive.v1/UInt32Value, response=msg.core.common.primitive.v1/BoolValue, timing_support=none |
idempotency=endpoint_defined; side_effects=endpoint_defined |
Contract Semantics
| Area |
Declaration |
frames |
policy=endpoint_declared; dynamic_frames=owning_message_only |
timing |
clock_domain=r2kernel_sync; event_envelope={'observed': 'observed_at_sync_ns', 'published': 'published_at_sync_ns', 'received': 'received_at_sync_ns'}; control_envelope={'generated': 'generated_at_sync_ns', 'sent': 'sent_at_sync_ns', 'execute': 'execute_at_sync_ns', 'valid_until': 'valid_until_sync_ns'} |
state_model |
owner=provider; lifecycle=runtime_managed |
failure_semantics |
transport=runtime_status; domain=endpoint_response |
authority |
owner=provider; command_arbitration=exclusive_required_binding |
limits |
source=provider; enforcement=provider |
conformance |
level=public; payload_time=runtime_envelope |
api.io.digital.output.v1
Canonical index-addressed digital output command and state API contract.
Procedures
| Endpoint |
Payloads and timing |
Semantics |
set_digital_output |
request=msg.core.common.primitive.v1/IndexedBoolValue, response=msg.core.common.primitive.v1/BoolValue, timing_support=none |
idempotency=endpoint_defined; side_effects=endpoint_defined |
get_digital_output |
request=msg.core.common.primitive.v1/UInt32Value, response=msg.core.common.primitive.v1/BoolValue, timing_support=none |
idempotency=endpoint_defined; side_effects=endpoint_defined |
Contract Semantics
| Area |
Declaration |
frames |
policy=endpoint_declared; dynamic_frames=owning_message_only |
timing |
clock_domain=r2kernel_sync; event_envelope={'observed': 'observed_at_sync_ns', 'published': 'published_at_sync_ns', 'received': 'received_at_sync_ns'}; control_envelope={'generated': 'generated_at_sync_ns', 'sent': 'sent_at_sync_ns', 'execute': 'execute_at_sync_ns', 'valid_until': 'valid_until_sync_ns'} |
state_model |
owner=provider; lifecycle=runtime_managed |
failure_semantics |
transport=runtime_status; domain=endpoint_response |
authority |
owner=provider; command_arbitration=exclusive_required_binding |
limits |
source=provider; enforcement=provider |
conformance |
level=public; payload_time=runtime_envelope |
api.localization.v1
Canonical localization API contract.
Events
| Endpoint |
Payloads and timing |
Semantics |
pose_estimate |
type=msg.localization.v1/PoseEstimate, direction=publish |
observation=provider_sample; delivery=best_effort_latest; fanout=allowed |
localization_status |
type=msg.localization.v1/LocalizationStatus, direction=publish |
observation=provider_sample; delivery=best_effort_latest; fanout=allowed |
Contract Semantics
| Area |
Declaration |
frames |
policy=endpoint_declared; dynamic_frames=owning_message_only |
timing |
clock_domain=r2kernel_sync; event_envelope={'observed': 'observed_at_sync_ns', 'published': 'published_at_sync_ns', 'received': 'received_at_sync_ns'}; control_envelope={'generated': 'generated_at_sync_ns', 'sent': 'sent_at_sync_ns', 'execute': 'execute_at_sync_ns', 'valid_until': 'valid_until_sync_ns'} |
state_model |
owner=provider; lifecycle=runtime_managed |
failure_semantics |
transport=runtime_status; domain=endpoint_response |
authority |
owner=provider; command_arbitration=exclusive_required_binding |
limits |
source=provider; enforcement=provider |
conformance |
level=public; payload_time=runtime_envelope |
api.locomotion.diff_drive.v1
Optional mobile-base API contract for differential-drive kinematics and wheel-level state.
Events
| Endpoint |
Payloads and timing |
Semantics |
wheel_command |
type=msg.locomotion.mobile_base.v1/WheelCommand, direction=publish |
observation=provider_sample; delivery=best_effort_latest; fanout=allowed |
wheel_state |
type=msg.locomotion.mobile_base.v1/WheelState, direction=publish |
observation=provider_sample; delivery=best_effort_latest; fanout=allowed |
Procedures
| Endpoint |
Payloads and timing |
Semantics |
get_diff_drive_kinematics |
request=msg.core.common.primitive.v1/Empty, response=msg.locomotion.mobile_base.v1/DiffDriveKinematics, timing_support=none |
idempotency=endpoint_defined; side_effects=endpoint_defined |
set_diff_drive_kinematics |
request=msg.locomotion.mobile_base.v1/DiffDriveKinematics, response=msg.locomotion.velocity.v1/CommandAck, timing_support=none |
idempotency=endpoint_defined; side_effects=endpoint_defined |
Contract Semantics
| Area |
Declaration |
frames |
policy=endpoint_declared; dynamic_frames=owning_message_only |
timing |
clock_domain=r2kernel_sync; event_envelope={'observed': 'observed_at_sync_ns', 'published': 'published_at_sync_ns', 'received': 'received_at_sync_ns'}; control_envelope={'generated': 'generated_at_sync_ns', 'sent': 'sent_at_sync_ns', 'execute': 'execute_at_sync_ns', 'valid_until': 'valid_until_sync_ns'} |
state_model |
owner=provider; lifecycle=runtime_managed |
failure_semantics |
transport=runtime_status; domain=endpoint_response |
authority |
owner=provider; command_arbitration=exclusive_required_binding |
limits |
source=provider; enforcement=provider |
conformance |
level=public; payload_time=runtime_envelope |
api.locomotion.legged.state.v1
Canonical legged locomotion state API contract.
Events
| Endpoint |
Payloads and timing |
Semantics |
contact_state |
type=msg.locomotion.legged.v1/ContactArray, direction=publish |
observation=provider_sample; delivery=best_effort_latest; fanout=allowed |
foot_state |
type=msg.locomotion.legged.v1/FootState, direction=publish |
observation=provider_sample; delivery=best_effort_latest; fanout=allowed |
balance_state |
type=msg.locomotion.legged.v1/BalanceState, direction=publish |
observation=provider_sample; delivery=best_effort_latest; fanout=allowed |
gait_phase |
type=msg.locomotion.legged.v1/GaitPhase, direction=publish |
observation=provider_sample; delivery=best_effort_latest; fanout=allowed |
Contract Semantics
| Area |
Declaration |
frames |
policy=endpoint_declared; dynamic_frames=owning_message_only |
timing |
clock_domain=r2kernel_sync; event_envelope={'observed': 'observed_at_sync_ns', 'published': 'published_at_sync_ns', 'received': 'received_at_sync_ns'}; control_envelope={'generated': 'generated_at_sync_ns', 'sent': 'sent_at_sync_ns', 'execute': 'execute_at_sync_ns', 'valid_until': 'valid_until_sync_ns'} |
state_model |
owner=provider; lifecycle=runtime_managed |
failure_semantics |
transport=runtime_status; domain=endpoint_response |
authority |
owner=provider; command_arbitration=exclusive_required_binding |
limits |
source=provider; enforcement=provider |
conformance |
level=public; payload_time=runtime_envelope |
api.locomotion.mobile_base.state.v1
Canonical wheeled mobile-base state, fault, and drive-enable API contract.
Events
| Endpoint |
Payloads and timing |
Semantics |
mobile_base_state |
type=msg.locomotion.mobile_base.v1/MobileBaseState, direction=publish |
observation=provider_sample; delivery=best_effort_latest; fanout=allowed |
fault_state |
type=msg.locomotion.mobile_base.v1/FaultState, direction=publish |
observation=provider_sample; delivery=best_effort_latest; fanout=allowed |
Procedures
| Endpoint |
Payloads and timing |
Semantics |
get_status |
request=msg.core.common.primitive.v1/Empty, response=msg.locomotion.mobile_base.v1/MobileBaseState, timing_support=none |
idempotency=endpoint_defined; side_effects=endpoint_defined |
enable_drive |
request=msg.locomotion.mobile_base.v1/EnableDriveRequest, response=msg.locomotion.velocity.v1/CommandAck, timing_support=none |
idempotency=endpoint_defined; side_effects=endpoint_defined |
disable_drive |
request=msg.locomotion.mobile_base.v1/DisableDriveRequest, response=msg.locomotion.velocity.v1/CommandAck, timing_support=none |
idempotency=endpoint_defined; side_effects=endpoint_defined |
clear_fault |
request=msg.locomotion.mobile_base.v1/ClearFaultRequest, response=msg.locomotion.velocity.v1/CommandAck, timing_support=none |
idempotency=endpoint_defined; side_effects=endpoint_defined |
Contract Semantics
| Area |
Declaration |
frames |
policy=endpoint_declared; dynamic_frames=owning_message_only |
timing |
clock_domain=r2kernel_sync; event_envelope={'observed': 'observed_at_sync_ns', 'published': 'published_at_sync_ns', 'received': 'received_at_sync_ns'}; control_envelope={'generated': 'generated_at_sync_ns', 'sent': 'sent_at_sync_ns', 'execute': 'execute_at_sync_ns', 'valid_until': 'valid_until_sync_ns'} |
state_model |
owner=provider; lifecycle=runtime_managed |
failure_semantics |
transport=runtime_status; domain=endpoint_response |
authority |
owner=provider; command_arbitration=exclusive_required_binding |
limits |
source=provider; enforcement=provider |
conformance |
level=public; payload_time=runtime_envelope |
api.locomotion.odometry.v1
Canonical mobile-base odometry publication API contract.
Events
| Endpoint |
Payloads and timing |
Semantics |
odometry |
type=msg.locomotion.mobile_base.v1/Odometry, direction=publish |
observation=provider_sample; delivery=best_effort_latest; fanout=allowed |
Contract Semantics
| Area |
Declaration |
frames |
policy=endpoint_declared; dynamic_frames=owning_message_only |
timing |
clock_domain=r2kernel_sync; event_envelope={'observed': 'observed_at_sync_ns', 'published': 'published_at_sync_ns', 'received': 'received_at_sync_ns'}; control_envelope={'generated': 'generated_at_sync_ns', 'sent': 'sent_at_sync_ns', 'execute': 'execute_at_sync_ns', 'valid_until': 'valid_until_sync_ns'} |
state_model |
owner=provider; lifecycle=runtime_managed |
failure_semantics |
transport=runtime_status; domain=endpoint_response |
authority |
owner=provider; command_arbitration=exclusive_required_binding |
limits |
source=provider; enforcement=provider |
conformance |
level=public; payload_time=runtime_envelope |
api.locomotion.velocity.v1
Canonical shared locomotion body-velocity API contract with timed command validity and limit management.
Controls
| Endpoint |
Payloads and timing |
Semantics |
velocity_command |
request=msg.locomotion.velocity.v1/VelocityCommand, response=msg.locomotion.velocity.v1/CommandAck, timing_support=required |
periodic=contract_defined; validity=runtime_envelope; scheduling=provider_dispatch; late_behavior=reject_expired |
Procedures
| Endpoint |
Payloads and timing |
Semantics |
set_velocity_limits |
request=msg.locomotion.velocity.v1/VelocityLimits, response=msg.locomotion.velocity.v1/CommandAck, timing_support=none |
idempotency=endpoint_defined; side_effects=endpoint_defined |
get_velocity_limits |
request=msg.core.common.primitive.v1/Empty, response=msg.locomotion.velocity.v1/VelocityLimits, timing_support=none |
idempotency=endpoint_defined; side_effects=endpoint_defined |
stop |
request=msg.locomotion.velocity.v1/StopRequest, response=msg.locomotion.velocity.v1/CommandAck, timing_support=none |
idempotency=endpoint_defined; side_effects=endpoint_defined |
Contract Semantics
| Area |
Declaration |
frames |
policy=endpoint_declared; dynamic_frames=owning_message_only |
timing |
clock_domain=r2kernel_sync; event_envelope={'observed': 'observed_at_sync_ns', 'published': 'published_at_sync_ns', 'received': 'received_at_sync_ns'}; control_envelope={'generated': 'generated_at_sync_ns', 'sent': 'sent_at_sync_ns', 'execute': 'execute_at_sync_ns', 'valid_until': 'valid_until_sync_ns'} |
state_model |
owner=provider; lifecycle=runtime_managed |
failure_semantics |
transport=runtime_status; domain=endpoint_response |
authority |
owner=provider; command_arbitration=exclusive_required_binding |
limits |
source=provider; enforcement=provider |
conformance |
level=public; payload_time=runtime_envelope |
api.mapping.v1
Canonical mapping API contract.
Events
| Endpoint |
Payloads and timing |
Semantics |
occupancy_map |
type=msg.mapping.v1/OccupancyGridMap, direction=publish |
observation=provider_sample; delivery=best_effort_latest; fanout=allowed |
map_state |
type=msg.mapping.v1/MapStatus, direction=publish |
observation=provider_sample; delivery=best_effort_latest; fanout=allowed |
Contract Semantics
| Area |
Declaration |
frames |
policy=endpoint_declared; dynamic_frames=owning_message_only |
timing |
clock_domain=r2kernel_sync; event_envelope={'observed': 'observed_at_sync_ns', 'published': 'published_at_sync_ns', 'received': 'received_at_sync_ns'}; control_envelope={'generated': 'generated_at_sync_ns', 'sent': 'sent_at_sync_ns', 'execute': 'execute_at_sync_ns', 'valid_until': 'valid_until_sync_ns'} |
state_model |
owner=provider; lifecycle=runtime_managed |
failure_semantics |
transport=runtime_status; domain=endpoint_response |
authority |
owner=provider; command_arbitration=exclusive_required_binding |
limits |
source=provider; enforcement=provider |
conformance |
level=public; payload_time=runtime_envelope |
api.motion.articulated.state.v1
Canonical articulated joint-state API contract.
Events
| Endpoint |
Payloads and timing |
Semantics |
joint_state |
type=msg.core.kinematics.v1/JointState, direction=publish |
observation=provider_sample; delivery=best_effort_latest; fanout=allowed |
Contract Semantics
| Area |
Declaration |
frames |
policy=endpoint_declared; dynamic_frames=owning_message_only |
timing |
clock_domain=r2kernel_sync; event_envelope={'observed': 'observed_at_sync_ns', 'published': 'published_at_sync_ns', 'received': 'received_at_sync_ns'}; control_envelope={'generated': 'generated_at_sync_ns', 'sent': 'sent_at_sync_ns', 'execute': 'execute_at_sync_ns', 'valid_until': 'valid_until_sync_ns'} |
state_model |
owner=provider; lifecycle=runtime_managed |
failure_semantics |
transport=runtime_status; domain=endpoint_response |
authority |
owner=provider; command_arbitration=exclusive_required_binding |
limits |
source=provider; enforcement=provider |
conformance |
level=public; payload_time=runtime_envelope |
api.motion.articulated.trajectory.offset.v1
Periodic joint offset control for an active programmed trajectory.
Controls
| Endpoint |
Payloads and timing |
Semantics |
trajectory_offset |
request=msg.motion.articulated.v1/TrajectoryOffset, response=msg.core.common.primitive.v1/BoolValue, timing_support=required |
periodic=contract_defined; validity=runtime_envelope; scheduling=provider_dispatch; late_behavior=reject_expired |
Contract Semantics
| Area |
Declaration |
frames |
policy=endpoint_declared; dynamic_frames=owning_message_only |
timing |
clock_domain=r2kernel_sync; event_envelope={'observed': 'observed_at_sync_ns', 'published': 'published_at_sync_ns', 'received': 'received_at_sync_ns'}; control_envelope={'generated': 'generated_at_sync_ns', 'sent': 'sent_at_sync_ns', 'execute': 'execute_at_sync_ns', 'valid_until': 'valid_until_sync_ns'} |
state_model |
owner=provider; lifecycle=runtime_managed |
failure_semantics |
transport=runtime_status; domain=endpoint_response |
authority |
owner=provider; command_arbitration=exclusive_required_binding |
limits |
source=provider; enforcement=provider |
conformance |
level=public; payload_time=runtime_envelope |
api.motion.articulated.trajectory.v1
Canonical articulated programmed-motion API contract.
Procedures
| Endpoint |
Payloads and timing |
Semantics |
stop |
request=msg.motion.articulated.v1/RampRequest, response=msg.core.common.primitive.v1/BoolValue, timing_support=none |
idempotency=idempotent; side_effects=stops_motion |
pause |
request=msg.motion.articulated.v1/RampRequest, response=msg.core.common.primitive.v1/BoolValue, timing_support=none |
idempotency=idempotent; side_effects=pauses_motion |
resume |
request=msg.core.common.primitive.v1/Empty, response=msg.core.common.primitive.v1/BoolValue, timing_support=none |
idempotency=idempotent; side_effects=resumes_motion |
Operations
| Endpoint |
Payloads and timing |
Semantics |
move_j |
request=msg.motion.articulated.v1/MoveJRequest, feedback=msg.motion.manipulator.v1/MotionFeedback, result=msg.motion.manipulator.v1/MotionResult, state=msg.motion.manipulator.v1/MotionState, timing_support=none |
progress=feedback_stream; cancellation=required; terminal_states=['succeeded', 'failed', 'canceled', 'rejected'] |
Contract Semantics
| Area |
Declaration |
frames |
policy=endpoint_declared; dynamic_frames=owning_message_only |
timing |
clock_domain=r2kernel_sync; event_envelope={'observed': 'observed_at_sync_ns', 'published': 'published_at_sync_ns', 'received': 'received_at_sync_ns'}; control_envelope={'generated': 'generated_at_sync_ns', 'sent': 'sent_at_sync_ns', 'execute': 'execute_at_sync_ns', 'valid_until': 'valid_until_sync_ns'} |
state_model |
owner=provider; lifecycle=runtime_managed |
failure_semantics |
transport=runtime_status; domain=endpoint_response |
authority |
owner=provider; command_arbitration=exclusive_required_binding |
limits |
source=provider; enforcement=provider |
conformance |
level=public; payload_time=runtime_envelope |
api.motion.articulated.velocity.v1
Canonical articulated periodic joint-velocity API contract.
Controls
| Endpoint |
Payloads and timing |
Semantics |
joint_velocity |
request=msg.core.kinematics.v1/JointVelocity, response=msg.core.common.primitive.v1/BoolValue, timing_support=required |
periodic=contract_defined; validity=runtime_envelope; scheduling=provider_dispatch; late_behavior=reject_expired |
Contract Semantics
| Area |
Declaration |
frames |
policy=endpoint_declared; dynamic_frames=owning_message_only |
timing |
clock_domain=r2kernel_sync; event_envelope={'observed': 'observed_at_sync_ns', 'published': 'published_at_sync_ns', 'received': 'received_at_sync_ns'}; control_envelope={'generated': 'generated_at_sync_ns', 'sent': 'sent_at_sync_ns', 'execute': 'execute_at_sync_ns', 'valid_until': 'valid_until_sync_ns'} |
state_model |
owner=provider; lifecycle=runtime_managed |
failure_semantics |
transport=runtime_status; domain=endpoint_response |
authority |
owner=provider; command_arbitration=exclusive_required_binding |
limits |
source=provider; enforcement=provider |
conformance |
level=public; payload_time=runtime_envelope |
api.motion.execution.v1
Shared programmed-motion state and runtime speed scaling.
Events
| Endpoint |
Payloads and timing |
Semantics |
execution_state |
type=msg.motion.execution.v1/ExecutionState, direction=publish |
observation=provider_sample; delivery=best_effort_latest; fanout=allowed |
Procedures
| Endpoint |
Payloads and timing |
Semantics |
set_speed_scaling |
request=msg.motion.execution.v1/SpeedScaling, response=msg.core.common.primitive.v1/BoolValue, timing_support=none |
idempotency=endpoint_defined; side_effects=endpoint_defined |
get_speed_scaling |
request=msg.core.common.primitive.v1/Empty, response=msg.motion.execution.v1/SpeedScaling, timing_support=none |
idempotency=endpoint_defined; side_effects=endpoint_defined |
Contract Semantics
| Area |
Declaration |
frames |
policy=endpoint_declared; dynamic_frames=owning_message_only |
timing |
clock_domain=r2kernel_sync; event_envelope={'observed': 'observed_at_sync_ns', 'published': 'published_at_sync_ns', 'received': 'received_at_sync_ns'}; control_envelope={'generated': 'generated_at_sync_ns', 'sent': 'sent_at_sync_ns', 'execute': 'execute_at_sync_ns', 'valid_until': 'valid_until_sync_ns'} |
state_model |
owner=provider; lifecycle=runtime_managed |
failure_semantics |
transport=runtime_status; domain=endpoint_response |
authority |
owner=provider; command_arbitration=exclusive_required_binding |
limits |
source=provider; enforcement=provider |
conformance |
level=public; payload_time=runtime_envelope |
api.motion.manipulator.cartesian.offset.v1
Periodic Cartesian offset control for active manipulator motion.
Controls
| Endpoint |
Payloads and timing |
Semantics |
cartesian_offset |
request=msg.motion.manipulator.v1/CartesianOffset, response=msg.core.common.primitive.v1/BoolValue, timing_support=required |
periodic=contract_defined; validity=runtime_envelope; scheduling=provider_dispatch; late_behavior=reject_expired |
Contract Semantics
| Area |
Declaration |
frames |
policy=endpoint_declared; dynamic_frames=owning_message_only |
timing |
clock_domain=r2kernel_sync; event_envelope={'observed': 'observed_at_sync_ns', 'published': 'published_at_sync_ns', 'received': 'received_at_sync_ns'}; control_envelope={'generated': 'generated_at_sync_ns', 'sent': 'sent_at_sync_ns', 'execute': 'execute_at_sync_ns', 'valid_until': 'valid_until_sync_ns'} |
state_model |
owner=provider; lifecycle=runtime_managed |
failure_semantics |
transport=runtime_status; domain=endpoint_response |
authority |
owner=provider; command_arbitration=exclusive_required_binding |
limits |
source=provider; enforcement=provider |
conformance |
level=public; payload_time=runtime_envelope |
api.motion.manipulator.cartesian.v1
Canonical manipulator Cartesian programmed-motion API contract.
Operations
| Endpoint |
Payloads and timing |
Semantics |
move_l |
request=msg.motion.manipulator.v1/MoveLRequest, feedback=msg.motion.manipulator.v1/MotionFeedback, result=msg.motion.manipulator.v1/MotionResult, state=msg.motion.manipulator.v1/MotionState, timing_support=none |
progress=feedback_stream; cancellation=required; terminal_states=['succeeded', 'failed', 'canceled', 'rejected'] |
move_c |
request=msg.motion.manipulator.v1/MoveCRequest, feedback=msg.motion.manipulator.v1/MotionFeedback, result=msg.motion.manipulator.v1/MotionResult, state=msg.motion.manipulator.v1/MotionState, timing_support=none |
progress=feedback_stream; cancellation=required; terminal_states=['succeeded', 'failed', 'canceled', 'rejected'] |
Contract Semantics
| Area |
Declaration |
frames |
policy=endpoint_declared; dynamic_frames=owning_message_only |
timing |
clock_domain=r2kernel_sync; event_envelope={'observed': 'observed_at_sync_ns', 'published': 'published_at_sync_ns', 'received': 'received_at_sync_ns'}; control_envelope={'generated': 'generated_at_sync_ns', 'sent': 'sent_at_sync_ns', 'execute': 'execute_at_sync_ns', 'valid_until': 'valid_until_sync_ns'} |
state_model |
owner=provider; lifecycle=runtime_managed |
failure_semantics |
transport=runtime_status; domain=endpoint_response |
authority |
owner=provider; command_arbitration=exclusive_required_binding |
limits |
source=provider; enforcement=provider |
conformance |
level=public; payload_time=runtime_envelope |
api.motion.manipulator.hand_guiding.v1
Provider-owned hand-guiding mode control and state.
Events
| Endpoint |
Payloads and timing |
Semantics |
hand_guiding_state |
type=msg.motion.manipulator.v1/HandGuidingState, direction=publish |
observation=provider_sample; delivery=best_effort_latest; fanout=allowed |
Procedures
| Endpoint |
Payloads and timing |
Semantics |
enable_hand_guiding |
request=msg.core.common.primitive.v1/StringValue, response=msg.core.common.primitive.v1/BoolValue, timing_support=none |
idempotency=endpoint_defined; side_effects=endpoint_defined |
disable_hand_guiding |
request=msg.core.common.primitive.v1/Empty, response=msg.core.common.primitive.v1/BoolValue, timing_support=none |
idempotency=endpoint_defined; side_effects=endpoint_defined |
Contract Semantics
| Area |
Declaration |
frames |
policy=endpoint_declared; dynamic_frames=owning_message_only |
timing |
clock_domain=r2kernel_sync; event_envelope={'observed': 'observed_at_sync_ns', 'published': 'published_at_sync_ns', 'received': 'received_at_sync_ns'}; control_envelope={'generated': 'generated_at_sync_ns', 'sent': 'sent_at_sync_ns', 'execute': 'execute_at_sync_ns', 'valid_until': 'valid_until_sync_ns'} |
state_model |
owner=provider; lifecycle=runtime_managed |
failure_semantics |
transport=runtime_status; domain=endpoint_response |
authority |
owner=provider; command_arbitration=exclusive_required_binding |
limits |
source=provider; enforcement=provider |
conformance |
level=public; payload_time=runtime_envelope |
api.motion.manipulator.kinematics.v1
Stateless forward and inverse kinematics queries.
Procedures
| Endpoint |
Payloads and timing |
Semantics |
forward_kinematics |
request=msg.motion.manipulator.v1/ForwardKinematicsRequest, response=msg.motion.manipulator.v1/ForwardKinematicsResult, timing_support=none |
idempotency=endpoint_defined; side_effects=endpoint_defined |
inverse_kinematics |
request=msg.motion.manipulator.v1/InverseKinematicsRequest, response=msg.motion.manipulator.v1/InverseKinematicsResult, timing_support=none |
idempotency=endpoint_defined; side_effects=endpoint_defined |
Contract Semantics
| Area |
Declaration |
frames |
policy=endpoint_declared; dynamic_frames=owning_message_only |
timing |
clock_domain=r2kernel_sync; event_envelope={'observed': 'observed_at_sync_ns', 'published': 'published_at_sync_ns', 'received': 'received_at_sync_ns'}; control_envelope={'generated': 'generated_at_sync_ns', 'sent': 'sent_at_sync_ns', 'execute': 'execute_at_sync_ns', 'valid_until': 'valid_until_sync_ns'} |
state_model |
owner=provider; lifecycle=runtime_managed |
failure_semantics |
transport=runtime_status; domain=endpoint_response |
authority |
owner=provider; command_arbitration=exclusive_required_binding |
limits |
source=provider; enforcement=provider |
conformance |
level=public; payload_time=runtime_envelope |
api.motion.manipulator.state.v1
Canonical manipulator tool/task-space state API contract.
Events
| Endpoint |
Payloads and timing |
Semantics |
tool_pose |
type=msg.core.spatial.v1/Pose, direction=publish |
observation=provider_sample; delivery=best_effort_latest; fanout=allowed |
motion_state |
type=msg.motion.manipulator.v1/MotionState, direction=publish |
observation=provider_sample; delivery=best_effort_latest; fanout=allowed |
tool_settings |
type=msg.motion.manipulator.v1/ToolSettings, direction=publish |
observation=provider_sample; delivery=best_effort_latest; fanout=allowed |
Contract Semantics
| Area |
Declaration |
frames |
policy=endpoint_declared; dynamic_frames=owning_message_only |
timing |
clock_domain=r2kernel_sync; event_envelope={'observed': 'observed_at_sync_ns', 'published': 'published_at_sync_ns', 'received': 'received_at_sync_ns'}; control_envelope={'generated': 'generated_at_sync_ns', 'sent': 'sent_at_sync_ns', 'execute': 'execute_at_sync_ns', 'valid_until': 'valid_until_sync_ns'} |
state_model |
owner=provider; lifecycle=runtime_managed |
failure_semantics |
transport=runtime_status; domain=endpoint_response |
authority |
owner=provider; command_arbitration=exclusive_required_binding |
limits |
source=provider; enforcement=provider |
conformance |
level=public; payload_time=runtime_envelope |
Long-running provider-owned TCP and payload calibration.
Operations
| Endpoint |
Payloads and timing |
Semantics |
calibrate_tool |
request=msg.motion.manipulator.v1/ToolCalibrationRequest, feedback=msg.motion.manipulator.v1/MotionFeedback, result=msg.motion.manipulator.v1/ToolCalibrationResult, state=msg.motion.manipulator.v1/MotionState, timing_support=none |
progress=feedback_stream; cancellation=required; terminal_states=['succeeded', 'failed', 'canceled', 'rejected'] |
Contract Semantics
| Area |
Declaration |
frames |
policy=endpoint_declared; dynamic_frames=owning_message_only |
timing |
clock_domain=r2kernel_sync; event_envelope={'observed': 'observed_at_sync_ns', 'published': 'published_at_sync_ns', 'received': 'received_at_sync_ns'}; control_envelope={'generated': 'generated_at_sync_ns', 'sent': 'sent_at_sync_ns', 'execute': 'execute_at_sync_ns', 'valid_until': 'valid_until_sync_ns'} |
state_model |
owner=provider; lifecycle=runtime_managed |
failure_semantics |
transport=runtime_status; domain=endpoint_response |
authority |
owner=provider; command_arbitration=exclusive_required_binding |
limits |
source=provider; enforcement=provider |
conformance |
level=public; payload_time=runtime_envelope |
Canonical manipulator tooling and payload API contract.
Procedures
| Endpoint |
Payloads and timing |
Semantics |
set_tcp |
request=msg.motion.manipulator.v1/SetTcpRequest, response=msg.core.common.primitive.v1/BoolValue, timing_support=none |
idempotency=target_idempotent; side_effects=changes_tool_transform |
set_payload |
request=msg.motion.manipulator.v1/SetPayloadRequest, response=msg.core.common.primitive.v1/BoolValue, timing_support=none |
idempotency=target_idempotent; side_effects=changes_dynamic_model |
Contract Semantics
| Area |
Declaration |
frames |
policy=endpoint_declared; dynamic_frames=owning_message_only |
timing |
clock_domain=r2kernel_sync; event_envelope={'observed': 'observed_at_sync_ns', 'published': 'published_at_sync_ns', 'received': 'received_at_sync_ns'}; control_envelope={'generated': 'generated_at_sync_ns', 'sent': 'sent_at_sync_ns', 'execute': 'execute_at_sync_ns', 'valid_until': 'valid_until_sync_ns'} |
state_model |
owner=provider; lifecycle=runtime_managed |
failure_semantics |
transport=runtime_status; domain=endpoint_response |
authority |
owner=provider; command_arbitration=exclusive_required_binding |
limits |
source=provider; enforcement=provider |
conformance |
level=public; payload_time=runtime_envelope |
api.motion.manipulator.velocity.v1
Canonical manipulator periodic TCP-twist control API contract.
Controls
| Endpoint |
Payloads and timing |
Semantics |
tcp_velocity |
request=msg.core.spatial.v1/Twist, response=msg.core.common.primitive.v1/BoolValue, timing_support=required |
periodic=contract_defined; validity=runtime_envelope; scheduling=provider_dispatch; late_behavior=reject_expired |
Contract Semantics
| Area |
Declaration |
frames |
policy=endpoint_declared; dynamic_frames=owning_message_only |
timing |
clock_domain=r2kernel_sync; event_envelope={'observed': 'observed_at_sync_ns', 'published': 'published_at_sync_ns', 'received': 'received_at_sync_ns'}; control_envelope={'generated': 'generated_at_sync_ns', 'sent': 'sent_at_sync_ns', 'execute': 'execute_at_sync_ns', 'valid_until': 'valid_until_sync_ns'} |
state_model |
owner=provider; lifecycle=runtime_managed |
failure_semantics |
transport=runtime_status; domain=endpoint_response |
authority |
owner=provider; command_arbitration=exclusive_required_binding |
limits |
source=provider; enforcement=provider |
conformance |
level=public; payload_time=runtime_envelope |
api.motion.manipulator.wrench.v1
Periodic task-space wrench control and observation.
Events
| Endpoint |
Payloads and timing |
Semantics |
measured_wrench |
type=msg.motion.manipulator.v1/WrenchCommand, direction=publish |
observation=provider_sample; delivery=best_effort_latest; fanout=allowed |
Controls
| Endpoint |
Payloads and timing |
Semantics |
wrench_command |
request=msg.motion.manipulator.v1/WrenchCommand, response=msg.core.common.primitive.v1/BoolValue, timing_support=required |
periodic=contract_defined; validity=runtime_envelope; scheduling=provider_dispatch; late_behavior=reject_expired |
Contract Semantics
| Area |
Declaration |
frames |
policy=endpoint_declared; dynamic_frames=owning_message_only |
timing |
clock_domain=r2kernel_sync; event_envelope={'observed': 'observed_at_sync_ns', 'published': 'published_at_sync_ns', 'received': 'received_at_sync_ns'}; control_envelope={'generated': 'generated_at_sync_ns', 'sent': 'sent_at_sync_ns', 'execute': 'execute_at_sync_ns', 'valid_until': 'valid_until_sync_ns'} |
state_model |
owner=provider; lifecycle=runtime_managed |
failure_semantics |
transport=runtime_status; domain=endpoint_response |
authority |
owner=provider; command_arbitration=exclusive_required_binding |
limits |
source=provider; enforcement=provider |
conformance |
level=public; payload_time=runtime_envelope |
api.navigation.v1
Canonical navigation API contract.
Events
| Endpoint |
Payloads and timing |
Semantics |
navigation_state |
type=msg.navigation.v1/NavigationState, direction=publish |
observation=provider_sample; delivery=best_effort_latest; fanout=allowed |
Procedures
| Endpoint |
Payloads and timing |
Semantics |
cancel_navigation |
request=msg.core.common.primitive.v1/Empty, response=msg.core.common.primitive.v1/BoolValue, timing_support=none |
idempotency=endpoint_defined; side_effects=endpoint_defined |
Operations
| Endpoint |
Payloads and timing |
Semantics |
navigate_to_pose |
request=msg.navigation.v1/NavigateToPoseRequest, feedback=msg.navigation.v1/NavigationFeedback, result=msg.navigation.v1/NavigationResult, state=msg.navigation.v1/NavigationState, timing_support=none |
progress=feedback_stream; cancellation=required; terminal_states=['succeeded', 'failed', 'canceled', 'rejected'] |
follow_path |
request=msg.navigation.v1/FollowPathRequest, feedback=msg.navigation.v1/NavigationFeedback, result=msg.navigation.v1/NavigationResult, state=msg.navigation.v1/NavigationState, timing_support=none |
progress=feedback_stream; cancellation=required; terminal_states=['succeeded', 'failed', 'canceled', 'rejected'] |
Contract Semantics
| Area |
Declaration |
frames |
policy=endpoint_declared; dynamic_frames=owning_message_only |
timing |
clock_domain=r2kernel_sync; event_envelope={'observed': 'observed_at_sync_ns', 'published': 'published_at_sync_ns', 'received': 'received_at_sync_ns'}; control_envelope={'generated': 'generated_at_sync_ns', 'sent': 'sent_at_sync_ns', 'execute': 'execute_at_sync_ns', 'valid_until': 'valid_until_sync_ns'} |
state_model |
owner=provider; lifecycle=runtime_managed |
failure_semantics |
transport=runtime_status; domain=endpoint_response |
authority |
owner=provider; command_arbitration=exclusive_required_binding |
limits |
source=provider; enforcement=provider |
conformance |
level=public; payload_time=runtime_envelope |
api.perception.query.v1
Canonical request/response perception query API contract for bounded object scans.
Procedures
| Endpoint |
Payloads and timing |
Semantics |
scan |
request=msg.core.common.primitive.v1/StringValue, response=msg.core.common.primitive.v1/StringValue, timing_support=none |
idempotency=endpoint_defined; side_effects=endpoint_defined |
front |
request=msg.core.common.primitive.v1/StringValue, response=msg.core.common.primitive.v1/StringValue, timing_support=none |
idempotency=endpoint_defined; side_effects=endpoint_defined |
nearest |
request=msg.core.common.primitive.v1/StringValue, response=msg.core.common.primitive.v1/StringValue, timing_support=none |
idempotency=endpoint_defined; side_effects=endpoint_defined |
Contract Semantics
| Area |
Declaration |
frames |
policy=endpoint_declared; dynamic_frames=owning_message_only |
timing |
clock_domain=r2kernel_sync; event_envelope={'observed': 'observed_at_sync_ns', 'published': 'published_at_sync_ns', 'received': 'received_at_sync_ns'}; control_envelope={'generated': 'generated_at_sync_ns', 'sent': 'sent_at_sync_ns', 'execute': 'execute_at_sync_ns', 'valid_until': 'valid_until_sync_ns'} |
state_model |
owner=provider; lifecycle=runtime_managed |
failure_semantics |
transport=runtime_status; domain=endpoint_response |
authority |
owner=provider; command_arbitration=exclusive_required_binding |
limits |
source=provider; enforcement=provider |
conformance |
level=public; payload_time=runtime_envelope |
api.perception.stream.v1
Canonical perception observation stream API contract.
Events
| Endpoint |
Payloads and timing |
Semantics |
detections_2d |
type=msg.perception.v1/Detection2DArray, direction=publish |
observation=provider_sample; delivery=best_effort_latest; fanout=allowed |
object_pose |
type=msg.perception.v1/ObjectPoseArray, direction=publish |
observation=provider_sample; delivery=best_effort_latest; fanout=allowed |
grasp_candidates |
type=msg.perception.v1/GraspCandidateArray, direction=publish |
observation=provider_sample; delivery=best_effort_latest; fanout=allowed |
Contract Semantics
| Area |
Declaration |
frames |
policy=endpoint_declared; dynamic_frames=owning_message_only |
timing |
clock_domain=r2kernel_sync; event_envelope={'observed': 'observed_at_sync_ns', 'published': 'published_at_sync_ns', 'received': 'received_at_sync_ns'}; control_envelope={'generated': 'generated_at_sync_ns', 'sent': 'sent_at_sync_ns', 'execute': 'execute_at_sync_ns', 'valid_until': 'valid_until_sync_ns'} |
state_model |
owner=provider; lifecycle=runtime_managed |
failure_semantics |
transport=runtime_status; domain=endpoint_response |
authority |
owner=provider; command_arbitration=exclusive_required_binding |
limits |
source=provider; enforcement=provider |
conformance |
level=public; payload_time=runtime_envelope |
api.sensor.camera.v1
Canonical camera stream API contract.
Events
| Endpoint |
Payloads and timing |
Semantics |
camera_info |
type=msg.sensor.camera.v1/CameraInfo, direction=publish |
observation=provider_sample; delivery=best_effort_latest; fanout=allowed |
image_frame |
type=msg.sensor.camera.v1/ImageFrame, direction=publish |
observation=provider_sample; delivery=best_effort_latest; fanout=allowed |
depth_frame |
type=msg.sensor.camera.v1/DepthFrame, direction=publish |
observation=provider_sample; delivery=best_effort_latest; fanout=allowed |
Contract Semantics
| Area |
Declaration |
frames |
policy=endpoint_declared; dynamic_frames=owning_message_only |
timing |
clock_domain=r2kernel_sync; event_envelope={'observed': 'observed_at_sync_ns', 'published': 'published_at_sync_ns', 'received': 'received_at_sync_ns'}; control_envelope={'generated': 'generated_at_sync_ns', 'sent': 'sent_at_sync_ns', 'execute': 'execute_at_sync_ns', 'valid_until': 'valid_until_sync_ns'} |
state_model |
owner=provider; lifecycle=runtime_managed |
failure_semantics |
transport=runtime_status; domain=endpoint_response |
authority |
owner=provider; command_arbitration=exclusive_required_binding |
limits |
source=provider; enforcement=provider |
conformance |
level=public; payload_time=runtime_envelope |