Quick Start Guide#
Complete the installation before proceeding.
Easiest Way — Interactive Launcher#
The quickstart script provides a guided menu that handles ROS2 environment
setup automatically:
cd <ros-kpi-component-dir>
./quickstart
The menu guides you through:
Monitoring your ROS2 application
Running Wandering and Pick-n-Place simulations with rosbag recording
Analyzing rosbag results
Quick health checks
Starting Grafana dashboards
Alternatively, use the make shortcut:
make start # Same as ./quickstart
make quick # Quick 30-second health check
Common Tasks#
Monitor All Nodes#
source /opt/ros/jazzy/setup.bash
export ROS_DOMAIN_ID=0
source /opt/ros/humble/setup.bash
export ROS_DOMAIN_ID=0
# Quick 30-second check
make quick-check
# Full 60-second session
make monitor
# Extended session (5 minutes)
make monitor-long DURATION=300
Monitor a Specific Node#
# By name
make monitor NODE=/slam_toolbox DURATION=120
# Or using Python directly
uv run python src/monitor_stack.py --node /slam_toolbox --session my_session --duration 120
Remote Monitoring#
# Basic remote session
make monitor-remote REMOTE_IP=192.168.1.100
# With specific node and user
make monitor-remote REMOTE_IP=192.168.1.100 REMOTE_USER=ubuntu NODE=/slam_toolbox
Note: Allow 30–60 seconds for DDS discovery to complete before topic data starts flowing on remote sessions. Use
--duration≥ 90s for remote monitoring.
Results#
All output is saved in monitoring_sessions/ under a timestamped folder:
monitoring_sessions/
└── 20260306_154140/
├── session_info.txt # Test configuration
├── graph_timing.csv # Topic timing data
├── resource_usage.log # CPU/memory usage
└── visualizations/ # Auto-generated PNG plots
├── timing_delays.png
├── message_frequencies.png
├── cpu_usage_timeline.png
└── cpu_heatmap.png
Useful session commands:
make list-sessions # List all previous sessions
make visualize-last # Re-visualize the most recent session
make analyze-session SESSION=20260305_123456
Advanced Usage#
Benchmarking#
# Run Wandering benchmark (5 runs, 180s each)
make wandering-benchmark RUNS=5 TIMEOUT=180
# Run Pick-n-Place benchmark (5 runs)
make picknplace-benchmark RUNS=5
Grafana Dashboard#
make grafana-start # Start Grafana + Prometheus
make grafana-export SESSION=20260306_154140 # Export session metrics
make grafana-open # Open http://localhost:30000
make grafana-stop # Stop the stack
See Grafana Dashboard for the full setup guide.
Troubleshooting#
Problem |
Fix |
|---|---|
ROS2 not found |
|
No nodes detected |
Ensure your ROS2 application is running first |
|
|
|
`curl -LsSf https://astral.sh/uv/install.sh |
Remote: no data |
Verify SSH key auth and matching |
For auto-setup of the ROS2 environment:
source ./auto-setup.sh