The Robot Monitor tool is a ROS package (robot_monitor
) that uses the diagnostic_aggregator
node to filter and display robot diagnostics. Use this tool primarily for diagnosing any hardware problems with Baxter.
Installation
$ sudo apt-get update
$ sudo apt-get install ros-indigo-rqt-robot-monitor
$ sudo apt-get update
$ sudo apt-get install ros-hydro-rqt-robot-monitor
$ sudo apt-get update
$ sudo apt-get install ros-groovy-rqt-robot-monitor
Usage
To start the Robot Monitor, first make sure that the /diagnostics_agg
topic is being published:
$ rostopic list | grep diagnostics
/diagnostics
/diagnostics_agg
Then run the robot_monitor
package:
$ rosrun rqt_robot_monitor rqt_robot_monitor
Baxter Diagnostics
Baxter publishes hardware diagnostics messages on the /diagnostics
topic and also aggregates them on the /diagnostics_agg
topic using the diagnostic_aggregator
node. The /diagnostics_agg
topic is the topic used by the Robot Monitor.
The diagnostics are grouped using the parameters under the /diagnostic_aggregator/analyzers
namespace. The main categories are:
- Computers
- Controllers
- End Effectors
- Joints
- Nodes
Tips
If you notice that some of the higher-level group labels seem to be showing an Error status when there are no Errors in the individual children, it is likely that the children diagnostic messages have just gone 'Stale'. The diagnostic messages will go stale when no new messages come in after the timeout
. The default timeout is 5.0 seconds.
To change the timeout, set the rosparam under the groups analyzer namespace. For example, to set the timeout for the '/Joints' group to 40 seconds, run:
$ rosparam set /diagnostic_aggregator/analyzers/joints/timeout 40.0
You will likely need to restart the diagnostic_aggregator node after changing the parameters.
More Information
For more information check out the ROS Wiki pages for robot_monitor and Diagnostics.