Skip to content

ROS 2 graph

Every topic, service and action OpenRAL's own nodes declare, joined on name. Extracted statically from python/, packages/, tools/ and cpp/ (tests excluded), so it shows the wiring the code can create; which parts run depends on the robot manifest and launch arguments. A [param x] note on an endpoint means the name is that ROS parameter's declared default, overridable at launch. A row with — on one side talks to something outside this repo (ros2_control, Nav2, a driver) or is a dead end worth checking. A {placeholder} in a per-instance name is filled at runtime (a robot id, a manifest sensor name); rows join only on identical placeholder text, except that every openral_core.camera_topic(<name>) is {sensor} — a SensorSpec.name by contract.

Regenerate with uv run python tools/gen_ros_topic_graph.py; just lint and pre-commit fail when this page is stale.

Topics (50)

Name Type Publishers Subscribers
/clock rosgraph_msgs/Clock python/hal/src/openral_hal/lifecycle.py (HALLifecycleNodeBase.on_activate) —
/cmd_vel geometry_msgs/Twist — packages/openral_nav2_bringup/openral_nav2_bringup/twist_to_action_relay_node.py (main.TwistToActionRelayNode.init) [param cmd_vel_topic]
python/hal/src/openral_hal/mobile_base_bridge.py (MobileBaseBridge.setup)
/collision_markers MarkerArray tools/viz_collision.py (_run_rviz) —
/diagnostics diagnostic_msgs/DiagnosticArray cpp/openral_safety_kernel/src/lifecycle_kernel.cpp
python/observability/src/openral_observability/diagnostics.py (DiagnosticsHeartbeat.create_publisher)
—
/joint_states sensor_msgs/JointState python/hal/src/openral_hal/lifecycle.py (HALLifecycleNodeBase.on_activate)
tools/cloud_transport_probe.py (run_pub) [param --joint-topic]
tools/viz_collision.py (_run_rviz)
cpp/openral_safety_kernel/src/lifecycle_kernel.cpp
packages/openral_octomap_bridge/src/robot_self_filter.hpp [param joint_states_topic]
packages/world_state/openral_world_state_ros/lifecycle_node.py (_WorldStateLifecycleNode.on_configure) [param joint_states_topic]
python/hal/src/openral_hal/ros_control_transport.py (RosControlTransport.init)
python/runner/src/openral_runner/ros_publishing_hal.py (ROSPublishingHAL.connect)
/local_costmap/published_footprint geometry_msgs/PolygonStamped — tools/_nav2_mppi_loop_probe.py (Probe.init)
/map nav_msgs/OccupancyGrid — packages/openral_reasoner_ros/openral_reasoner_ros/reasoner_node.py (ReasonerNode.on_configure) [param occupancy_map_topic]
python/runner/src/openral_runner/slam_bridge.py (SlamMapBridge.init)
/octomap_binary octomap_msgs/Octomap — packages/openral_octomap_bridge/src/octomap_voxel_bridge.hpp [param octomap_topic]
/octomap_point_cloud_centers sensor_msgs/PointCloud2 — python/runner/src/openral_runner/world_cloud_bridge.py (WorldCloudBridge.init)
/odom nav_msgs/Odometry python/hal/src/openral_hal/mobile_base_bridge.py (MobileBaseBridge.setup) —
/openral/action_applied std_msgs/UInt64 python/hal/src/openral_hal/lifecycle.py (HALLifecycleNodeBase.on_activate) python/runner/src/openral_runner/ros_publishing_hal.py (ROSPublishingHAL.connect)
/openral/attachment_state openral_msgs/AttachmentState python/hal/src/openral_hal/sim_sensor_bridge.py (SimSensorBridge._setup_attachment_state)
python/hal/src/openral_hal/vision_attachment_bridge.py (VisionAttachmentBridge.setup)
packages/openral_foxglove_bringup/openral_foxglove_bringup/bucket2_markers.py (Bucket2MarkersNode.init)
packages/world_state/openral_world_state_ros/lifecycle_node.py (_WorldStateLifecycleNode.on_configure) [param attachment_state_topic]
python/hal/src/openral_hal/sim_sensor_bridge.py (SimSensorBridge._setup_attachment_state)
tools/_validation_matrix_monitor.py (Monitor.init)
/openral/attachment_state_applied std_msgs/UInt64 cpp/openral_safety_kernel/src/lifecycle_kernel.cpp python/hal/src/openral_hal/sim_sensor_bridge.py (SimSensorBridge._setup_attachment_state)
tools/_validation_matrix_monitor.py (Monitor.init)
/openral/candidate_action openral_msgs/ActionChunk python/runner/src/openral_runner/ros_publishing_hal.py (ROSPublishingHAL.connect) cpp/openral_safety_kernel/src/lifecycle_kernel.cpp
packages/openral_safety/openral_safety/supervisor_node.py (SafetyPassthroughNode.on_configure)
python/hal/src/openral_hal/sim_sensor_bridge.py (SimSensorBridge._setup_estop_ground_truth)
python/runner/src/openral_runner/dataset_recorder_bridge.py (DatasetRecorderBridge.init)
/openral/critic/score openral_msgs/CriticScore packages/openral_perception_ros/openral_perception_ros/reward_monitor_node.py (main.RewardMonitorNode.init) [param critic_score_topic] packages/openral_reasoner_ros/openral_reasoner_ros/critic_producer_node.py (CriticProducerNode.init) [param score_topic]
/openral/episode openral_msgs/Episode packages/openral_rskill_ros/openral_rskill_ros/rskill_runner_node.py (RskillRunnerNode.on_configure) python/runner/src/openral_runner/dataset_recorder_bridge.py (DatasetRecorderBridge.init)
/openral/estop std_msgs/Empty cpp/openral_safety_kernel/src/lifecycle_kernel.cpp
packages/openral_human_estop/openral_human_estop/forwarder_node.py (HumanEstopForwarderNode.on_configure)
packages/openral_safety/openral_safety/supervisor_node.py (SafetyPassthroughNode.on_configure)
packages/openral_safety_watchdog/openral_safety_watchdog/deadman_watchdog_node.py (DeadmanWatchdogNode.on_configure)
packages/openral_safety_watchdog/openral_safety_watchdog/hardware_estop_node.py (HardwareEstopNode.on_configure)
python/observability/src/openral_observability/dashboard/estop_publisher.py (EstopPublisher._start)
cpp/openral_safety_kernel/src/lifecycle_kernel.cpp
packages/openral_rskill_ros/openral_rskill_ros/rskill_runner_node.py (RskillRunnerNode.on_configure) [param estop_topic]
packages/openral_safety/openral_safety/supervisor_node.py (SafetyPassthroughNode.on_configure)
packages/openral_safety_watchdog/openral_safety_watchdog/deadman_watchdog_node.py (DeadmanWatchdogNode.on_configure)
python/hal/src/openral_hal/lifecycle.py (HALLifecycleNodeBase.on_activate)
python/hal/src/openral_hal/sim_sensor_bridge.py (SimSensorBridge._setup_estop_ground_truth)
tools/_validation_matrix_monitor.py (Monitor.init)
/openral/estop_cleared std_msgs/Empty python/cli/src/openral_cli/estop.py (estop_reset_command)
python/observability/src/openral_observability/dashboard/estop_publisher.py (EstopPublisher._start)
packages/openral_reasoner_ros/openral_reasoner_ros/reasoner_node.py (ReasonerNode.on_configure)
packages/openral_rskill_ros/openral_rskill_ros/rskill_runner_node.py (RskillRunnerNode.on_configure)
python/hal/src/openral_hal/lifecycle.py (HALLifecycleNodeBase.on_activate)
/openral/failure/rskill openral_msgs/FailureTrigger packages/openral_reasoner_ros/openral_reasoner_ros/reasoner_node.py (ReasonerNode.on_configure) —
/openral/failure/safety openral_msgs/FailureTrigger cpp/openral_safety_kernel/src/lifecycle_kernel.cpp
packages/openral_human_estop/openral_human_estop/forwarder_node.py (HumanEstopForwarderNode.on_configure)
packages/openral_safety_watchdog/openral_safety_watchdog/deadman_watchdog_node.py (DeadmanWatchdogNode.on_configure)
packages/openral_safety_watchdog/openral_safety_watchdog/hardware_estop_node.py (HardwareEstopNode.on_configure)
packages/openral_foxglove_bringup/openral_foxglove_bringup/bucket2_markers.py (Bucket2MarkersNode.init)
python/hal/src/openral_hal/sim_sensor_bridge.py (SimSensorBridge._setup_estop_ground_truth)
tools/_validation_matrix_monitor.py (Monitor.init)
/openral/grasp_declaration openral_msgs/GraspDeclaration packages/openral_rskill_ros/openral_rskill_ros/rskill_runner_node.py (RskillRunnerNode.on_configure) python/hal/src/openral_hal/_grasp_target_leg.py (GraspTargetLeg.setup)
python/hal/src/openral_hal/sim_sensor_bridge.py (SimSensorBridge._setup_grasp_declaration)
/openral/human_estop std_msgs/Empty — packages/openral_human_estop/openral_human_estop/forwarder_node.py (HumanEstopForwarderNode.on_configure)
/openral/nav2/scan sensor_msgs/LaserScan packages/openral_nav2_bringup/openral_nav2_bringup/payload_scan_filter_node.py (main.PayloadScanFilterNode.init) [param output_topic] —
/openral/nvblox/depth_filtered/camera_info sensor_msgs/CameraInfo packages/openral_slam_bringup/openral_slam_bringup/depth_height_filter_node.py (main.DepthHeightFilterNode.init) [param output_camera_info_topic] —
/openral/nvblox/depth_filtered/image sensor_msgs/Image packages/openral_slam_bringup/openral_slam_bringup/depth_height_filter_node.py (main.DepthHeightFilterNode.init) [param output_depth_topic] —
/openral/perception/detector_query std_msgs/String — packages/openral_perception_ros/openral_perception_ros/ros_image_detector_node.py (main.RosImageObjectDetectorNode.on_activate) [param query_topic]
/openral/perception/masks openral_msgs/SegmentMasks packages/openral_perception_ros/openral_perception_ros/segmenter_node.py (_node_class.SegmenterNode._open_debug_masks_publisher) [param debug_masks_topic] python/observability/src/openral_observability/dashboard/perception_overlay_subscriber.py (PerceptionOverlaySubscriber._start)
/openral/perception/objects openral_msgs/PromptStamped packages/openral_perception_ros/openral_perception_ros/ros_image_detector_node.py (main.RosImageObjectDetectorNode.on_configure) [param output_topic] packages/world_state/openral_world_state_ros/lifecycle_node.py (_WorldStateLifecycleNode.on_configure) [param object_detections_topic]
python/observability/src/openral_observability/dashboard/perception_overlay_subscriber.py (PerceptionOverlaySubscriber._start)
/openral/place_declaration openral_msgs/PlaceDeclaration packages/openral_rskill_ros/openral_rskill_ros/rskill_runner_node.py (RskillRunnerNode.on_configure) python/hal/src/openral_hal/_place_target_leg.py (PlaceTargetLeg.setup)
python/hal/src/openral_hal/sim_sensor_bridge.py (SimSensorBridge._setup_place_declaration)
/openral/policy_state std_msgs/Float32MultiArray python/hal/src/openral_hal/lifecycle.py (HALLifecycleNodeBase.on_activate) packages/world_state/openral_world_state_ros/lifecycle_node.py (_WorldStateLifecycleNode.on_configure)
/openral/prompt openral_msgs/PromptStamped packages/openral_prompt_router/openral_prompt_router/prompt_router_node.py (PromptRouterNode.on_configure)
packages/openral_reasoner_ros/openral_reasoner_ros/reasoner_node.py (ReasonerNode.on_configure)
packages/openral_reasoner_ros/openral_reasoner_ros/reasoner_node.py (ReasonerNode.on_configure)
/openral/reward/active_task std_msgs/String packages/openral_reasoner_ros/openral_reasoner_ros/reasoner_node.py (ReasonerNode.on_configure)
packages/openral_rskill_ros/openral_rskill_ros/rskill_runner_node.py (RskillRunnerNode.on_configure)
packages/openral_perception_ros/openral_perception_ros/reward_monitor_node.py (main.RewardMonitorNode.init)
python/hal/src/openral_hal/lifecycle.py (ManifestHALLifecycleNode._subscribe_active_task)
/openral/safe_action openral_msgs/ActionChunk cpp/openral_safety_kernel/src/lifecycle_kernel.cpp
packages/openral_safety/openral_safety/supervisor_node.py (SafetyPassthroughNode.on_configure)
packages/openral_safety_watchdog/openral_safety_watchdog/deadman_watchdog_node.py (DeadmanWatchdogNode.on_configure)
python/hal/src/openral_hal/lifecycle.py (HALLifecycleNodeBase.on_activate)
/openral/safety_status openral_msgs/SafetyStatus cpp/openral_safety_kernel/src/lifecycle_kernel.cpp
packages/openral_safety/openral_safety/supervisor_node.py (SafetyPassthroughNode.on_configure)
packages/openral_rskill_ros/openral_rskill_ros/rskill_runner_node.py (RskillRunnerNode.on_configure)
packages/openral_safety_watchdog/openral_safety_watchdog/deadman_watchdog_node.py (DeadmanWatchdogNode.on_configure) [param safety_status_topic]
python/observability/src/openral_observability/dashboard/safety_status_subscriber.py (SafetyStatusSubscriber._start)
/openral/skill_registry_changed std_msgs/Empty tools/wait_for_action_and_signal_palette.py (main) [param --signal-topic] packages/openral_reasoner_ros/openral_reasoner_ros/reasoner_node.py (ReasonerNode.on_configure)
/openral/visual_slam/odometry nav_msgs/Odometry packages/openral_slam_bringup/openral_slam_bringup/pycuvslam_node.py (main.PyCuVSLAMNode.init) [param odometry_topic] —
/openral/viz/attachments visualization_msgs/MarkerArray packages/openral_foxglove_bringup/openral_foxglove_bringup/bucket2_markers.py (Bucket2MarkersNode.init) —
/openral/viz/collisions visualization_msgs/MarkerArray packages/openral_foxglove_bringup/openral_foxglove_bringup/bucket2_markers.py (Bucket2MarkersNode.init) —
/openral/viz/static_geometry visualization_msgs/MarkerArray packages/openral_foxglove_bringup/openral_foxglove_bringup/bucket2_markers.py (Bucket2MarkersNode.init) —
/openral/world_state_fast openral_msgs/WorldStateStamped packages/world_state/openral_world_state_ros/lifecycle_node.py (_WorldStateLifecycleNode.on_configure) cpp/openral_safety_kernel/src/lifecycle_kernel.cpp
packages/openral_nav2_bringup/openral_nav2_bringup/payload_scan_filter_node.py (main.PayloadScanFilterNode.init) [param world_state_topic]
packages/openral_octomap_bridge/src/octomap_voxel_bridge.hpp [param world_state_topic]
packages/openral_octomap_bridge/src/robot_self_filter.hpp [param world_state_topic]
tools/_nav2_costmap_silhouette_probe.py (SilhouetteProbe.init)
tools/_validation_matrix_monitor.py (Monitor.init)
/openral/world_state_slow openral_msgs/WorldStateStamped packages/world_state/openral_world_state_ros/lifecycle_node.py (_WorldStateLifecycleNode.on_configure) packages/openral_reasoner_ros/openral_reasoner_ros/reasoner_node.py (ReasonerNode.on_configure)
/openral/world_voxels openral_msgs/OccupancyVoxels packages/openral_octomap_bridge/src/octomap_voxel_bridge.hpp [param output_topic]
tools/voxel_transport_probe.py (run_pub)
cpp/openral_safety_kernel/src/lifecycle_kernel.cpp
packages/openral_foxglove_bringup/openral_foxglove_bringup/bucket2_markers.py (Bucket2MarkersNode.init)
packages/world_state/openral_world_state_ros/lifecycle_node.py (_WorldStateLifecycleNode.on_configure) [param object_voxels_topic]
python/hal/src/openral_hal/sim_sensor_bridge.py (SimSensorBridge._setup_attachment_state)
python/hal/src/openral_hal/sim_sensor_bridge.py (SimSensorBridge._setup_estop_ground_truth)
python/hal/src/openral_hal/vision_attachment_bridge.py (VisionAttachmentBridge.setup)
tools/_validation_matrix_monitor.py (Monitor.init)
tools/voxel_transport_probe.py (run_sub)
/openral/world_voxels_cloud sensor_msgs/PointCloud2 packages/openral_foxglove_bringup/openral_foxglove_bringup/bucket2_markers.py (Bucket2MarkersNode.init) —
/probe/cloud sensor_msgs/PointCloud2 tools/cloud_transport_probe.py (run_pub) [param --topic] tools/cloud_transport_probe.py (run_sub) [param --topic]
/scan sensor_msgs/LaserScan python/hal/src/openral_hal/sim_sensor_bridge.py (SimSensorBridge._setup_scan) packages/openral_nav2_bringup/openral_nav2_bringup/payload_scan_filter_node.py (main.PayloadScanFilterNode.init) [param input_topic]
cloud_in sensor_msgs/PointCloud2 — packages/openral_octomap_bridge/src/robot_self_filter.hpp
cloud_out sensor_msgs/PointCloud2 packages/openral_octomap_bridge/src/robot_self_filter.hpp —
cloud_out_rgb sensor_msgs/PointCloud2 packages/openral_octomap_bridge/src/robot_self_filter.hpp —
~/joint_states sensor_msgs/JointState python/hal/src/openral_hal/lifecycle.py (HALLifecycleNodeBase.on_activate) —
~/urdf_joint_states msg_type python/hal/src/openral_hal/lifecycle.py (HALLifecycleNodeBase._open_urdf_joint_state_pub) —

