zoukankan      html  css  js  c++  java
  • 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
    

      

    作者:kay
    出处:https://www.cnblogs.com/kay2018/
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
    如果文中有什么错误,欢迎指出。以免更多的人被误导。
  • 相关阅读:
    Git常用命令集合
    kubeadm搭建高可用集群-版本1.18.2
    springboot实现事务管理
    定时任务突然中止,告警:Thread starvation or clock leap detected
    Class版本号和Java版本对应关系
    vue开发环境配置
    CentOS配置jar应用程序开机启动的方法
    jvm运行时数据区之程序计数器
    JVM常见面试题及答案
    MYSQL的修改表结构SQL语句
  • 原文地址:https://www.cnblogs.com/kay2018/p/10314741.html
Copyright © 2011-2022 走看看