ROS-ROS命令(三)ROS 信息命令

1.概述

  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系统

2.运行节点

  我们将使用下面的命令,利用ROS提供的turtlesim来了解相关的节点、话题和服务。在使用ROS信息命令进行测试之前,需要做好以下准备工作。

 运行roscore

  为确保顺利进行,关闭所有以前运行的终端。然后打开一个新的终端并运行以下命令。

roscore

  为了运行turtlesim功能包中的turtlesim_node节点,打开一个新的终端并运行以下命令。这将从turtlesim功能包运行turtlesim_node。用户会在一个蓝色的屏幕上看到乌龟。

 rosrun turtlesim turtlesim_node

  

 运行turtlesim功能包中的turtle_teleop_key节点

  打开一个新的终端并运行以下命令。这将在turtlesim功能包中运行turtle_teleop_key。一旦执行,可以在该终端窗口上,用键盘上的方向键控制乌龟。请自己尝试。当您按下方向键时,屏幕上的乌龟会移动,这是一个简单的仿真,但这是将驱动机器人所需的移动速度(m/s)和旋转速度(rad/s)用消息传送的。

rosrun turtlesim turtle_teleop_key

3. rosnode:ROS节点

  首先,我们需要了解节点(node),所以先复习术语。

命令 详细说明
rosnode list 查看活动的节点列表
rosnode ping [节点名称]   与指定的节点进行连接测试 
rosnode info [节点名称]   查看指定节点的信息 
rosnode machine [PC名称或IP]  查看该PC中运行的节点列表 
 rosnode kill [节点名称]   停止指定节点的运行
rosnode cleanup  删除失连节点的注册信息 

rosnode list:列出正在运行中的所有节点

  这是列出连接到roscore的所有节点的命令。如果已经运行了roscore和之前准备好的节点(turtlesim_node,turtle_teleop_key),则可以看到终端中列出了用于在roscore进行日志记录的rosout,以及teleop_turtle和turtlesim节点。

rosnode list

  节点运行及实际节点的名称:在前面的例子中运行的节点是turtlesim_node和turtle_teleop_key。rosnode list列表中有teleop_turtle和turtlesim的原因是运行的节点名称与实际节点名称不同。例如,turtle_teleop_key节点在源文件中设置为“ros :: init (argc,argv,"teleop_turtle");”。笔者建议使可执行节点的名称等于实际的节点名称。

rosnode ping [节点名称]:与指定的节点进行连接测试

  以下是测试turtlesim节点是否确实连接到当前使用的计算机。如果已连接,它将从节点收到XMLRPC响应,如下所示。

  如果在该节点运行出现问题或通信中断,则显示以下错误消息。

ERROR: connection refused to [http://192.168.43.11:36399/]

rosnode info [节点名称]:检查指定节点的信息

  使用rosnode info命令可以查看指定节点的信息。基本上,用户可以检查发布者、订阅者和服务等。此外,还可以检查关于节点运行URI和话题输入/输出的信息。

 rosnode info /turtlesim

rosnode机器[PC名称或IP]:查看此PC上运行的所有节点
  您可以看到指定设备(PC或终端)上运行的所有节点。

rosnode machine 192.168.43.11

rosnode kill [节点名称]:终止指定节点的运行
  这是一个终止正在运行的节点的命令。您可以在运行节点的终端窗口中使用[Ctrl+c]直接终止节点,但也可以指定要结束的的节点,如下所示。

rosnode kill /turtlesim

  

   再次查看节点,发现已经终止掉了

  如果使用该命令终止了节点,则会在运行该节点的终端窗口上显示如下警告消息,并关闭该节点。

 rosnode cleanup:删除无法验证连接信息的虚拟节点的注册信息

  删除连接信息未被确认的虚拟节点的注册信息。当节点由于意外事件而异常终止时,该命令将从节点目录中删除连接中断的节点。这个命令很少使用,但是它非常有用,因为用户不需要重新运行roscore。

rosnode cleanup

  

posted @ 2019-01-24 15:27  kay880  阅读(6008)  评论(0编辑  收藏  举报