Per-instance topics (10)

Name Type Publishers Subscribers
/openral/cameras/{sensor}/camera_info sensor_msgs/CameraInfo python/hal/src/openral_hal/sim_sensor_bridge.py (SimSensorBridge._advertise_camera)
python/hal/src/openral_hal/sim_sensor_bridge.py (SimSensorBridge._colour_publishers)
—
/openral/cameras/{sensor}/depth/camera_info sensor_msgs/CameraInfo python/hal/src/openral_hal/sim_sensor_bridge.py (SimSensorBridge._setup_depth) —
/openral/cameras/{sensor}/depth/image sensor_msgs/Image python/hal/src/openral_hal/sim_sensor_bridge.py (SimSensorBridge._setup_depth) —
/openral/cameras/{sensor}/image sensor_msgs/Image python/hal/src/openral_hal/sim_sensor_bridge.py (SimSensorBridge._advertise_camera)
python/hal/src/openral_hal/sim_sensor_bridge.py (SimSensorBridge._colour_publishers)
packages/world_state/openral_world_state_ros/lifecycle_node.py (_WorldStateLifecycleNode.on_configure)
/openral/cameras/{sensor}/points sensor_msgs/PointCloud2 python/hal/src/openral_hal/sim_sensor_bridge.py (SimSensorBridge._setup_depth) —
/openral/failure/{source} openral_msgs/FailureTrigger — packages/openral_reasoner_ros/openral_reasoner_ros/reasoner_node.py (ReasonerNode.on_configure)
/openral/perception/{detector.kind} openral_msgs/PromptStamped python/runner/src/openral_runner/backends/gstreamer/perception_tee.py (PerceptionEventPublisher.start) —
/openral/perception/{kind} openral_msgs/PromptStamped — packages/openral_reasoner_ros/openral_reasoner_ros/reasoner_node.py (ReasonerNode.on_configure)
/openral/prompt_in/{source} openral_msgs/PromptStamped — packages/openral_prompt_router/openral_prompt_router/prompt_router_node.py (PromptRouterNode.on_configure)
/{which}_costmap/costmap_raw nav2_msgs/Costmap — tools/_nav2_costmap_silhouette_probe.py (SilhouetteProbe.init)

