TF命令行操作
ROS中的TF該如何使用呢?我們先通過(guò)兩只小海龜?shù)氖纠私庀禄谧鴺?biāo)系的一種機(jī)器人跟隨算法。
小海龜跟隨例程
這個(gè)示例需要我們先安裝相應(yīng)的功能包,然后就可以通過(guò)一個(gè)launch文件啟動(dòng),之后我們可以控制其中的一只小海龜,另外一只小海龜會(huì)自動(dòng)跟隨運(yùn)動(dòng)。
** sudo apt install ros-humble-turtle-tf2-py ros-humble-tf2-tools** sudo pip3 install transforms3d
具體運(yùn)行的效果如何?我們來(lái)試一試。
** ros2 launch turtle_tf2_py turtle_tf2_demo.launch.py** ros2 run turtlesim turtle_teleop_key
當(dāng)我們控制一只海龜運(yùn)動(dòng)時(shí),另外一只海龜也會(huì)跟隨運(yùn)動(dòng)。
查看TF樹(shù)
在當(dāng)前運(yùn)行的兩只海龜中,有哪些坐標(biāo)系呢,我們可以通過(guò)這個(gè)小工具來(lái)做查看。
$ ros2 run tf2_tools view_frames
默認(rèn)在當(dāng)前終端路徑下生成了一個(gè)frames.pdf文件,打開(kāi)之后,就可以看到系統(tǒng)中各個(gè)坐標(biāo)系的關(guān)系了。
查詢(xún)坐標(biāo)變換信息
只看到坐標(biāo)系的結(jié)構(gòu)還不行,如果我們想要知道某兩個(gè)坐標(biāo)系之間的具體關(guān)系,可以通過(guò)tf2_echo這個(gè)工具查看:
$ ros2 run tf2_ros tf2_echo turtle2 turtle1
運(yùn)行成功后,終端中就會(huì)循環(huán)打印坐標(biāo)系的變換數(shù)值了,由平移和旋轉(zhuǎn)兩個(gè)部分組成,還有旋轉(zhuǎn)矩陣。
坐標(biāo)系可視化
看數(shù)值還不直觀?可以試試用可視化軟件來(lái)做顯示:
** ros2 run rviz2 rviz2 -d **(ros2 pkg prefix --share turtle_tf2_py)/rviz/turtle_rviz.rviz
再讓小海龜動(dòng)起來(lái),Rviz中的坐標(biāo)軸就會(huì)開(kāi)始運(yùn)動(dòng),這樣是不是更加直觀了呢!
-
機(jī)器人
+關(guān)注
關(guān)注
213文章
29607瀏覽量
212151 -
控制
+關(guān)注
關(guān)注
5文章
1023瀏覽量
123657 -
ROS
+關(guān)注
關(guān)注
1文章
286瀏覽量
17636
發(fā)布評(píng)論請(qǐng)先 登錄
系統(tǒng)鏡像Ubuntu_ROS2中ROS2是什么意思,帶有ROS2開(kāi)發(fā)環(huán)境嗎?
ROS與RPLIDAR結(jié)合使用說(shuō)明及問(wèn)題匯總
怎樣去使用ROS中的launch啟動(dòng)文件呢
ROS服務(wù)數(shù)據(jù)該怎樣去使用呢
如何低成本搭建ARM+ROS的硬件載體?
搭建ARM+ROS的硬件載體之ROS部署前的籌備工作及步驟分解
ros小車(chē)激光雷達(dá)

ROS中XMLRPC是什么
ROS中Message隊(duì)列介紹

如何初始化ROS并創(chuàng)立鏈接

如何對(duì)機(jī)器人靜態(tài)TF廣播進(jìn)行管理

ros的基本概念是什么
ROS2中自帶例程測(cè)試

在TogetherROS中如何安裝ROS2功能包

評(píng)論