roswtf will be a core tool for diagnosing issues with a running ROS system. Think of a it as a FAQ implemented with code. It will take in a roslaunch file to analyze and try to find any potential issues with that launch and the configuration. It may also be an online tool that can diagnose a running system. Potential areas of analysis include:
- network issues: can all machines be pinged? can all machines ping every other machine?
- package issues: does a package have multiple copies of a binary (which differ from each other). Is it missing any runtime dependencies (roslaunch-deps)?
- environment issues: are there any suspicious issues with ROS_ROOT, ROS_PACKAGE_PATH, PATH, PYTHONPATH, etc... For example, do there appear to be multiple ROS's referenced in PATH/PYTHONPATH.
- online analysis: ping all nodes, find any holes in the graph (i.e. publishers/subscribers not connected)
- rostime: is /use_simtime set but no publisher of time active?
- are any of the nodes already running? (especially an issue for sensor drivers)?
- is there an unexpected master already running on any of the machines?
- ssh key issues - do all the machine credentials actually work?
- file-system issues - do the required packages exist on all remote machines?
Package review meeting notes
Create new package review
Enter the date in the appropriate box to generate a template for an API or code review meeting. Check the QAProcess page for more information.