ros_monitoring
This ROS package is intended to collect data from topics, transform, store, manage and send them to a MongoDB server. Being designed to maintain the collection even in connection drops with the server.
Install
To install this ROS package:
Installation of node_monitoring is recommended. Check the link: node_monitoring
Get the ROS running nodes (getNodes.py)
This package is intended to get the running nodes and connections between them. Publishing a message of type NodesInformation from ros_monitoring, in the publisher /nodesStatus
Published information (/nodesStatus)
The information published by this node is as follows:
1 {
2 nodes: [{
3 node: -- node name...............as string
4 publications: [{
5 topic: -- topic name....as string
6 msg_type: -- message type..as string
7 }, ...],
8 subscriptions: [{
9 topic: -- topic name....as string
10 msg_type: -- message type..as string
11 }, ...],
12 services: [ -- node name.......as string, ...]
13 }, ...]
14 }
Get the connection with an IP and port (getSignal.py)
This topic should get the connection status between the computer running ROS, with other IPs pings periodically. The information is published in a message of type SignalInformation from ros_monitoring in the publisher /connectionStatus.
pinglist (''pingList.py'')
To configure which IPs the node will ping, you must edit the file pingList.py, which is a dictionary in the following format:
Published information (/connectionStatus)
The information published by this node is as follows:
1 {
2 Info_ping: [{
3 is_alive: -- The status of connection...as integer
4 packets_sent: -- Number of sent packets.....as integer
5 packets_loss: -- Number of loss packets.....as integer
6 packets_received: -- Number of received packets.as integer
7 port: -- Port it was sent to........as integer
8 rtt_max: -- Maximum connection RTT.....as float
9 rtt_min: -- Minimum connection RTT.....as float
10 rtt_avg: -- Average connection RTT.....as float
11 ip_target: -- IP it was ping.............as string
12 }, ...]
13 }
More information
This package was developed as part of the thesis for Master in Industrial Engineering with specialization in Electrical Engineering at Polytechnic Institute of Bragança (IPB), the work was developed at the Research Centre in Digitalization and Intelligent Robotics (CeDRI). The project consists of three repositories with the links below: