日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

ROS小乌龟turtlesim详解

發布時間:2024/1/18 编程问答 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ROS小乌龟turtlesim详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

turtlesim 小烏龜模擬

小烏龜的啟動

在安裝完ROS之后,就可以啟動小烏龜了,打開一個終端。
1. 首先要打開ROS服務
roscore
2. 打開一個新終端,打開小烏龜
rosrun turtlesim turtlesim_node
3. 打開一個新終端,通過鍵盤控制小烏龜,這個終端窗口必須置頂才能鍵盤控制
rosrun turtlesim turtle_teleop_key
會出現如下結果,此時就可以通過鍵盤的前后左右來控制小烏龜的平面運動了。
Reading from keyboard
—————————
Use arrow keys to move the turtle.

給小烏龜的運動控制節點發布消息

首先通過ctrl+C 命令,關閉鍵盤控制終端的節點

  • 輸入話題列表查看指令
    rostopic list
    可以看到當前有如下5個節點,其中/turtle1/cmd_vel 是控制小烏龜運動的節點
    /rosout
    /rosout_agg
    /turtle1/cmd_vel
    /turtle1/color_sensor
    /turtle1/pose

  • 通過rostopic pub命令,給指定的話題發布消息
    rostopic pub /turtle1/cmd_vel geometry_msgs/Twist “linear:
    x: 0.0
    y: 0.0
    z: 0.0
    angular:
    x: 0.0
    y: 0.0
    z: 0.0”
    /turtle1/cmd_vel為話題,geometry_msgs/Twist 為數據類型。linear為線速度,angular為角速度,單位是m/s 和 rad/s.
    線速度linear,x是前后,y是左右,z是上下。角速度angular,x是沿X軸逆時針轉動,y是沿y軸逆時針轉動,z是沿Z軸逆時針轉動。
    例如:”linear: x: 1.0 y: 0.0 z: 0.0 angular: x: 0.0 y: 0.0 z: 0.0” 小烏龜沿X軸做直線運動。
    例如:”linear: x: 0.0 y: 0.0 z: 0.0 angular: x: 0.0 y: 0.0 z: 0.0” 小烏龜沿Z軸原地轉動
    例如:”linear: x: 1.0 y: 0.0 z: 0.0 angular: x: 0.0 y: 0.0 z: 1.0” 小烏龜邊向前,邊自傳,速度合成后,軌跡是一個圓。

  • 通過rqt圖形化工具給話題發布消息

  • 打開rqt工具
    rqt
  • 在窗口上面的工具欄選擇 plugins>topics>Message Publisher
  • topic 選擇/turtle1/cmd_vel Type選擇geometry_msgs/Twist Freq 為消息發布頻率 單位為HZ,
  • 點擊加號就可以給指定話題發布消息了,點擊小三角就而已給速度和線速度賦值。勾選上面的方框就開始發布了。可以看到小烏龜運動起來了。
  • 同時打開兩個小烏龜

  • 如何打開第二個烏龜呢?首先我們列出所有當前的ros service
    rosservice list

    會出現以下內容
    /clear
    /kill
    /reset
    /rosout/get_loggers
    /rosout/set_logger_level
    /spawn
    /turtle1/set_pen
    /turtle1/teleport_absolute
    /turtle1/teleport_relative
    /turtlesim/get_loggers
    /turtlesim/set_logger_level

  • 用到spawn命令再生一個小烏龜,當出現/spawn 后一直按tab鍵會補全,然后回車,會自動生成一個按數字順序命名的小烏龜
    rosservice call /spawn “x: 0.0
    y: 0.0
    theta: 0.0
    name: ””
    name: “turtle2”(回車后自動生成的名字)

  • 總結

    以上是生活随笔為你收集整理的ROS小乌龟turtlesim详解的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。