Robot Operating System (ROS) pp 651-670
Advanced ROS Network Introspection (ARNI)
This tutorial chapter gives an introduction to Advanced ROS Network Introspection (ARNI), which was released as a solution for monitoring large ROS-based robotic installations. In the spirit of infrastructure monitoring (like Nagios), we generate metadata about all hosts, nodes, topics and connections, in order to monitor and specify the state of distributed robot software based on ROS. ARNI provides a more in-depth view of what is going on within the ROS computation graph out of the box. Any existing ROS node and host can be introspected without prior modification or recompilation. This extends from live network properties to host and node specific ones by running an additional node on each host of the ROS network. Furthermore, it is possible to define reference values for the state of all ROS components based on their metadata attributes. Subsequently, ARNI provides a mechanism to take countermeasures on detection of a violated specification. All features are modular and can be used without modifying existing ROS software. ARNI was written for ROS Indigo and this tutorial has been tested on Ubuntu Trusty (14.04). A link to the source code repository together with complementary information is available at http://wiki.ros.org/arni.