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

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM