概述node
首先咱們從新溫習一下ROS術語。3d
命令 | 詳細說明 |
rostopic list | 顯示活動的話題目錄 |
rostopic echo [話題名稱] | 實時顯示指定話題的消息內容 |
rostopic find [類型名稱] | 顯示使用指定類型的消息的話題 |
rostopic type [話題名稱] | 顯示指定話題的消息類型 |
rostopic bw [話題名稱] | 顯示指定話題的消息帶寬(bandwidth) |
rostopic hz [話題名稱] | 顯示指定話題的消息數據發佈週期 |
rostopic info [話題名稱] | 顯示指定話題的信息 |
rostopic pub [話題名稱] [消息類型] [參數] | 用指定的話題名稱發佈消息 |
在運行ROS話題示例以前,請先關閉全部節點。經過在不一樣的終端窗口中分別運行如下命令來運行turtlesim_node和turtle_teleop_key。code
roscore rosrun turtlesim turtlesim_node rosrun turtlesim turtle_teleop_key
rostopic list:列出活動話題blog
rostopic list命令顯示當前正在發送和接收的全部話題的列表。ci
rostopic list
經過將「-v」選項添加到rostopic list命令,能夠分開發布話題和訂閱話題,並將每一個話題的消息類型一塊兒顯示。開發
rostopic list -v
rostopic echo [話題名稱]:實時顯示指定話題的消息內容cmd
如下示例實時顯示組成/turtle1/pose話題的x、y、theta、linear_velocity和angular_velocity的數據。it
rostopic echo /turtle1/pose
rostopic find [類型名稱]:顯示使用指定類型的消息的話題table
rostopic find turtlesim/Pose
rostopic type [話題名稱]:顯示指定話題的消息類型class
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
反映了發佈的消息的畫面(忽略橫線那條)