ROS机器人操作系统的安装、配置与初级教程 17

roswtf入门

简介: 本教程介绍了roswtf工具的基本使用方法。

重点: roswtf

难度: 初级

下节: wiki导航

相关资料: roswtf入门

在你开始本教程之前请确保roscore没在运行。

1 安装检查

roswtf 可以检查你的ROS系统并尝试发现问题,我们来试看:

$ roscd
$ roswtf

你应该会看到(各种详细的输出信息):

Stack: ros
================================================================================
Static checks summary:

No errors or warnings
================================================================================

Cannot communicate with master, ignoring graph checks

实验楼

如果你的 ROS 安装没问题,你应该会看到类似上面的输出信息,它的含义是:

Stack: ros: roswtf根据你当前目录来确定需要做的检查,这里表示你是在rosstack中启动roswtf。

Static checks summary:这是有关文件系统问题的检查报告,现在的检查结果表示文件系统没问题。 Cannot communicate with master, ignoring graph checks(无法与master连接,忽略图(graph)检查):roscore没有运行,所以roswtf没有做运行时检查。

2 运行时检查(在有ROS节点运行时)

在这一步中,我们需要让Master运行起来,所以得先启动roscore。

$ roscore

实验楼

现在按照相同的顺序再次运行以下命令:

$ roscd
$ roswtf

你应该会看到:

Stack: ros
================================================================================
Static checks summary:

No errors or warnings
================================================================================
Beginning tests of your ROS graph. These may take awhile...
analyzing graph...
... done analyzing graph
running graph rules...
... done running graph rules

Online checks summary:

Found 1 warning(s).
Warnings are things that may be just fine, but are sometimes at fault

WARNING The following node subscriptions are unconnected:
 * /rosout:
   * /rosout

实验楼

既然roscore已经运行了所以roswtf做了一些运行时检查。检查过程的长短取决于正在运行的ROS节点数量,可能会花费很长时间才能完成。正如你看到的,这一次出现了警告:

WARNING The following node subscriptions are unconnected:
 * /rosout:
   * /rosout

roswtf发出警告说rosout节点订阅了一个没有节点向其发布的话题。在本例中,这正是所期望看到的,因为除了roscore没有任何其它节点在运行,所以我们可以忽略这些警告。

3 错误报告

roswtf会对一些系统中看起来异常但可能是正常的运行情况发出警告。也会对确实有问题的情况报告错误。

接下来我们在ROS_PACKAGE_PATH 环境变量中设置一个 bad值,并退出roscore以简化检查输出信息。

$ roscd
$ ROS_PACKAGE_PATH=bad:$ROS_PACKAGE_PATH roswtf

这次我们会看到:

Stack: ros
================================================================================
Static checks summary:

Found 1 error(s).

ERROR Not all paths in ROS_PACKAGE_PATH [bad] point to an existing directory: 
 * bad

================================================================================

Cannot communicate with master, ignoring graph checks

正如你看到的,roswtf发现了一个有关ROS_PACKAGE_PATH设置的错误。

roswtf还可以发现很多其它类型的问题。如果你发现自己被一个编译或者通信之类的问题困扰的时候,可以尝试运行roswtf看能否帮你解决。

现在你已经知道如何使用roswtf了, 接下来可以花点时间通过wiki导航了解一下wiki.ros.org网站是如何组织的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值