1.概述

  ROS执行命令管理ROS节点的运行。最重要的是,roscore被用作节点之间的名称服务器。执行命令是rosrun和roslaunch。rosrun运行一个节点,当运行多个节点或设置各种选项时使用roslaunch。rosclean是删除节点执行时记录的日志的命令。

命令 重要度 命令释义 详细说明
roscore  ★★★  ros+core

master(ROS名称服务) + rosout(日志记录) + parameter
server(参数管理)

rosrun  ★★★  ros+run 运行节点
 roslaunch   ★★★  ros+launch  运行多个节点或设置运行选项
rosclean ★★☆   ros+clean  检查或删除ROS日志文件

2.roscore:运行roscore

1
roscore [选项]

  roscore命令会运行主节点,主节点管理节点之间的消息通信中的连接信息。主节点是使用ROS时必须首先被运行的必要元素。ROS 主节点由roscore运行命令来驱动,并作为XMLRPC服务器运行。主节点接收多种信息的注册,如节点的名称、话题和服务名称、消息类型、URI地址和端口号,并在收到节点的请求时将此信息通知给其他节点。此外,会运行rosout,这个命令用于记录ROS中使用的ROS标准输出日志,例如DEBUG、INFO、WARN、ERROR和FATAL。它还运行一个管理参数的参数服务器。

  当执行roscore时,将用户设置的ROS_MASTER_URI作为主URI,并且驱动主节点。用户可以在~/.bashrc设置ROS_MASTER_URI。

  从结果可以看出如下信息:日志保存在/root/.ros/log/目录中;可以使用[Ctrl+c]退出roscore;roslaunch server、ROS_MASTER_URI等信息;/rosdistro和/rosversion的参数服务器;/rosout节点正在运行。

3.rosrun:运行ROS节点

1
rosrun [功能包名称] [节点名称]

  rosrun是执行指定的功能包中的一个节点的命令。以下例子运行turtlesim功能包的turtlesim_node节点。请注意,屏幕上出现的乌龟图标是随机选择并运行的。

1
rosrun turtlesim turtlesim_node

运行turtlesim_node节点的画面

4. roslaunch:运行多个ROS节点

1
roslaunch [功能包名称] [launch文件名]

  roslaunch是运行指定功能包中的一个或多个节点或设置执行选项的命令。通过运行openni_launch功能包,可以运行20个以上的节点和10个以上的参数服务器,如camera_nodelet_manager、depth_metric、depth_metric_rect和depth_points。因此,使用launch文件启动的方式对于运行多个节点非常有用,这是ROS中常用的执行方法。

1
roslaunch openni_launch openni.launch

  请注意,要运行此示例并获得相同的结果,必须安装相关功能包ros-indigo-openni-launch。如果未安装,请使用以下命令进行安装。

1
sudo apt-get install ros-indigo-openni-launch

5.rosclean:检查及删除ROS日志

1
rosclean [选项]

  该命令检查或删除ROS日志文件。在运行roscore时,对所有节点的记录都会写入日志文件,随着时间的推移,需要定期使用rosclean命令删除这些记录。以下是检查日志使用情况的示例。

1
rosclean check

672K ROS node logs → 意味着ROS日志一共占672KB

  当运行roscore时,如果显示以下警告信息,则意味着日志文件超过1GB,如果用户觉得会让系统不堪重负,请使用rosclean命令将其删除。

1
WARNING: disk usage in log directory [/xxx/.ros/log] is over 1GB.

  以下是删除ROS日志存储库(博主是/root/.ros/log)的所有日志的示例。如果要删除它,请按y按钮将其删除。