Services (5)

Name Type Servers Clients
/openral/estop_reset std_srvs/Trigger cpp/openral_safety_kernel/src/lifecycle_kernel.cpp
packages/openral_safety/openral_safety/supervisor_node.py (SafetyPassthroughNode.on_configure)
python/cli/src/openral_cli/estop.py (estop_reset_command)
/openral/perception/locate_in_view openral_msgs/LocateInView packages/openral_perception_ros/openral_perception_ros/ros_image_detector_node.py (main.RosImageObjectDetectorNode.on_configure) [param locate_in_view_service] —
/openral/perception/query_scene openral_msgs/QueryScene packages/openral_perception_ros/openral_perception_ros/scene_vlm_node.py (main.SceneVlmNode.init) packages/openral_reasoner_ros/openral_reasoner_ros/reasoner_node.py (ReasonerNode._dispatch_query_scene)
/openral/perception/query_task_progress openral_msgs/QueryTaskProgress packages/openral_perception_ros/openral_perception_ros/reward_monitor_node.py (main.RewardMonitorNode.init) packages/openral_reasoner_ros/openral_reasoner_ros/reasoner_node.py (ReasonerNode._dispatch_query_task_progress)
packages/openral_reasoner_ros/openral_reasoner_ros/reasoner_node.py (ReasonerNode._maybe_verify_active_mission_task)
/openral/perception/segment_in_view openral_msgs/SegmentInView packages/openral_perception_ros/openral_perception_ros/segmenter_node.py (_node_class.SegmenterNode.on_configure) [param segment_in_view_service] —

