roswtf的基本介绍
1.1检查你的安装
roswtf会尝试发现你的系统问题:
$roscd
$roswtf
你应该看到:
Stack:ros
================================================================================
Staticcheckssummary:
Noerrorsorwarnings
================================================================================
Cannotcommunicatewithmaster,ignoringgraphchecks
如果你你的安装正确英爱看到和上面类似的输出。这些输出告诉你:
"Stack:ros":你的当前目录是什么决定着roswtf会做什么。这是告诉我们roswtf从rosstack启动。
"Staticcheckssummary":这是所有文件系统问题的报告。它告诉我们这里没有错误。
"Cannotcommunicatewithmaster,ignoringgraphchecks":roscore内核没有运行,所以roswtf不做任何在线检查。
1.2尝试在线运行
再运行相同的序列:
$roscd
$roswtf
你应该看到:
Stack:ros
================================================================================
Staticcheckssummary:
Noerrorsorwarnings
================================================================================
BeginningtestsofyourROSgraph.Thesemaytakeawhile…
analyzinggraph…
…doneanalyzinggraph
runninggraphrules…
…donerunninggraphrules
Onlinecheckssummary:
Found1warning(s).
Warningsarethingsthatmaybejustfine,butaresometimesatfault
WARNINGThefollowingnodesubscriptionsareunconnected:
*/rosout:
*/rosout
产生了一个警告:
WARNINGThefollowingnodesubscriptionsareunconnected:
*/rosout:
*/rosout
1.3错误roswtf会警告你系统中正常的东西看起来可疑。也可能报告出它知道有错误的问题。
$roscd
$ROS_PACKAGE_PATH=bad:$ROS_PACKAGE_PATHroswtf
这时会看到:
Stack:ros
================================================================================
Staticcheckssummary:
Found1error(s).
ERRORNotallpathsinROS_PACKAGE_PATH[bad]pointtoanexistingdirectory:
*bad
================================================================================
Cannotcommunicatewithmaster,ignoringgraphchecks
roswtf可以发现许多类型的错误。如果你被一个编译或者通信难住了,可以试试这个命令看看它能否给你制定正确的方向。
,但是至少可以为自己的荷包省钱可以支些招,这点还是很现实的。