ROS学习-roswtf入门

简介: ROS学习-roswtf入门

roswtf工具将检查您的ROS设置,例如您的环境变量,并查找配置问题。如果你有一个在线的ROS系统,它会查看并检查任何潜在的问题。

首先,关闭上一博客中所启动的roscore。

检查是否安装了roswtf

首先检查是否安装了roswf,执行下述两条命令:

$ roscd rosmaster
$ roswtf

如果我们安装的tf能够正常运行,那么应该返回类似于下述值:

Loaded plugin tf.tfwtf
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]

这些输出内容告诉我们:


Package: rosmaster:这个输出告诉我们是在rosmaster包目录中启动了roswtf。


Static checks summary:这里是任何文件系统或任何非运行时(即不需要运行roscore)问题的报告。这里是告诉我们没有错误。


上述过程中ROS Master没有运行,所以没有进行在线检查。

在线尝试

下一步,我们想要ROS Master正在运行,所以在另外一个terminal窗口上启动roscore。

$ roscore

然后再次尝试下述命令:

# 回到默认工作空间的devel文件夹
$ roscd
$ roswtf

得到下述内容:

Loaded plugin tf.tfwtf
No package or stack in the current directory
================================================================================
Static checks summary:
No errors or warnings
================================================================================
Beginning tests of your ROS graph. These may take a while...
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对你的graph做了一些测试。其完成的时间取决于多少个ROS节点正在运行。

如下所示,此次产生了下述warning

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

此次,roscd在切换的时候没有加入参数,这会带我们进入一个没有ROS包的文件,所以我们在输出的内容中看到:“No package or stack in context”。


下面的warning提示是说rosout节点正在订阅一个topic,但是没有节点发布它。这是因为没有其他节点在运行,所以这也是可以预料的。

错误

roswtf将会警告您系统中看起来可疑但可能正常的事情。它还可以报告已知错误的问题。


对于此部分,我们将设置我们的ROS_PACKAGE_PATH为一个错误值。同时,我们也会停止 roscore,以简化输出便于查看。

$ roscd
$ ROS_PACKAGE_PATH=bad:$ROS_PACKAGE_PATH roswtf

返回结果为:

Loaded plugin tf.tfwtf
No package or stack in the current directory
================================================================================
Static checks summary:
Found 1 error(s).
ERROR Not all paths in ROS_PACKAGE_PATH [bad:/home/xiaochen/workspace/catkin_ws/src:/opt/ros/melodic/share] point to an existing directory: 
 * bad
================================================================================
ROS Master does not appear to be running.
Online graph checks will not be run.
ROS_MASTER_URI is [http://localhost:11311]
相关实践学习
Docker镜像管理快速入门
本教程将介绍如何使用Docker构建镜像,并通过阿里云镜像服务分发到ECS服务器,运行该镜像。
阿里云资源编排ROS使用教程
资源编排(Resource Orchestration)是一种简单易用的云计算资源管理和自动化运维服务。用户通过模板描述多个云计算资源的依赖关系、配置等,并自动完成所有资源的创建和配置,以达到自动化部署、运维等目的。编排模板同时也是一种标准化的资源和应用交付方式,并且可以随时编辑修改,使基础设施即代码(Infrastructure as Code)成为可能。 产品详情:https://www.aliyun.com/product/ros/
目录
相关文章
|
C++
ROS学习-写一个tf broadcaster(C++)
ROS学习-写一个tf broadcaster(C++)
130 0
ROS学习-写一个tf broadcaster(C++)
|
数据可视化 Ubuntu 机器人
ROS学习-tf介绍
ROS学习-tf介绍
185 0
ROS学习-tf介绍
|
传感器 数据可视化 机器人
ROS学习-下一步探索方向
ROS学习-下一步探索方向
84 0
|
定位技术
ROS学习-从bag文件中读取messages
ROS学习-从bag文件中读取messages
532 0
|
存储
ROS学习-记录和回放数据
ROS学习-记录和回放数据
338 0
ROS学习-记录和回放数据
ROS学习-写一个简单的Service 和 Client
ROS学习-写一个简单的Service 和 Client
108 0
|
存储
ROS学习-写一个简单的Publisher和Subscriber
ROS学习-写一个简单的Publisher和Subscriber
109 0
ROS学习-写一个简单的Publisher和Subscriber
|
文件存储 C++ Python
ROS学习-创建一个ROS msg和一个srv
ROS学习-创建一个ROS msg和一个srv
237 0
|
Ubuntu 开发工具
ROS学习-使用rosed来编辑ROS中的文件
ROS学习-使用rosed来编辑ROS中的文件
153 0
|
XML 数据格式
ROS学习-使用rqt_console 和 roslaunch
ROS学习-使用rqt_console 和 roslaunch
130 0
ROS学习-使用rqt_console 和 roslaunch

推荐镜像

更多