小海龜(Turtlesim)是ROS2中一個非常重要的入門級例程,通過海龜仿真,我們可以了解到很多ROS2的底層原理,涉及節點、話題、服務等核心概念。
安裝海龜仿真器
sudo apt update
sudo apt install ros-foxy-turtlesim
Windows:
默認已經安裝好
如果你不確定是否安裝成功,可以使用該命令檢查:
ros2 pkg executables turtlesim
看到如下內容說明安裝成功:
啟動海龜仿真器
終端中輸入如下命令啟動海龜仿真器:
ros2 run turtlesim turtlesim_node
很快可以看到一個打開的仿真器界面,里邊會隨機使用一個ROS2的logo作為顯示海龜的位置:
終端中可以看到海龜的名字和在仿真器坐標系下的位置:
接下來讓海龜動起來,打開一個新的終端,輸入如下命令:ros2 run turtlesim turtle_teleop_key 然后根據終端中的提示點擊鍵盤按鍵,即可控制小海龜運動啦,注意一定要讓鍵盤控制節點在激活狀態:
我們可以使用如下命令看看小海龜后臺到底運行了哪些功能:
ros2 node list
ros2 topic list
ros2 service list
ros2 action list
安裝rqt工具
Linux:
sudo apt update
sudo apt install ~nros-foxy-rqt*
Windows:
默認已經安裝 安裝完成后使用如下命令運行:rqt 第一次打開的界面是空的,選擇Plugins > Services > Service Caller 這個插件是用來發布服務請求的,點擊刷新按鍵之后,可以看到系統當前的所有服務。
選擇/spawn服務,雙擊下邊的數據項,填寫新產生海龜的名字和位置,然后點擊“Call”,即可發送服務請求。注意名字一定不能和已有的海龜名字一樣,不然會有報錯。
很快就可以在海龜仿真器當中看到另外一只海龜啦!
產生的不僅是一只新的海龜,還會有“turtle2”對應的話題、服務,可以說和turtle1是功能完全一樣的兩只海龜。
還可以嘗試另外一個服務/set_pen,通過設置畫筆,調整海龜軌跡的顏色。如下圖所示,設置畫筆的rgb值和寬度,點擊“Call”之后,再運動海龜就可以看到全新的軌跡效果啦。
大家一定會有一個問題,第二只海龜如何運動呢?仿真器默認的鍵盤控制節點只能發布turtle1的話題,但是通過ROS的重映射(remapping)機制,可以實現對話題的重新命名。
在一個新的終端中輸入如下指令:
ros2 run turtlesim turtle_teleop_key --ros-args --remap turtle1/cmd_vel:=turtle2/cmd_vel
這里就把turtle1/cmd_vel這個話題名更改為了turtle2/cmd_vel,現在該節點就可以控制turtle2啦,不信在該終端中點擊鍵盤試一下。
參考鏈接:
https://index.ros.org/doc/ros2/Tutorials/Turtlesim/Introducing-Turtlesim/
-
仿真器
+關注
關注
14文章
1019瀏覽量
83935 -
ROS
+關注
關注
1文章
280瀏覽量
17095
發布評論請先 登錄
相關推薦
![](https://file.elecfans.com/web2/M00/2D/00/poYBAGHgBoWAPH_1AADsdTB3JS0073.png)
【昉·星光 2 高性能RISC-V單板計算機體驗】五:在 VisionFive2 上體驗 ROS2 humble
基于VC的飛行仿真器導航仿真系統開發
Ansoft仿真器
仿真器和模擬器的不同_仿真器和模擬器的區別簡單分析
什么是單片機仿真器_單片機仿真器有什么用_單片機仿真器怎么用
小海龜科技·圣極基因高端檢測儀器、芯片及試劑項目正式投產
米爾科技ULINKpro D 仿真器介紹
![米爾科技ULINKpro D <b class='flag-5'>仿真器</b>介紹](https://file.elecfans.com/web1/M00/AA/B8/pIYBAF2pd-mAe7irAADefMtCsyo745.png)
STM32-DAP仿真器的使用(1)
![STM32-DAP<b class='flag-5'>仿真器</b>的使用(1)](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
科技賦能生態 | 探秘好望如何助力綠海龜保護的故事
![科技賦能生態 | 探秘好望如何助力綠<b class='flag-5'>海龜</b>保護的故事](https://file1.elecfans.com//web2/M00/A0/90/wKgaomToNnSAKfHnAFCAtAUgk0M246.gif)
ROS中的TF該如何使用
![ROS中的TF該如何使用](https://file1.elecfans.com/web2/M00/B2/0D/wKgZomVdyAiANzofAADxPMylMsU065.jpg)
評論