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.