I want to draw your attention to a nice tool that we developed and are using in all our ROS activities. rosmon is a roslaunch-compliant launch tool for ROS, especially designed for developer friendliness and interactive monitoring of long-running ROS processes, e.g. for competitions or demonstrations.
Just a short teaser:
- Start/stop/restart single nodes using a modern console UI, ROS service calls, or an rqt plugin.
- Attach to a running node process with gdb with two keystrokes. In case your node dies without gdb attached, rosmon automatically collects a core dump and launches gdb against the core dump on request.
- stdout/stderr are separately captured per process and annotated, ensuring overview (no more ‘who is printing this message?’).
For details please check out the ROS wiki page - there are many small details which make the life of a ROS developer a little bit easier.
rosmon has been open-source for quite some time (developed for the DARPA Robotics Challenge 2015), but we now provide binary packages through the ROS build farm for ROS Lunar, Kinetic, and Melodic - which is a nice time for an official announcement
We are looking forward to thoughts, feedback, bug reports, or pull requests!