在ros工作空间中,程序代码散落在许多ROS包中。使用Linux内置命令行工具(如ls和cd)来进行查找和导航可能非常繁琐,因此ROS提供了专门的命令行工具来简化这些操作。
rospack 允许你获取软件包的有关信息
find参数选项,该选项可以返回软件包的所在路径
$ rospack find [package_name]
roscd 允许你直接切换目录(cd)到某个软件包或者软件包集中
$ roscd [功能包名称[/子目录]]
以下命令会带你进入存储ROS日志文件的目录,如果你没有执行过任何ROS程序,那么系统会报错说该目录不存在:
$ roscd log
rosls 允许你直接按软件包的名称执行ls命令(而不必输入绝对路径)
$ rosls [功能包名称[/子目录]]
rosnode 显示当前正在运行的ROS节点信息
输入以下命令,会列出当前的活动节点
$ rosnode list
输入以下命令,则会返回某个指定节点的信息
$ rosnode info [/节点名]
rosrun 可以让你用包名直接运行软件包内的节点(而不需要知道包的路径)
$ rosrun [package_name] [node_name]
rostopic 可以让你获取ROS话题的信息
输入以下命令可以显示在某个话题上发布的数据:
$ rostopic echo [topic]
输入以下命令能够列出当前已被订阅和发布的所有话题
$ rostopic list
输入以下命令可以查看所发布话题的消息类型
$ rostopic type [topic]
输入以下命令可以把数据发布到当前某个正在广播的话题上
$ rostopic pub [topic] [msg_type] [args]
输入以下命令可以报告数据发布的速率
$ rostopic hz [topic]
rosparam 让我们能够在ROS参数服务器(Parameter Server)上存储和操作数据
rosservice 可以很容易地通过服务附加到ROS客户端/服务器框架上
roslaunch 用来启动定义在launch(启动)文件中的节点
用法:
$ roslaunch [package] [filename.launch]
roswtf 一个用于诊断运行中的ROS系统问题的工具,可以把它看作是一个用代码实现的FAQ,它将检查你的ROS设置,例如你的环境变量,并寻找配置问题。如果你有一个在线的ROS系统,它将查看它并检查任何潜在的问题。
安装检查,roswtf可以检查你的系统并且尝试发现问题,确保roscore没有在运行时,输入以下指令:
$ roscd rosmaster
$ roswtf
在线检查,需要先启动一个Master,然后再执行以下命令:
$ roscd
$ roswtf