ROS 执行命令

发布时间:2023年12月29日

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

1、roscore:运行roscore

roscore [选项]

roscore命令会运行主节点,主节点管理节点之间的消息通信中的连接信息。主节点是使用ROS时必须首先被运行的必要元素。

ROS 主节点由roscore运行命令来驱动,并作为XMLRPC服务器运行。主节点接收多种信息的注册,如节点的名称、话题和服务名称、消息类型、URI地址和端口号,并在收到节点的请求时将此信息通知给其他节点。

此外,会运行rosout2,这个命令用于记录ROS中使用的ROS标准输出日志,例如DEBUG、INFO、WARN、ERROR和FATAL。它还运行一个管理参数的参数服务器。

2、rosrun:运行ROS节点

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

rosrun是执行指定的功能包中的一个节点的命令。

rosrun默认在当前工作空间的devel目录下查找节点可执行文件。

例如运行turtlesim功能包的turtlesim_node节点。屏幕上出现的乌龟图标是随机选择并运行的。

3、roslaunch:运行多个ROS节点

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

roslaunch是运行指定功能包中的一个或多个节点或设置执行选项的命令。通过运行openni_launch功能包,可以运行20个以上的节点和10个以上的参数服务器,如camera_nodelet_manager、depth_metric、depth_metric_rect和depth_points。

因此,使用launch文件启动的方式对于运行多个节点非常有用,这是ROS中常用的执行方法。

在<launch>标签中,描述了使用roslaunch命令运行节点所需的标签。<node>描述了roslaunch运行的节点。选项包括pkg、type和name。

pkg 功能包的名称

type 实际运行的节点的名称(节点名)

name?与上述type对应的节点被运行时,起的名称(运行名)。一般情况下使用与type相同的名称,但可以根据需要,在运行时更改名称。

rosrun与roslaunch的区别:

rosrun主要用于快速启动和测试单个节点,不涉及复杂的系统配置和参数设置。

roslaunch用于组织和管理多个节点、设置参数以及配置ROS系统的行为,适用于复杂系统的部署和运行。

通过rosrun,可以方便地测试和调试单个ROS节点,而不需要每次都编写和修改launch文件。然而,对于需要协调多个节点和设置参数的复杂场景,roslaunch则是更好的选择。

4、rosclean:检查及删除ROS日志

rosclean [选项]

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

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

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

(1)检查日志文件夹大小:

rosclean check

这个命令会显示当前ROS日志文件夹的大小。

(2)删除日志文件:

rosclean purge

这个命令会删除所有ROS日志文件。

文章来源:https://blog.csdn.net/2301_79503228/article/details/135287316
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。