使用ROS節點(五)

來源:互聯網
上載者:User

標籤:

 

先啟動roscore

roscore 

 為了擷取節點資訊,可以使用rosnode命令

$ rosnode

擷取得一個可接受參數清單

 

 

使用rosrun命令啟動一個新的節點,如下所示

$ rosrun turtlesim  turtlesim_node 

 我們可以看見出現了一個新視窗,視窗中間有一個小烏龜,如:

出現一個新節點

 

 使用主題與節點互動

 

 

現在要使用一個節點,並讓節點做如下工作:

$ rosrun turtlesim  turtle_teleop_key 

 通過節點訂閱的主題,我們可以用方向鍵移動烏龜,如:

 

為什麼turtle_teleop_key執行時,小海龜會移動?

 

 

使用以下命令查看主題清單

 

$ rostopic list 

 

 

 使用echo參數,可以查看節點發出的資訊。運行以下命令列並使用鍵盤出發訊息

$ rostopic echo /turtle1/cmd_vel

 看到類似顯示

 

使用命令列擦好看訊息類型

rostopic  type  /turtle1/cmd_vel 

 

如果你想看到訊息欄位,使用以下命令:

$ rosmsg show geometry_msgs/Twist

我們可以通過這些工具使用rostopic pub [topic] [msg_type] [args] 命令直接發布主題

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

參數分析:

 

rostopic pub   這條命令將會發布訊息到某個給定的話題。

     -1           (單個破折號)這個參數選項使rostopic發布一條訊息後馬上退出。

    /turtle1/command_velocity    這是訊息所發布到的話題名稱。

    turtlesim/Velocity           這是所發布訊息的類型。

    --   (雙破折號)這會告訴命令選項解析器接下來的參數部分都不是命令選項。這在參數裡麵包含有破折號-(比如負號)時是必須要添加的。

    2.0 1.8  正如之前提到的,在一個turtlesim/Velocity訊息裡麵包含有兩個浮點型元素:linear和angular。在本例中,2.0是linear的值,1.8是angular的值。這些參數其實是按照YAML文法格式編寫的,這在YAML文檔中有更多的描述。

 

小烏龜畫圓:

 

你可能已經注意到turtle已經停止移動了。這是因為turtle需要一個穩定的頻率為1Hz的命令流來保持移動狀態。我們可以使用rostopic pub -r命令來發布一個穩定的命令流

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

 ..使用 rostopic hz

  rostopic hz命令可以用來查看資料發布的頻率。 用法: rostopic hz [topic]

  我們看一下turtlesim_node發布/turtle/pose時有多快:

rostopic hz /turtle1/pose

 現在我們可以知道了turtlesim正以大約60Hz的頻率發布資料給turtle。

使用ROS節點(五)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.