Skip to content

Commit 6937a1f

Browse files
committed
update readme and add CI for readme commands
1 parent aeedde6 commit 6937a1f

File tree

3 files changed

+21
-11
lines changed

3 files changed

+21
-11
lines changed

.github/workflows/debian-packages.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,7 @@ jobs:
145145
# Run ncurses frontend with simulated terminal and quit command
146146
# Exit code 0 means clean exit (not 11 for SIGSEGV or 134 for SIGABRT)
147147
set +e
148-
timeout 10s script -qfec 'python3 -m greenwave_monitor.ncurses_frontend' /dev/null <<< $'q'
148+
timeout 10s script -qfec 'ros2 run greenwave_monitor ncurses_dashboard' /dev/null <<< $'q'
149149
EXIT_CODE=$?
150150
set -e
151151
@@ -190,6 +190,7 @@ jobs:
190190
run: |
191191
source /opt/ros/${{ matrix.ros_distro }}/setup.bash
192192
timeout 10s bash -lc "script -qfec 'ros2 run r2s_gw r2s_gw' /dev/null <<< \$'q'" || true
193+
timeout 10s bash -lc "script -qfec 'ros2 run greenwave_monitor r2s_gw_dashboard' /dev/null <<< \$'q'" || true
193194
shell: bash
194195

195196
- name: Test greenwave_monitor execution

.github/workflows/ros-tests.yml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,16 @@ jobs:
6161
colcon build --packages-up-to r2s_gw
6262
shell: bash
6363

64+
- name: Smoke test README commands
65+
run: |
66+
source /opt/ros/${{ matrix.ros_distro }}/setup.bash
67+
source install/setup.bash
68+
set -e
69+
timeout 10s bash -lc "script -qfec 'ros2 run greenwave_monitor ncurses_dashboard' /dev/null <<< \$'q'" || true
70+
timeout 10s bash -lc "script -qfec 'ros2 run greenwave_monitor r2s_gw_dashboard' /dev/null <<< \$'q'" || true
71+
timeout 5s ros2 launch greenwave_monitor hz.launch.py topics:='["/topic1"]' || true
72+
shell: bash
73+
6474
- name: Run tests
6575
run: |
6676
source /opt/ros/${{ matrix.ros_distro }}/setup.bash

README.md

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,23 +5,23 @@ Greenwave monitor is a tool for runtime monitoring of ROS 2 topics.
55

66
It provides the following features:
77

8-
1. A node that behaves like C++ based ros2 topic hz. I.E. subscribes to topics to determine the frame rate and latency. compared to ro2s topic hs the greenwave node is more performant, publishes ROS2 Diagnostics, and offers services to manage topics and expected frequencies.
8+
1. A node similar to a C++ based ros2 topic hz. I.E. subscribes to topics to determine the frame rate and latency. compared to ros2 topic hz the greenwave node is more performant, publishes Diagnostics, and offers services to manage topics and expected frequencies.
99

1010
2. A terminal based dashboard that displays the topic rates, latency, and status, and allows you to add/remove topics and set expected frequencies.
1111

1212
3. A header only C++ library so you can calculate and publish compatible diagnostics directly from your own nodes for reduced overhead.
1313

1414
This diagram shows an overview of the ![architecture](docs/images/greenwave_diagram.png)
1515

16-
## Diagnostics Messages
16+
## Diagnostic messages
1717

18-
The diagnostics messages published by greenwave monitor are valid ROS2 Diagnostics messages, however the dashboard does rely on specific keys to associate the data with the correct topic, and to display the data in the correct format.
18+
The diagnostics messages published by greenwave monitor are valid ROS 2 Diagnostics messages, however the dashboard does rely on specific keys to associate the data with the correct topic, and to find frequency and latency data.
1919

20-
In particular, the messages follow conventions from [Isaac ROS NITROS](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_nitros), which means configured NITROS nodes can be monitored by greenwave monitor frontends without any additional subscriber overhead. For example the drivers from [Isaac ROS NOVA](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_nova) can be monitored out of the box. Furthermore, you can set ENABLE_GLOBAL_NITROS_DIAGNOSTICS=1 to configure all NITROS nodes to publish diagnostics (more info [here](https://nvidia-isaac-ros.github.io/repositories_and_packages/isaac_ros_nitros/isaac_ros_nitros/index.html)).
20+
In particular, the messages follow conventions from [Isaac ROS NITROS](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_nitros), which means configured NITROS nodes can be monitored by greenwave monitor frontends without any additional subscriber overhead. For example the drivers from [Isaac ROS NOVA](https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_nova) can be monitored out of the box. Furthermore, you can set `ENABLE_GLOBAL_NITROS_DIAGNOSTICS=1` to configure all NITROS nodes to publish diagnostics (more info [here](https://nvidia-isaac-ros.github.io/repositories_and_packages/isaac_ros_nitros/isaac_ros_nitros/index.html)).
2121

2222
## Compatibility
2323

24-
Greenwave monitor is a standalone package tested on Humble, Iron, Jazzy, Kilted, and Rolling ROS2 releases, under Ubuntu 22.04 and Ubuntu 24.04. It does not depend on Isaac ROS.
24+
Greenwave monitor is a standalone package tested on Humble, Iron, Jazzy, Kilted, and Rolling ROS 2 releases, under Ubuntu 22.04 and Ubuntu 24.04. It does not depend on Isaac ROS.
2525

2626
## Installation
2727

@@ -31,7 +31,7 @@ cd ros_ws/src
3131
git clone https://github.com/NVIDIA-ISAAC-ROS/greenwave_monitor.git
3232
cd ..
3333
colcon build --packages-up-to greenwave_monitor
34-
source install/setup.sh
34+
source install/setup.bash
3535
```
3636

3737
## Usage
@@ -61,9 +61,8 @@ First you need to build the r2s_gw package and some additional dependencies, r2s
6161
```bash
6262
cd ros_ws/
6363
colcon build --packages-up-to r2s_gw
64-
pip install -I textual # There is a requirements file in the r2s_gw package, but in case you installed from debian and that's not handy ...
65-
source install/setup.sh
66-
ros2 run greenwave_monitor r2s_gw_dashboard
64+
pip install -I textual # There is a requirements.txt file in the r2s_gw package, but in case you installed from debian and that's not handy ...
65+
source install/setup.bash
6766
```
6867

6968
Then you can launch the dashboard with the following. Use tab to navigate between different UI elements.
@@ -75,7 +74,7 @@ ros2 run greenwave_monitor r2s_gw_dashboard
7574
Just like before, you can also launch the dashboard with some demo publishers to see everything in action.
7675

7776
```bash
78-
ros2 run greenwave_monitor r2s_gw_dashboard --demo
77+
ros2 run greenwave_monitor r2s_gw_dashboard -- --demo
7978
```
8079

8180
### Manual Launch (ros2 topic hz mode)

0 commit comments

Comments
 (0)