ROS-ROS命令(二)ROS 执行命令
1.概述
ROS执行命令管理ROS节点的运行。最重要的是,roscore被用作节点之间的名称服务器。执行命令是rosrun和roslaunch。rosrun运行一个节点,当运行多个节点或设置各种选项时使用roslaunch。rosclean是删除节点执行时记录的日志的命令。
命令 | 重要度 | 命令释义 | 详细说明 |
roscore | ★★★ | ros+core |
master(ROS名称服务) + rosout(日志记录) + parameter |
rosrun | ★★★ | ros+run | 运行节点 |
roslaunch | ★★★ | ros+launch | 运行多个节点或设置运行选项 |
rosclean | ★★☆ | ros+clean | 检查或删除ROS日志文件 |
2.roscore:运行roscore
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节点
rosrun [功能包名称] [节点名称]
rosrun是执行指定的功能包中的一个节点的命令。以下例子运行turtlesim功能包的turtlesim_node节点。请注意,屏幕上出现的乌龟图标是随机选择并运行的。
rosrun turtlesim turtlesim_node
运行turtlesim_node节点的画面
4. roslaunch:运行多个ROS节点
roslaunch [功能包名称] [launch文件名]
roslaunch是运行指定功能包中的一个或多个节点或设置执行选项的命令。通过运行openni_launch功能包,可以运行20个以上的节点和10个以上的参数服务器,如camera_nodelet_manager、depth_metric、depth_metric_rect和depth_points。因此,使用launch文件启动的方式对于运行多个节点非常有用,这是ROS中常用的执行方法。
roslaunch openni_launch openni.launch
请注意,要运行此示例并获得相同的结果,必须安装相关功能包ros-indigo-openni-launch。如果未安装,请使用以下命令进行安装。
sudo apt-get install ros-indigo-openni-launch
5.rosclean:检查及删除ROS日志
rosclean [选项]
该命令检查或删除ROS日志文件。在运行roscore时,对所有节点的记录都会写入日志文件,随着时间的推移,需要定期使用rosclean命令删除这些记录。以下是检查日志使用情况的示例。
rosclean check
672K ROS node logs → 意味着ROS日志一共占672KB
当运行roscore时,如果显示以下警告信息,则意味着日志文件超过1GB,如果用户觉得会让系统不堪重负,请使用rosclean命令将其删除。
WARNING: disk usage in log directory [/xxx/.ros/log] is over 1GB.
以下是删除ROS日志存储库(博主是/root/.ros/log)的所有日志的示例。如果要删除它,请按y按钮将其删除。
作者:kay 出处:https://www.cnblogs.com/kay2018/ 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。 如果文中有什么错误,欢迎指出。以免更多的人被误导。 |