求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Modeler   Code  
会员   
要资料
 
追随技术信仰

随时听讲座
每天看新闻
 
 
ROS教程
1.初级教程
1.1 安装和配置ROS环境
1.2 ROS文件系统导览
1.3 创建ROS软件包
1.4 构建ROS软件包
1.5 理解ROS节点
1.6 理解ROS话题
1.7 理解ROS服务和参数
1.8 使用rqt_console和roslaunch
1.9 使用rosed在ROS中编辑文件
1.10 创建ROS消息和服务
1.11 编写简单的发布者和订阅者(C++)
1.12 编写简单的发布者和订阅者(Python)
1.13 检验简单的发布者和订阅者
1.14 编写简单的服务和客户端(C++)
1.15 编写简单的服务和客户端(Python)
1.16 检验简单的服务和客户端
1.17 录制和回放数据
1.18 从bag文件中读取消息
1.19 roswtf入门
1.20 探索ROS维基
1.21 接下来做什么?
2.中级教程
2.1手动创建ROS包
2.2管理系统依赖项
2.3Roslaunch在大型项目中的使用技巧
2.4ROS在多机器人上的使用
2.5自定义消息
2.6在python中使用C++类
2.7如何编写教程
ROS标准
ROS开发者指南
标准计量单位和坐标约定
 
 
roswtf入门
来源: ros.org 在线教程    编辑:Alice(火龙果软件)
521 次浏览
5次  

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

Keywords: roswtf

Tutorial Level: BEGINNER

Next Tutorial: 探索ROS Wiki

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

对于Linux,您可以通过以下方式检查roscore是否在运行(如果看到类似这样的一行包含rosmaster,这是roscore的一部分,则说明ros​​core正在运行)

$ ps -ef | grep -i rosmaster
00:00:00 /usr/bin/python /opt/ros/kinetic/bin/rosmaster 

 

1 安装检查

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

$ roscd rosmaster
$ roswtf

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

Package: rosmaster
================================================================================
Static checks summary:

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

ROS Master does not appear to be running.
Online graph checks will not be run.
ROS_MASTER_URI is [http://localhost:11311]

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

Package: rosmaster:roswtf使用当前目录中的任何内容来确定其执行的检查。这个输出告诉我们是在包rosmaster的目录中启动了roswtf。

Static checks summary:它会报告任何关于文件系统或非运行时(比如无需roscore的场景)的问题。本例显示我们没有错误。

ROS Master does not appear to be running.:roscore未在运行。roswtf不会做任何ROS在线检查。

2 在线检查

下一步,我们需要启动一个Master,所以要在新终端启动roscore,然后继续。

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

$ roscd
$ roswtf

你应该会看到:

No package or stack in context
======================================================
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图的在线检查。根据您运行的ROS节点的数量,这可能需要很长时间才能完成。如你所见,这一次它产生了一个警告:

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

这一次,roscd在没有参数的情况下运行,这可能会带到一个没有ROS包的目录,因此我们看到了一条消息:No package or stack in context。

既然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了,接下来可以花点时间探索ROS Wiki来了解这个网站(wiki.ros.org)是如何组织的。


您可以捐助,支持我们的公益事业。

1元 10元 50元





认证码: 验证码,看不清楚?请点击刷新验证码 必填



521 次浏览
5次