Per-instance services (7)

Name Type Servers Clients
/openral/{robot}/reset_episode std_srvs/Trigger python/hal/src/openral_hal/lifecycle.py (ManifestHALLifecycleNode._open_reset_episode_service) —
/openral/{robot}/reset_to_pose openral_msgs/ResetToPose python/hal/src/openral_hal/lifecycle.py (ManifestHALLifecycleNode.on_configure_post_hal) —
/{ns}/torque_enable interbotix_xs_msgs/TorqueEnable — python/hal/src/openral_hal/interbotix_transport.py (InterbotixXSTransport.init)
{lifecycle_node_name}/get_state lifecycle_msgs/GetState — tools/wait_for_action_and_signal_palette.py (_lifecycle_active)
{node}/change_state lifecycle_msgs/ChangeState — packages/openral_reasoner_ros/openral_reasoner_ros/reasoner_node.py (ReasonerNode._change_state_async)
{self._controller_manager}/list_controllers controller_manager_msgs/ListControllers — python/hal/src/openral_hal/ros_control_transport.py (RosControlTransport.init)
{self._controller_manager}/switch_controller controller_manager_msgs/SwitchController — python/hal/src/openral_hal/ros_control_transport.py (RosControlTransport.init)

Actions (2)

Name Type Servers Clients
/openral/execute_rskill openral_msgs/ExecuteRskill packages/openral_rskill_ros/openral_rskill_ros/rskill_runner_node.py (RskillRunnerNode.on_configure) packages/openral_reasoner_ros/openral_reasoner_ros/reasoner_node.py (ReasonerNode.on_configure)
tools/_validation_matrix_dispatch.py (main)
navigate_to_pose nav2_msgs/NavigateToPose — tools/_nav2_costmap_silhouette_probe.py (_drive)
tools/_nav2_mppi_loop_probe.py (Probe.init)

Unresolved endpoints (40)

Names only known at runtime (built from a manifest, a robot id or a caller's argument). Shown as their source expression.

Kind Role Name expression Type Where
action client self._integration.interface_name type_obj python/rskill/src/openral_rskill/ros_action_rskill.py (ROSActionRskill._configure_impl)
service client self._config.service_name openral_msgs/SegmentInView python/hal/src/openral_hal/vision_attachment_bridge.py (VisionAttachmentBridge.setup)
service client self._integration.interface_name type_obj python/rskill/src/openral_rskill/ros_action_rskill.py (ROSActionRskill._configure_impl)
service client service openral_msgs/LocateInView packages/openral_reasoner_ros/openral_reasoner_ros/reasoner_node.py (ReasonerNode._dispatch_locate_in_view)
service client service std_srvs/Trigger python/hal/src/openral_hal/ros_control_transport.py (RosControlTransport.init)
service client service_name srv_type tools/lifecycle_autostart.py (_wait_for_service)
topic pub camera_info_topic_for(self._topic) sensor_msgs/CameraInfo python/runner/src/openral_runner/backends/gstreamer/ros_tee.py (RosImagePublisher._start_ros)
topic pub gp('camera_info_topic').get_parameter_value().string_value sensor_msgs/CameraInfo packages/openral_perception_ros/openral_perception_ros/depth_provider_node.py (main.DepthProviderNode.init)
topic pub gp('depth_topic').get_parameter_value().string_value sensor_msgs/Image packages/openral_perception_ros/openral_perception_ros/depth_provider_node.py (main.DepthProviderNode.init)
topic pub points_topic sensor_msgs/PointCloud2 packages/openral_perception_ros/openral_perception_ros/depth_provider_node.py (main.DepthProviderNode.init)
topic pub self._info_topic sensor_msgs/CameraInfo python/sensors/src/openral_sensors/ros_publisher.py (SensorRosPublisher.prepare)
topic pub self._topic openral_msgs/FailureTrigger python/observability/src/openral_observability/failure_bus.py (FailureBusPublisher.create_publisher)
topic pub self._topic sensor_msgs/Image python/runner/src/openral_runner/backends/gstreamer/ros_tee.py (RosImagePublisher._start_ros)
topic pub self._topic sensor_msgs/Image python/sensors/src/openral_sensors/ros_publisher.py (SensorRosPublisher.prepare)
topic pub t geometry_msgs/Polygon tools/_nav2_mppi_loop_probe.py (Probe.init)
topic pub target_topic openral_msgs/PromptStamped packages/openral_reasoner_ros/openral_reasoner_ros/reasoner_node.py (ReasonerNode._emit_prompt_publisher)
topic pub topic _message_type(self._kinds[topic]) python/hal/src/openral_hal/ros_control_transport.py (RosControlTransport.init)
topic pub topic openral_msgs/PromptStamped python/cli/src/openral_cli/prompt.py (prompt_command)
topic pub topic sensor_msgs/JointState tools/joint_state_staleness_probe.py (run)
topic pub topic std_msgs/Empty python/hal/src/openral_hal/ros_control_transport.py (RosControlTransport.init)
topic sub arm_status_topic action_msgs/GoalStatusArray packages/openral_safety_watchdog/openral_safety_watchdog/deadman_watchdog_node.py (DeadmanWatchdogNode.on_configure)
topic sub completion_camera_topic sensor_msgs/Image packages/openral_reasoner_ros/openral_reasoner_ros/reasoner_node.py (ReasonerNode.on_configure)
topic sub depth_topic sensor_msgs/PointCloud2 packages/world_state/openral_world_state_ros/lifecycle_node.py (_WorldStateLifecycleNode._setup_depth_points_fallback)
topic sub gp('image_topic').get_parameter_value().string_value sensor_msgs/Image packages/openral_perception_ros/openral_perception_ros/depth_provider_node.py (main.DepthProviderNode.init)
topic sub gp('input_camera_info_topic').get_parameter_value().string_value sensor_msgs/CameraInfo packages/openral_slam_bringup/openral_slam_bringup/depth_height_filter_node.py (main.DepthHeightFilterNode.init)
topic sub gp('input_depth_topic').get_parameter_value().string_value sensor_msgs/Image packages/openral_slam_bringup/openral_slam_bringup/depth_height_filter_node.py (main.DepthHeightFilterNode.init)
topic sub gp('left_camera_info_topic').get_parameter_value().string_value sensor_msgs/CameraInfo packages/openral_slam_bringup/openral_slam_bringup/pycuvslam_node.py (main.PyCuVSLAMNode._setup_inputs)
topic sub gp('right_camera_info_topic').get_parameter_value().string_value sensor_msgs/CameraInfo packages/openral_slam_bringup/openral_slam_bringup/pycuvslam_node.py (main.PyCuVSLAMNode._setup_inputs)
topic sub rgb_info_topic sensor_msgs/CameraInfo packages/openral_perception_ros/openral_perception_ros/depth_provider_node.py (main.DepthProviderNode.init)
topic sub self._camera_info_topic() sensor_msgs/CameraInfo python/hal/src/openral_hal/vision_attachment_bridge.py (VisionAttachmentBridge.setup)
topic sub self._config.self_filtered_cloud_topic sensor_msgs/PointCloud2 python/hal/src/openral_hal/vision_attachment_bridge.py (VisionAttachmentBridge.setup)
topic sub self._depth_topic() sensor_msgs/Image python/hal/src/openral_hal/vision_attachment_bridge.py (VisionAttachmentBridge.setup)
topic sub self._topic sensor_msgs/Image python/runner/src/openral_runner/backends/ros2_image.py (Ros2ImageSensorReader.open)
topic sub topic geometry_msgs/Twist tools/_nav2_mppi_loop_probe.py (Probe.init)
topic sub topic sensor_msgs/CameraInfo packages/openral_perception_ros/openral_perception_ros/ros_image_detector_node.py (main.RosImageObjectDetectorNode.on_configure)
topic sub topic sensor_msgs/CameraInfo packages/openral_perception_ros/openral_perception_ros/segmenter_node.py (_node_class.SegmenterNode.on_configure)
topic sub topic sensor_msgs/Image packages/openral_perception_ros/openral_perception_ros/reward_monitor_node.py (main.RewardMonitorNode.init)
topic sub topic sensor_msgs/Image packages/openral_perception_ros/openral_perception_ros/ros_image_detector_node.py (main.RosImageObjectDetectorNode.on_configure)
topic sub topic sensor_msgs/Image packages/openral_perception_ros/openral_perception_ros/scene_vlm_node.py (main.SceneVlmNode.init)
topic sub topic sensor_msgs/Image packages/openral_perception_ros/openral_perception_ros/segmenter_node.py (_node_class.SegmenterNode.on_configure)

Launch remappings (14)

From To Launch file
camera_0/depth/camera_info ‹filtered_depth_camera_info_topic› packages/openral_slam_bringup/launch/nvblox.launch.py
camera_0/depth/image ‹filtered_depth_image_topic› packages/openral_slam_bringup/launch/nvblox.launch.py
cloud_in ‹octomap_cloud_topic› packages/openral_rskill_ros/launch/deploy_e2e.launch.py
cloud_in ‹octomap_input_topic› packages/openral_rskill_ros/launch/deploy_e2e.launch.py
cloud_out_rgb ‹_SELF_FILTERED_RGB_CLOUD_TOPIC› packages/openral_rskill_ros/launch/deploy_e2e.launch.py
cloud_out ‹_SELF_FILTERED_CLOUD_TOPIC› packages/openral_rskill_ros/launch/deploy_e2e.launch.py
in ‹topic› packages/openral_foxglove_bringup/launch/foxglove.launch.py
out/compressed ‹topic + '/compressed'› packages/openral_foxglove_bringup/launch/foxglove.launch.py
visual_slam/camera_info_0 ‹LaunchConfiguration('camera_info_0_topic')› packages/openral_slam_bringup/launch/cuvslam.launch.py
visual_slam/camera_info_1 ‹LaunchConfiguration('camera_info_1_topic')› packages/openral_slam_bringup/launch/cuvslam.launch.py
visual_slam/image_0 ‹LaunchConfiguration('image_0_topic')› packages/openral_slam_bringup/launch/cuvslam.launch.py
visual_slam/image_1 ‹LaunchConfiguration('image_1_topic')› packages/openral_slam_bringup/launch/cuvslam.launch.py
visual_slam/imu ‹LaunchConfiguration('imu_topic')› packages/openral_slam_bringup/launch/cuvslam.launch.py
~/static_occupancy_grid ‹LaunchConfiguration('map_topic')› packages/openral_slam_bringup/launch/nvblox.launch.py