国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【ROS2機(jī)器人入門到實(shí)戰(zhàn)】tf2介紹

這篇具有很好參考價(jià)值的文章主要介紹了【ROS2機(jī)器人入門到實(shí)戰(zhàn)】tf2介紹。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

1.tf2介紹

寫在前面

  1. 當(dāng)前平臺(tái)文章匯總地址:ROS2機(jī)器人從入門到實(shí)戰(zhàn)
  2. 獲取完整教程及配套資料代碼,請(qǐng)關(guān)注公眾號(hào)<魚香ROS>獲取
  3. 教程配套機(jī)器人開發(fā)平臺(tái):兩驅(qū)版| 四驅(qū)版
  4. 為方便交流,搭建了機(jī)器人技術(shù)問答社區(qū):地址 fishros.org.cn

TF即變換的英文單詞TransForm的縮寫。所以ROSROS2中的TF就是指和坐標(biāo)變換相關(guān)的工具。

在搞機(jī)器人當(dāng)中,坐標(biāo)變換經(jīng)常用到,所以ROS2幫我們做了一個(gè)強(qiáng)大易用的TF工具

ros2 tf2,ROS2機(jī)器人入門到實(shí)戰(zhàn),機(jī)器人,tf,ROS2

1.發(fā)布坐標(biāo)關(guān)系

我們先使用TF2的相關(guān)工具,解決上一節(jié)的手眼坐標(biāo)轉(zhuǎn)換問題,直觀的感受一下TF2的強(qiáng)大。

要想讓TF幫我們完成坐標(biāo)變換,我們就需要告訴它坐標(biāo)和坐標(biāo)之間的關(guān)系。

ros2 tf2,ROS2機(jī)器人入門到實(shí)戰(zhàn),機(jī)器人,tf,ROS2

拿上面的手眼系統(tǒng)來說,我們要想獲取到相機(jī)的基坐標(biāo)系{B}和工具{P}之間的關(guān)系,只需要將機(jī)械臂和相機(jī)、相機(jī)和工具之間的關(guān)系告訴TF即可。

2.我們?nèi)绾胃嬖VTF?

可以使用tf的坐標(biāo)廣播工具進(jìn)行廣播坐標(biāo)關(guān)系,廣播時(shí)需要三個(gè)數(shù)據(jù):

  • 父坐標(biāo)系名稱(字符串)
  • 子坐標(biāo)系名稱(字符串)
  • 父子之間的變換關(guān)系(平移關(guān)系和旋轉(zhuǎn)關(guān)系)

在終端中輸入:

ros2 run tf2_ros static_transform_publisher 

enter鍵,可以看到

A command line utility for manually sending a transform.
Usage: static_transform_publisher x y z qx qy qz qw frame_id child_frame_id 
OR 
Usage: static_transform_publisher x y z yaw pitch roll frame_id child_frame_id 

這是該CLI所提供的使用提示,可以看出

使用TF發(fā)布位置和姿態(tài)時(shí),位置的描述使用的是xyz三個(gè)參數(shù),而姿態(tài)的描述則分兩種

  • 第一種是四元數(shù)形式(qx qy qz qw)
  • 第二種是歐拉角形式(yaw偏航角-rz pitch俯仰角-ry roll滾轉(zhuǎn)角-rx),我們這里采用的是歐拉形式,繞x軸旋轉(zhuǎn)采用歐拉角中的滾轉(zhuǎn)角roll來描述,注意角度單位采用弧度制。

ros2 tf2,ROS2機(jī)器人入門到實(shí)戰(zhàn),機(jī)器人,tf,ROS2

關(guān)于歐拉角和四元數(shù)的區(qū)別我們放到了姿態(tài)的多種表示章節(jié)來講。

2.1 發(fā)布B到C的位姿

比如針對(duì)上面的手眼轉(zhuǎn)換,廣播機(jī)械臂坐標(biāo)系{B}和相機(jī)坐標(biāo)系{C}之間的關(guān)系。

父坐標(biāo)系的名字就是B,子坐標(biāo)系的名字是C,父子之間的平移關(guān)系是0 0 3,旋轉(zhuǎn)關(guān)系是繞x軸旋轉(zhuǎn)180度。

在ROS2中可以使用下面的指令發(fā)布變換,打開終端,輸入下面的指令:

ros2 run tf2_ros static_transform_publisher 0 0 3 0 0 3.14 B C

如果在終端中看到下面的提示則代表發(fā)布成功

ros2 tf2,ROS2機(jī)器人入門到實(shí)戰(zhàn),機(jī)器人,tf,ROS2

2.2 發(fā)布C到P的位姿

