参考:https://www.cnblogs.com/kay2018/p/10314741.html
一、概述
ROS信息命令用于识别话题、服务、节点和参数等信息。尤其是rostopic
、rosservice
、rosnode
和rosparam
经常被使用,并且rosbag
是ROS的主要特征之一,它具有记录数据和回放功能,务必要掌握。
命令 | 重要度 | 命令释义 | 详细说明 |
---|
rostopic | ★★★ | ros+topic | 确认ROS话题信息 |
rosservice | ★★★ | ros+service | 确认ROS服务信息 |
rosnode | ★★★ | ros+node | 确认ROS节点信息 |
rosparam | ★★★ | ros+param(parameter) | 确认和修改ROS参数信息 |
rosbag | ★★★ | ros+bag | 记录和回放ROS消息 |
rosmsg | ★★☆ | ros+msg | 显示ROS消息类型 |
rossrv | ★★☆ | ros+srv | 显示ROS服务类型 |
rosversion | ★☆☆ | ros+version | 显示ROS功能包的版本信息 |
roswtf | ☆☆☆ | ros+wtf | 检查ROS系统 |
二、介绍
rosnode:ROS节点
首先,我们需要了解节点(node),所以先复习术语:
命令 | 详细说明 |
---|
rosnode list | 查看活动的节点列表 |
rosnode ping [节点名称] | 与指定的节点进行连接测试 |
rosnode info [节点名称] | 查看指定节点的信息 |
rosnode machine [PC名称或IP] | 查看该PC中运行的节点列表 |
rosnode kill [节点名称] | 停止指定节点的运行 |
rosnode cleanup | 删除失连节点的注册信息 |
1. rosnode list
:列出正在运行中的所有节点
这是列出连接到roscore
的所有节点的命令。如果已经运行了roscore
和之前准备好的节点(turtlesim_node
[rosrun turtlesim turtlesim_node
],turtle_teleop_key
[rosrun turtlesim turtle_teleop_key
]),则可以看到终端中列出了用于在roscore
进行日志记录的rosout
,以及teleop_turtle
和turtlesim
节点:
!!!注意: 节点运行及实际节点的名称:在前面的例子中运行的节点是turtlesim_node
和turtle_teleop_key
。
rosnode list
列表中有teleop_turtle
和turtlesim
的原因是运行的节点名称与实际节点名称不同。例如,turtle_teleop_key
节点在源文件中设置为“ros :: init (argc,argv,"teleop_turtle");
”。
笔者建议使可执行节点的名称等于实际的节点名称。
2. rosnode ping [节点名称]
:与指定的节点进行连接测试
以下是测试turtlesim
节点是否确实连接到当前使用的计算机。如果已连接,它将从节点收到XMLRPC
响应,如下所示:
如果在该节点运行出现问题或通信中断,则显示以下错误消息:
ERROR: connection refused to [http://192.168.43.11:36399/]
3. rosnode info [节点名称]
:检查指定节点的信息
使用rosnode info
命令可以查看指定节点的信息。基本上,用户可以检查发布者、订阅者和服务等。此外,还可以检查关于节点运行URI
和话题输入/输出的信息。
rosnode info /turtlesim
4. rosnode machine [PC名称或IP]
:查看此PC上运行的所有节点
您可以看到指定设备(PC或终端)上运行的所有节点。
rosnode machine 192.168.43.11
5. rosnode kill [节点名称]
:终止指定节点的运行
这是一个终止正在运行的节点的命令。您可以在运行节点的终端窗口中使用[Ctrl+c]
直接终止节点,但也可以指定要结束的节点,如下所示:
rosnode kill /turtlesim
再次查看节点,发现已经终止掉了:
如果使用该命令终止了节点,则会在运行该节点的终端窗口上显示如下警告消息,并关闭该节点:
6. rosnode cleanup
:删除无法验证连接信息的虚拟节点的注册信息
删除连接信息未被确认的虚拟节点的注册信息。当节点由于意外事件而异常终止时,该命令将从节点目录中删除连接中断的节点。
这个命令很少使用,但是它非常有用,因为用户不需要重新运行roscore
。
rosnode cleanup
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)