ROS常用命令
功能包/软件包(Packages)
在 ROS 中,所有软件都被组织为软件包的形式,称为 ROS 软件包或功能包,有时也简称为包。 ROS 软件包是一组用于实现特定功能的相关文件的集合,包括可执行文件和其他支持文件。比如说,我们小乌龟的例子使用的两个可执行文件turtlesim_node 和turtle_teleop_key 都属于 turtlesim 包。
查找软件包列表(rospack list)
每个程序包由一个清单文件(文件名为 package.xml)定义。该文件定义关于包的一些细节,包括其名称、 版本、 维护者和依赖关系。包含 package.xml 文件的目录被称为软件包目录。
rospack list package-name
查找软件包目录(rospack find)
rospack find package-name
查看软件包(rosls)
要查看软件包目录下的文件,使用如下命令:
rosls package_name
切换到软件包目录(roscd)
如果想“访问”某软件包目录,可以将当前目录切换至此软件包目录,使用如下命令:
roscd package_name
节点管理器(Master)
ROS 的一个基本目标是使机器人专家设计的很多称为节点(node) 的几乎相对独立的小程序能够同时运行。为此,这些节点必须能够彼此通信。 ROS 中实现通信的关键部分就是 ROS 节点管理器。要启动节点管理器,使用如下命令:
roscore
节点管理器应该在使用 ROS 的全部时间内持续运行。一个合理的工作流程是在一个终端启动 roscore,然后打开其他终端运行其他程序。除非你已经完成 ROS 的相关工作,否则一般没有理由终止 roscore 命令。当结束时,可以通过在 roscore 终端键入 Ctrl-C停止节点管理器。
节点(Nodes)
一旦启动roscore后,便可以运行ROS程序了。 ROS程序的运行实例被称为节点(node).
启动节点(rosrun)
rosrun 命令有两个参数,其中第一个参数是功能包的名称, 这在 2.4 节中已经讨论过; 第二个参数是该软件包中的可执行文件的名称。
rosrun package-name executable-name
通过节点管理器注册成为 ROS 节点发生在程序的内部,而不是通过 rosrun 命令
查看节点列表(rosnode list)
rosnode list