接著我們發(fā)布坐標(biāo)系{C}到坐標(biāo)系{T}的位姿

再打開一個(gè)新的終端,輸入下面的命令:

ros2 run tf2_ros static_transform_publisher 2 1 2 0 0 0 C P

3. 監(jiān)聽/獲取TF關(guān)系

發(fā)布也發(fā)布了,接著我們就把坐標(biāo)系之間的關(guān)系打印出來,只要坐標(biāo)系之間是有連接的,我們就可以使用TF求出來,使用下面的指令就可以得到機(jī)械臂基坐標(biāo)系{B}和工具坐標(biāo)系{P}之間的關(guān)系。

打開終端,輸入命令:

ros2 run tf2_ros tf2_echo B P

ros2 tf2,ROS2機(jī)器人入門到實(shí)戰(zhàn),機(jī)器人,tf,ROS2

可以看到終端中不斷輸出B和C之間的平移和旋轉(zhuǎn),平移采用的是xyz,基本正確,y和z的微小差異是因?yàn)槲覀儼l(fā)布變換時(shí)旋轉(zhuǎn)輸入的是3.14并不精確。

至于旋轉(zhuǎn)部分采用的是四元數(shù)表示,關(guān)于這部分姿態(tài)的表示,小魚在下一節(jié)會(huì)講,大家不必糾結(jié)。

除了使用TF獲取關(guān)系外,ros2還提供很多工具來查看坐標(biāo)之間的關(guān)系,大家可以在終端中輸入下面的命令自行嘗試。

4.TF常用工具

4.1 rqt_tf_tree

2022-04-26更新的,這個(gè)工具的二進(jìn)制安裝版本作者3月底才發(fā)布,之前沒提的原因是需要源碼裝太麻煩了

這個(gè)工具需要我們手動(dòng)安裝下

sudo apt install ros-humble-rqt-tf-tree

安裝完成后,再次打開rqt工具,Plugins->Visualization->TF Tree

接著你就可以看到這個(gè)強(qiáng)大的,幾乎可以實(shí)時(shí)看到系統(tǒng)tf更新信息的工具,這個(gè)工具對(duì)于后面我們進(jìn)行導(dǎo)航和機(jī)械臂的調(diào)試非常有幫助。

長(zhǎng)的不一樣沒關(guān)系,這是后面補(bǔ)充的圖。

ros2 tf2,ROS2機(jī)器人入門到實(shí)戰(zhàn),機(jī)器人,tf,ROS2

4.2 tf2_monitor

查看所有的發(fā)布者和頻率。

ros2 run tf2_ros tf2_monitor 
Gathering data on all frames for 10 seconds...

RESULTS: for all Frames

Frames:
Frame: C, published by <no authority available>, Average Delay: 3001.98, Max Delay: 3001.98
Frame: P, published by <no authority available>, Average Delay: 741.497, Max Delay: 741.497
All Broadcasters:
Node: <no authority available> 5029.14 Hz, Average Delay: 1871.74 Max Delay: 3001.98


RESULTS: for all Frames
Frames:
Frame: C, published by <no authority available>, Average Delay: 3001.98, Max Delay: 3001.98
Frame: P, published by <no authority available>, Average Delay: 741.497, Max Delay: 741.497
All Broadcasters:
Node: <no authority available> 5029.14 Hz, Average Delay: 1871.74 Max Delay: 3001.98


view_frames.py

可以生成TF的pdf,目前也有在線的實(shí)時(shí)查看工具。

ros2 run tf2_tools view_frames.py 
[INFO] [1636558316.667894410] [view_frames]: Listening to tf data during 5 seconds...
[INFO] [1636558321.702280144] [view_frames]: Generating graph in frames.pdf file...
[INFO] [1636558321.709904442] [view_frames]: Result:tf2_msgs.srv.FrameGraph_Response(frame_yaml="C: \n  parent: 'B'\n  broadcaster: 'default_authority'\n  rate: 10000.000\n  most_recent_transform: 0.000000\n  oldest_transform: 0.000000\n  buffer_length: 0.000\nP: \n  parent: 'C'\n  broadcaster: 'default_authority'\n  rate: 10000.000\n  most_recent_transform: 0.000000\n  oldest_transform: 0.000000\n  buffer_length: 0.000\n")
/opt/ros/humble/lib/tf2_tools/view_frames.py:75: YAMLLoadWarning: calling yaml.load() without Loader=... is deprecated, as the default Loader is unsafe. Please read https://msg.pyyaml.org/load for full details.
  data = yaml.load(result.frame_yaml)

ros2 tf2,ROS2機(jī)器人入門到實(shí)戰(zhàn),機(jī)器人,tf,ROS2

除了使用命令行進(jìn)行坐標(biāo)關(guān)系的廣播和監(jiān)聽,我們還可以使用代碼來廣播和監(jiān)聽,接下來小魚就帶你一起用程序來發(fā)布TF廣播和獲取坐標(biāo)關(guān)系。文章來源地址http://www.zghlxwxcb.cn/news/detail-779114.html

到了這里,關(guān)于【ROS2機(jī)器人入門到實(shí)戰(zhàn)】tf2介紹的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【ROS2機(jī)器人入門到實(shí)戰(zhàn)】ROS2服務(wù)入門

    【ROS2機(jī)器人入門到實(shí)戰(zhàn)】ROS2服務(wù)入門

    當(dāng)前平臺(tái)文章匯總地址:ROS2機(jī)器人從入門到實(shí)戰(zhàn) 獲取完整教程及配套資料代碼,請(qǐng)關(guān)注公眾號(hào)魚香ROS獲取 教程配套機(jī)器人開發(fā)平臺(tái):兩驅(qū)版| 四驅(qū)版 為方便交流,搭建了機(jī)器人技術(shù)問答社區(qū):地址 fishros.org.cn 大家好,帥魚又蹬蹬蹬的游回來了。本節(jié)小魚將要帶大家一起了解

    2024年02月07日
    瀏覽(55)
  • 【ROS2機(jī)器人入門到實(shí)戰(zhàn)】ROS2話題入門

    【ROS2機(jī)器人入門到實(shí)戰(zhàn)】ROS2話題入門

    當(dāng)前平臺(tái)文章匯總地址:ROS2機(jī)器人從入門到實(shí)戰(zhàn) 獲取完整教程及配套資料代碼,請(qǐng)關(guān)注公眾號(hào)魚香ROS獲取 教程配套機(jī)器人開發(fā)平臺(tái):兩驅(qū)版| 四驅(qū)版 為方便交流,搭建了機(jī)器人技術(shù)問答社區(qū):地址 fishros.org.cn 話題是ROS2中最常用的通信方式之一,話題通信采取的是訂閱發(fā)布

    2024年02月04日
    瀏覽(26)
  • 【ROS2機(jī)器人入門到實(shí)戰(zhàn)】

    當(dāng)前平臺(tái)文章匯總地址:ROS2機(jī)器人從入門到實(shí)戰(zhàn) 獲取完整教程及配套資料代碼,請(qǐng)關(guān)注公眾號(hào)魚香ROS獲取 教程配套機(jī)器人開發(fā)平臺(tái):兩驅(qū)版| 四驅(qū)版 為方便交流,搭建了機(jī)器人技術(shù)問答社區(qū):地址 fishros.org.cn 第 1 章 ROS2介紹與安裝 基礎(chǔ)篇-Linux基礎(chǔ) 1.Linux與Ubuntu系統(tǒng)介紹 2.在

    2024年02月16日
    瀏覽(54)
  • 【ROS2機(jī)器人入門到實(shí)戰(zhàn)】4.ROS2初體驗(yàn)

    【ROS2機(jī)器人入門到實(shí)戰(zhàn)】4.ROS2初體驗(yàn)

    當(dāng)前平臺(tái)文章匯總地址:ROS2機(jī)器人從入門到實(shí)戰(zhàn) 獲取完整教程及配套資料代碼,請(qǐng)關(guān)注公眾號(hào)魚香ROS獲取 教程配套機(jī)器人開發(fā)平臺(tái):兩驅(qū)版| 四驅(qū)版 為方便交流,搭建了機(jī)器人技術(shù)問答社區(qū):地址 fishros.org.cn 通過幾個(gè)簡(jiǎn)單的小例子來體驗(yàn)ROS2軟件庫和工具集。 游戲內(nèi)容:很

    2024年02月04日
    瀏覽(20)
  • 【ROS2機(jī)器人入門到實(shí)戰(zhàn)】3.動(dòng)手安裝ROS2

    【ROS2機(jī)器人入門到實(shí)戰(zhàn)】3.動(dòng)手安裝ROS2

    當(dāng)前平臺(tái)文章匯總地址:ROS2機(jī)器人從入門到實(shí)戰(zhàn) 獲取完整教程及配套資料代碼,請(qǐng)關(guān)注公眾號(hào)魚香ROS獲取 教程配套機(jī)器人開發(fā)平臺(tái):兩驅(qū)版| 四驅(qū)版 為方便交流,搭建了機(jī)器人技術(shù)問答社區(qū):地址 fishros.org.cn 到了這一節(jié),終于可以開始安裝ROS2了。安裝ROS2本來是一件比較麻

    2024年02月13日
    瀏覽(29)
  • 【ROS2機(jī)器人入門到實(shí)戰(zhàn)】2.ROS與ROS2對(duì)比

    【ROS2機(jī)器人入門到實(shí)戰(zhàn)】2.ROS與ROS2對(duì)比

    當(dāng)前平臺(tái)文章匯總地址:ROS2機(jī)器人從入門到實(shí)戰(zhàn) 獲取完整教程及配套資料代碼,請(qǐng)關(guān)注公眾號(hào)魚香ROS獲取 教程配套機(jī)器人開發(fā)平臺(tái):兩驅(qū)版| 四驅(qū)版 為方便交流,搭建了機(jī)器人技術(shù)問答社區(qū):地址 fishros.org.cn 經(jīng)過上一節(jié)的學(xué)習(xí),相信你已經(jīng)對(duì)ROS和ROS2的發(fā)展有了一定的了解

    2024年02月04日
    瀏覽(28)
  • 【ROS2機(jī)器人入門到實(shí)戰(zhàn)】2.ROS2功能包與工作空間

    【ROS2機(jī)器人入門到實(shí)戰(zhàn)】2.ROS2功能包與工作空間

    當(dāng)前平臺(tái)文章匯總地址:ROS2機(jī)器人從入門到實(shí)戰(zhàn) 獲取完整教程及配套資料代碼,請(qǐng)關(guān)注公眾號(hào)魚香ROS獲取 教程配套機(jī)器人開發(fā)平臺(tái):兩驅(qū)版| 四驅(qū)版 為方便交流,搭建了機(jī)器人技術(shù)問答社區(qū):地址 fishros.org.cn 大家好,我是小魚~上一節(jié)小魚給大家介紹了一下節(jié)點(diǎn),運(yùn)行一個(gè)

    2024年01月23日
    瀏覽(48)
  • 【ROS2機(jī)器人入門到實(shí)戰(zhàn)】地圖保存與編輯

    【ROS2機(jī)器人入門到實(shí)戰(zhàn)】地圖保存與編輯

    當(dāng)前平臺(tái)文章匯總地址:ROS2機(jī)器人從入門到實(shí)戰(zhàn) 獲取完整教程及配套資料代碼,請(qǐng)關(guān)注公眾號(hào)魚香ROS獲取 教程配套機(jī)器人開發(fā)平臺(tái):兩驅(qū)版| 四驅(qū)版 為方便交流,搭建了機(jī)器人技術(shù)問答社區(qū):地址 fishros.org.cn 可以看到有下面的用法 我們的地圖話題為map,文件名字我們用f

    2024年02月03日
    瀏覽(33)
  • 【ROS2機(jī)器人入門到實(shí)戰(zhàn)】Colcon使用進(jìn)階

    【ROS2機(jī)器人入門到實(shí)戰(zhàn)】Colcon使用進(jìn)階

    當(dāng)前平臺(tái)文章匯總地址:ROS2機(jī)器人從入門到實(shí)戰(zhàn) 獲取完整教程及配套資料代碼,請(qǐng)關(guān)注公眾號(hào)魚香ROS獲取 教程配套機(jī)器人開發(fā)平臺(tái):兩驅(qū)版| 四驅(qū)版 為方便交流,搭建了機(jī)器人技術(shù)問答社區(qū):地址 fishros.org.cn 基礎(chǔ)篇中小魚帶你用gcc編譯了ROS2節(jié)點(diǎn)。對(duì)你來說,使用CMake(GC

    2024年02月02日
    瀏覽(54)
  • 【ROS2機(jī)器人入門到實(shí)戰(zhàn)】使用RCLCPP編寫節(jié)點(diǎn)

    【ROS2機(jī)器人入門到實(shí)戰(zhàn)】使用RCLCPP編寫節(jié)點(diǎn)

    當(dāng)前平臺(tái)文章匯總地址:ROS2機(jī)器人從入門到實(shí)戰(zhàn) 獲取完整教程及配套資料代碼,請(qǐng)關(guān)注公眾號(hào)魚香ROS獲取 教程配套機(jī)器人開發(fā)平臺(tái):兩驅(qū)版| 四驅(qū)版 為方便交流,搭建了機(jī)器人技術(shù)問答社區(qū):地址 fishros.org.cn 節(jié)點(diǎn)需要存在于功能包當(dāng)中、功能包需要存在于工作空間當(dāng)中。所

    2024年02月02日
    瀏覽(76)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包