小海龜(Turtlesim)是ROS2中一個非常重要的入門級例程,通過海龜仿真,我們可以了解到很多ROS2的底層原理,涉及節(jié)點、話題、服務(wù)等核心概念。
安裝海龜仿真器
sudo apt update
sudo apt install ros-foxy-turtlesim
Windows:
默認(rèn)已經(jīng)安裝好
如果你不確定是否安裝成功,可以使用該命令檢查:
ros2 pkg executables turtlesim
看到如下內(nèi)容說明安裝成功:
啟動海龜仿真器
終端中輸入如下命令啟動海龜仿真器:
ros2 run turtlesim turtlesim_node
很快可以看到一個打開的仿真器界面,里邊會隨機使用一個ROS2的logo作為顯示海龜?shù)奈恢茫?/p>
終端中可以看到海龜?shù)拿趾驮诜抡嫫髯鴺?biāo)系下的位置:
接下來讓海龜動起來,打開一個新的終端,輸入如下命令:ros2 run turtlesim turtle_teleop_key 然后根據(jù)終端中的提示點擊鍵盤按鍵,即可控制小海龜運動啦,注意一定要讓鍵盤控制節(jié)點在激活狀態(tài):
我們可以使用如下命令看看小海龜后臺到底運行了哪些功能:
ros2 node list
ros2 topic list
ros2 service list
ros2 action list
安裝rqt工具
Linux:
sudo apt update
sudo apt install ~nros-foxy-rqt*
Windows:
默認(rèn)已經(jīng)安裝 安裝完成后使用如下命令運行:rqt 第一次打開的界面是空的,選擇Plugins > Services > Service Caller 這個插件是用來發(fā)布服務(wù)請求的,點擊刷新按鍵之后,可以看到系統(tǒng)當(dāng)前的所有服務(wù)。
選擇/spawn服務(wù),雙擊下邊的數(shù)據(jù)項,填寫新產(chǎn)生海龜?shù)拿趾臀恢茫缓簏c擊“Call”,即可發(fā)送服務(wù)請求。注意名字一定不能和已有的海龜名字一樣,不然會有報錯。
很快就可以在海龜仿真器當(dāng)中看到另外一只海龜啦!
產(chǎn)生的不僅是一只新的海龜,還會有“turtle2”對應(yīng)的話題、服務(wù),可以說和turtle1是功能完全一樣的兩只海龜。
還可以嘗試另外一個服務(wù)/set_pen,通過設(shè)置畫筆,調(diào)整海龜軌跡的顏色。如下圖所示,設(shè)置畫筆的rgb值和寬度,點擊“Call”之后,再運動海龜就可以看到全新的軌跡效果啦。
大家一定會有一個問題,第二只海龜如何運動呢?仿真器默認(rèn)的鍵盤控制節(jié)點只能發(fā)布turtle1的話題,但是通過ROS的重映射(remapping)機制,可以實現(xiàn)對話題的重新命名。
在一個新的終端中輸入如下指令:
ros2 run turtlesim turtle_teleop_key --ros-args --remap turtle1/cmd_vel:=turtle2/cmd_vel
這里就把turtle1/cmd_vel這個話題名更改為了turtle2/cmd_vel,現(xiàn)在該節(jié)點就可以控制turtle2啦,不信在該終端中點擊鍵盤試一下。
參考鏈接:
https://index.ros.org/doc/ros2/Tutorials/Turtlesim/Introducing-Turtlesim/
-
仿真器
+關(guān)注
關(guān)注
14文章
1034瀏覽量
85025 -
ROS
+關(guān)注
關(guān)注
1文章
285瀏覽量
17588
發(fā)布評論請先 登錄

怎樣通過ROSSerial去控制現(xiàn)實世界的小海龜呢
【昉·星光 2 高性能RISC-V單板計算機體驗】五:在 VisionFive2 上體驗 ROS2 humble
基于VC的飛行仿真器導(dǎo)航仿真系統(tǒng)開發(fā)
Ansoft仿真器
仿真器和模擬器的不同_仿真器和模擬器的區(qū)別簡單分析
什么是單片機仿真器_單片機仿真器有什么用_單片機仿真器怎么用
小海龜科技·圣極基因高端檢測儀器、芯片及試劑項目正式投產(chǎn)
米爾科技ULINKpro D 仿真器介紹

ADI公司基于USB的仿真器和基于USB的高性能仿真器產(chǎn)品亮點

STM32-DAP仿真器的使用(1)

科技賦能生態(tài) | 探秘好望如何助力綠海龜保護的故事

ROS中的TF該如何使用

評論