3.5 当出现异常状况时使用roswtf
ROS还提供了另外一些工具来检测给定功能包中所有组件的潜在问题。使用roscd移动到你想要分析的功能包路径下,然后运行roswtf。对于chapter3_tutorials,我们可以获得以下输出。请注意,如果你运行了一些代码,就可以用ROS图进行分析。运行roslaunch chapter3_tutorials example6.launch命令,输出如图所示。
通常情况下,我们希望获得的结果没有任何错误和警告,但是很多错误和警告在系统正常运行时是没有影响的。在上图中,roswtf没有检测到任何错误,只有一个关于pip的警告,这有时可能是由系统安装的Python代码产生的问题。请注意,roswtf的作用是检测信号的潜在问题,然后就像上面示例一样,我们再来检查这些提示是否有意义。
另一个有用的工具是catkin_lint,可以帮助catkin诊断错误,通常在CMakeLists.txt和package.xml文件中。在chapter3_tutorials中,得到如下输出:
使用参数-W2,就看到通常会被忽略的警告,如下图所示: