Skip to content

feat(runtime): add reusable ROS protocol helpers - #4

Merged
Staaaaaaaaar merged 1 commit into
mainfrom
feat/runtime-protocol-helpers
Aug 17, 2026
Merged

feat(runtime): add reusable ROS protocol helpers#4
Staaaaaaaaar merged 1 commit into
mainfrom
feat/runtime-protocol-helpers

Conversation

@Staaaaaaaaar

Copy link
Copy Markdown
Owner

Summary

  • introduce the ROS 2 Humble rh_ros package as the thin runtime adapter between rh_core and rh_interfaces
  • provide canonical control, command, and sensor QoS profiles with explicit control-plane liveliness
  • add component status transitions, steady-clock heartbeats, readiness tracking, and stale detection
  • add bounded thread-safe reset idempotency, explicit service discovery/call deadlines, and Episode sequence filtering
  • centralize validated Pose3D, Point3D, PointNav, and Episode lifecycle message conversions

Runtime semantics

  • status heartbeats preserve the last transition timestamp
  • status staleness and service deadlines use local steady time rather than simulation time
  • equivalent duplicate reset IDs replay the original result without re-executing the backend
  • conflicting reuse of a reset ID is rejected
  • Episode IDs remain opaque and must be activated explicitly before monotonic sequence filtering
  • PointNav remains a 3D target position and does not acquire target orientation through conversion

Boundaries

This PR adds no node executable, simulator or robot dependency, concrete Env or Agent behavior, or orchestrator state machine. Concrete components remain responsible for readiness decisions, actual reset behavior, failure mapping, and executor ownership.

Validation

  • make dev-check
  • repository, Markdown, YAML, and Ruff checks pass
  • 5 ROS packages build and test under Ubuntu 22.04 and ROS 2 Humble
  • 137 tests pass with 0 errors, failures, or skips
  • rh_ros contributes 35 tests, including a real transient-local late-join transport test, concurrent duplicate reset coverage, timeout behavior, QoS compatibility, sequence rejection, and 3D pose/PointNav conversions

@Staaaaaaaaar
Staaaaaaaaar merged commit b728470 into main Aug 17, 2026
1 check passed
@Staaaaaaaaar
Staaaaaaaaar deleted the feat/runtime-protocol-helpers branch August 17, 2026 08:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant