---json
{"name": "Scenarios dashboard"}
---
====== ROS 2: optional scenarios dashboard ======
Use the browser guide to learn commands, inspect interfaces and follow the ROS graph. You run the commands in the console; **the driver, acquisition and RViz work independently of the dashboard**.
===== Scenario view =====
{{ :axiom:ros2:ros2-scenario.jpg?nolink&850 |Axiom ROS 2 thermal-camera scenario guide}}
//The scenario pairs each console command with an explanation and an expected result.//
===== Build and open the guide =====
From the ''axiom-ros2'' repository root on Linux:
source scripts/setup_env.sh
rosdep install --from-paths src examples/scenarios-dashboard/src --ignore-src -r -y
colcon build --base-paths src examples/scenarios-dashboard/src --symlink-install
source scripts/setup_env.sh
bash examples/scenarios-dashboard/scripts/dashboard.sh
Open **http://127.0.0.1:8083** in a browser on that Linux machine, or use the port in ''machine.env''. The guide wrapper loads the same machine settings and board file as the consoles. Starting it does not start Axiom drivers or request measurements.
The example has ''COLCON_IGNORE'' so a default recursive build skips it. Supplying ''examples/scenarios-dashboard/src'' explicitly includes it. The dashboard's package name is ''axiom_marty_dashboard'', and the RViz example package is ''axiom_marty_demo''; neither requires a Marty for Axiom-only scenarios.
===== Find your way around =====
^ Tab ^ Use it for ^
| **Available** | The interface catalogue: what the packages can expose and how topics, services and nodes relate. |
| **Running graph** | Nodes and endpoints discovered in this ROS session, including publisher/subscriber arrows. |
| **Commands** | Console commands grouped by purpose. Copy a command, then run it in your terminal. |
| **Scenarios** | Workflows from setup to cleanup. Start with one expanded step or choose Expand all. |
The board selector scopes command examples to a configured namespace. Click **ⓘ** beside a command or interface for its purpose, arguments or message/service details.
===== Read the graph =====
{{ :axiom:ros2:ros2-running-graph.jpg?nolink&850 |Live ROS graph for a thermal visualisation example}}
//Example graph captured with a synthetic thermal publisher, the real heatmap adapter and RViz.//
The graph shows ROS discovery. A visible node or topic is not proof that a command succeeded or measurements are valid. Check service responses and use ''ros2 topic echo'' to confirm messages. A subscriber can keep a topic name present even when its sensor publisher disappears.
Configured boards can appear before their drivers start. **Driver offline** means no driver has been discovered for that namespace; it does not mean the USB cable or Wi-Fi hardware has been tested. **Connected** describes the running driver's reported state.
===== Four console panes with tmux =====
Optional, from the repository root:
sudo apt install tmux
bash examples/scenarios-dashboard/scripts/ros_tmux.sh
This opens four empty ROS consoles using the shared machine configuration. No drivers, connections or acquisition start automatically.
^ Shortcut ^ Effect ^
| Ctrl+B, then an arrow | Move to another pane. |
| Ctrl+B, then D | Detach; processes continue running. |
| Ctrl+Shift+V | Paste into a typical Linux terminal. |
| Ctrl+C | Stop the foreground command in the current pane. |
To return to the session:
tmux -L axiom-ros attach -t axiom
For a native Linux session, stop your ROS processes with Ctrl+C and the driver's stop-acquisition/disconnect services. A **Start from scratch** control is available only when a workstation reset adapter has been configured.
The **Axiom · thermal camera + RViz** scenario implements the [[:axiom:ros2:thermal_camera|thermal-camera walkthrough]]. Other Axiom scenarios cover accelerometer data, distance-sensor hot swapping and multiple boards. Back to [[:axiom:ros2:start|Axiom with ROS 2]].