ROS – 命令行工具(Command-line tools)

系列文章目录


前言


一、常用用户工具

当在 $ROS_ROOT 中调用顶级 make 时,会联编下列工具。它们会被安装到 $ROS_ROOT/bin,作为安装过程的一部分,PATH 变量中应该已经添加了这些工具。如果不是这种情况,请按照安装指南

1.1 rosbag

rosbag 是一个命令行工具,用于对 ROS bag 文件执行各种操作,包括播放、录制和验证。

1.2 rosbash

rosbash 不是一条命令,而是一整套命令和功能。它需要你将 rosbash 文件的内容

source $ROS_ROOT/tools/rosbash/rosbash

 如果你遵循了安装指南,你的 bashrc 文件应该已经完成了这项工作。

除了为 roscd、rosed、rosmake 和 rosrun 添加正确的制表符补全功能外,rosbash 还提供了 roscd 和 rosed 命令。

1.3 roscd

roscd 是 rosbash 套件的一部分。它允许你通过名称直接 cd 到软件包、堆栈或常用位置,而无需知道软件包路径。

使用方法

roscd locationname[/subdir]

示例

roscd roscpp/include

不带参数的 roscd 会指向 $ROS_ROOT。除了软件包和堆栈之外,还有一些常用的位置,如 "log "和 "test_results",它们会直接把你带到这些位置。

对于高级用户,你可以通过修改 $ROS_LOCATIONS 环境变量来扩展 roscd,使其包含一系列以冒号分隔的关键字和位置,这些关键字和位置将被包含在 roscd 路径中。例如

export $ROS_LOCATIONS="rospkg=/path/to/rospkg:stairpkg=/path/to/stairpkg"

在 ROS-0.8 之前,可以使用 pkg 关键字将 roscd 转到 $ROS_PACKAGE_PATH 的第一个目录。使用

export $ROS_LOCATIONS="pkg=$ROS_PACKAGE_PATH"

1.4 rosclean

C Turtle 中的新功能

清理 ROS 创建的文件系统资源(如日志文件)。参见 rosclean。

1.5 roscore

roscore 运行 ROS 核心栈(主控程序、参数服务器、rosout 等)。

1.6 rosdep

记录于 rosdep,用于安装系统依赖项

使用方法:

rosdep install PACKAGE_NAME

1.7 rosed

rosed 是 rosbash 套件的一部分。通过它,你可以根据软件包名称直接编辑软件包中的文件,而无需知道软件包路径。

使用方法

rosed packagename filename

示例

rosed roscpp ros.h

如果文件名在软件包中没有唯一定义,菜单会提示你选择要编辑的文件。

rosed 会打开 $EDITOR 环境变量中定义的编辑器,否则默认为 vim。

1.8 roscreate-pkg

roscreate-pkg 为新的 ROS 软件包创建常用的 Manifest、CMakeLists、Doxygen 和其他必要文件。它是 roscreate 软件包的一部分。

1.9 roscreate-stack

roscreate-stack 为新的 ROS 堆栈创建常用的堆栈清单、CMakeLists 和其他必要文件。它是 roscreate 软件包的一部分。

1.10 rosrun

rosrun 允许你运行任意软件包中的可执行文件,而无需先进行 cd(或 roscd)。

使用方法

rosrun package executable

示例

rosrun roscpp_tutorials talker

1.11 roslaunch

roslaunch 可通过 XML 配置文件启动一组节点,并支持在远程机器上启动。更多文档请参见 roslaunch 页面。

1.12 roslocate(定位

在 ROS 1.4 中移除:现在是 rosinstall 工具的一部分

roslocate 查找 ROS 软件包所在的软件仓库,例如:roslocate svn tf。通过它可以轻松快速地检出软件包的源代码:svn co `roslocate svn tf`。更多文档请参见 roslocate 页面。

1.13 rosmake

参见 rosmake 页面。

1.14 rosmsg

rosmsg 显示 Message 数据结构定义。更多文档请参见 rosmsg 页面。

1.15 rosnode

rosnode 显示运行时节点信息,并允许您 ping 节点以检查连接性。更多文档请参见 rosnode 页面。

1.16 rospack

请参见 rospack 页面。

1.17 rosparam

rosparam 允许使用 YAML 编码文本从命令行获取和设置参数服务器值。

1.18 rossrv

rossrv 显示服务 srv 数据结构定义。更多文档请访问 rossrv 页面。

1.19 rosservice

rosservice 显示服务的运行时信息,还可让您打印出发送到主题的消息。更多文档请访问 rosservice 页面。

1.20 rosstack

请参见 rosstack 页面。

1.21 rostopic

rostopic 显示有关主题的运行时信息,还可以打印发送到主题的信息。更多文档请参见 rostopic 页面。

1.22 rosversion

新增功能

报告 ROS 堆栈的版本。

二、图形工具

ROS 图形工具在使用前通常需要额外的依赖项,例如 graphviz 和 Python GTK。您可以使用 bash <(rosdep satisfy PACKAGE_NAME)快速安装这些工具的依赖项。

2.1 rxbag

rxbag 是一种图形工具,用于查看 ROS bag 文件中的数据。

2.2 rxdeps

rxdeps 生成 ROS 依赖项的 PDF 文件。

2.3 rxgraph

rxgraph 显示 ROS 节点和主题的交互式图形。有关文档,请参阅 rosgraph 软件包。

2.4 rxplot

rxplot 绘制 ROS 主题随时间变化的数值数据。有关文档,请参阅 rxtools 软件包。

三、不常用的工具

以下工具可能是内部工具常用的工具,但最终用户并不常用。

3.1 gendep

参见 roslib 页面