ROS-ROS命令(四)rostopic: ROS話題


概述

  首先我們重新溫習一下ROS術語。

命令 詳細說明
rostopic list  顯示活動的話題目錄
 rostopic echo [話題名稱]  實時顯示指定話題的消息內容 
rostopic find [類型名稱]   顯示使用指定類型的消息的話題 
 rostopic type [話題名稱] 顯示指定話題的消息類型 
rostopic bw [話題名稱]   顯示指定話題的消息帶寬(bandwidth) 
rostopic hz [話題名稱]   顯示指定話題的消息數據發布周期 
 rostopic info [話題名稱]  顯示指定話題的信息 
 rostopic pub [話題名稱] [消息類型] [參數] 用指定的話題名稱發布消息 

  在運行ROS話題示例之前,請先關閉所有節點。通過在不同的終端窗口中分別運行以下命令來運行turtlesim_node和turtle_teleop_key。

roscore
rosrun turtlesim turtlesim_node
rosrun turtlesim turtle_teleop_key

rostopic list:列出活動話題

  rostopic list命令顯示當前正在發送和接收的所有話題的列表。

rostopic list

 

  通過將“-v”選項添加到rostopic list命令,可以分開發布話題和訂閱話題,並將每個話題的消息類型一起顯示。

rostopic list -v

rostopic echo [話題名稱]:實時顯示指定話題的消息內容

  以下示例實時顯示組成/turtle1/pose話題的x、y、theta、linear_velocity和angular_velocity的數據。

rostopic echo /turtle1/pose

rostopic find [類型名稱]:顯示使用指定類型的消息的話題

rostopic find turtlesim/Pose

 rostopic type [話題名稱]:顯示指定話題的消息類型

rostopic type /turtle1/pose

rostopic bw [話題名稱]:顯示指定話題的消息數據帶寬(bandwidth)

  在以下示例中,用於/turtle1/pose話題的數據帶寬平均為每秒1.25 KB。

rostopic bw /turtle1/pose

rostopic hz [話題名稱]:顯示指定話題的消息數據發布周期

  在以下示例中,用戶可以檢查/turtle1/pose數據的發布周期。從結果可以看出,該消息以大約62.5Hz(0.016秒= 16毫秒)的頻率被發布。

rostopic hz /turtle1/pose

 rostopic info [話題名稱]:顯示指定話題的信息

  在以下示例中,用戶可以看到/turtle1/pose話題使用turtlesim/Pose消息類型,發布到/turtlesim節點,並且沒有實際訂閱的話題。

rostopic info /turtle1/pose

rostopic pub [話題名稱] [消息類型] [參數]:使用指定的話題名稱發布消息

  以下是使用/turtle1/cmd_vel話題名稱發布類型為geometry_msgs/Twist的消息的示例。

rostopic pub -1 /turtle1/cmd_vel geometry_msgs/Twist -- ‘[2.0, 0.0, 0.0]’ ‘[0.0, 0.0, 1.8]’

  每個選項的描述如下。

  • -1只發布一次消息(實際上只運行一次,但會像以前的結果一樣運行3秒)。
  • /turtle1/cmd_vel 指定的話題名稱
  • geometry_msgs/Twist 要發布的消息類型名稱
  • -- ‘[2.0, 0.0, 0.0]’ ‘[0.0, 0.0, 1.8]’ 在x軸坐標上以每秒2.0 m的速度移動,以z軸為中心,每秒旋轉1.8rad

 反映了發布的消息的畫面(忽略橫線那條)

 


免責聲明!

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



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