Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Interface — ROS 2 & Space ROS

ROS 2 workflows expose supported sensors and actions through standard middleware interfaces, subject to action-space and runtime requirements.

Motivation

ROS 2 connects SRB workflows to tools such as RViz2, tf2, and rosbag2. Shared message types do not establish sim-to-real compatibility.

Space ROS

Space ROS extends the ROS ecosystem beyond Earth. SRB requires ROS 2 Jazzy and its configured RMW; Space ROS compatibility and direct sourcing remain unvalidated. Standard ROS 2 middleware and interfaces can communicate with Space ROS nodes.

Implementation

The bridge node provides:

  • Dynamic interfaces — Supported publishers, subscribers, and services for the selected environment.
  • Message translation — Supported sensors, transforms, batched Box actions, and step outputs; not every simulation entity is exposed.

How to Get Started?

See Installation, Basic Usage, and the ROS 2 Workflow.

Manual TF trajectory visualizer

The source checkout includes a standalone TF-to-Path node. It requires a sourced ROS 2 Jazzy installation with rclpy, tf2_ros, geometry_msgs and nav_msgs; these are ROS packages, not dependencies supplied by the Python plotting extra. Run it directly from the checkout, in the ROS domain containing the transforms you intend to observe:

source /opt/ros/jazzy/setup.bash
python srb/interfaces/sim_to_real/utils/visual/ros_tf_traj_display.py \
  --ros-args -p source_frame:=world -p target_frame:=target -p publish_rate_hz:=10.0

Replace the frame names with your system’s. The node publishes target_path (nav_msgs/msg/Path) in source_frame; add it as a Path display in RViz. It preserves orientation and keeps at most 1000 poses by default. This checkout-only tool publishes visualization data, not commands; it has no ros2 run executable or srb subcommand.

The separate waypoint evaluator at srb/interfaces/sim_to_real/utils/eval/waypoint_navigation.py is also manual; its path and animation behavior has dedicated tests. Neither tool establishes live-system or physical validation.