五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

5.4 坐標變換監(jiān)聽

2023-10-25 10:24 作者:猛獅集訓營  | 我要投稿

5.4 坐標變換監(jiān)聽

監(jiān)聽可以實現(xiàn)坐標點在不同坐標系之間的變換,或者不同坐標系之間的變換。當然,前提是必須要廣播不同坐標系關(guān)系,而至于是靜態(tài)廣播或動態(tài)廣播則無要求。

5.4.1 坐標系變換案例以及分析

1.案例需求

案例1:5.3 坐標變換廣播中發(fā)布了laser相對于base_link和camra相對于base_link的坐標系關(guān)系,請求解laser相對于camera的坐標系關(guān)系。

案例2:5.3 坐標變換廣播中發(fā)布了laser相對于base_link的坐標系關(guān)系且發(fā)布了laser坐標系下的障礙物的坐標點數(shù)據(jù),請求解base_link坐標系下該障礙物的坐標。

2.案例分析

在上述案例中,案例1是多坐標系的場景下實現(xiàn)不同坐標系之間的變換,案例2則是要實現(xiàn)同一坐標點在不同坐標系下的變換,雖然需求不同,但是相關(guān)算法都被封裝好了,我們只需要調(diào)用相關(guān) API 即可。

3.流程簡介

兩個案例的實現(xiàn)流程類似,主要步驟如下:

  1. 編寫坐標變換程序?qū)崿F(xiàn);

  2. 編輯配置文件;

  3. 編譯;

  4. 執(zhí)行。

案例我們會采用 C++ 和 Python 分別實現(xiàn),二者都遵循上述實現(xiàn)流程。

4.準備工作

終端下進入工作空間的src目錄,調(diào)用如下兩條命令分別創(chuàng)建C++功能包和Python功能包。

ros2 pkg create cpp04_tf_listener --build-type ament_cmake --dependencies rclcpp tf2 tf2_ros geometry_msgs?

ros2 pkg create py04_tf_listener --build-type ament_python --dependencies rclpy tf_transformations tf2_ros geometry_msgs

5.4.2 坐標系變換(C++)

1.坐標系變換實現(xiàn)

功能包 cpp04_tf_listener 的 src 目錄下,新建 C++ 文件 demo01_tf_listener.cpp,并編輯文件,輸入如下內(nèi)容:


在創(chuàng)建功能包時,所依賴的功能包已經(jīng)自動配置了,配置內(nèi)容如下:

2.CMakeLists.txt

CMakeLists.txt 中發(fā)布和訂閱程序核心配置如下:

3.編譯

終端中進入當前工作空間,編譯功能包:

4.執(zhí)行

當前工作空間下,啟動三個終端,終端1輸入如下命令發(fā)布雷達(laser)相對于底盤(base_link)的靜態(tài)坐標變換:

5.4.3 坐標系變換(Python)

1.坐標系變換實現(xiàn)

功能包 py04_tf_listener 的 py04_tf_listener 目錄下,新建 Python 文件 demo01_tf_listener_py.py,并編輯文件,輸入如下內(nèi)容:

2.編輯配置文件

1.package.xml

在創(chuàng)建功能包時,所依賴的功能包已經(jīng)自動配置了,配置內(nèi)容如下:

2.setup.py

entry_points字段的console_scripts中添加如下內(nèi)容:

3.編譯

終端中進入當前工作空間,編譯功能包:

4.執(zhí)行

當前工作空間下,啟動兩個終端,終端1輸入如下命令發(fā)布雷達(laser)相對于底盤(base_link)的靜態(tài)坐標變換:

5.4.4 坐標點變換(C++)

1.坐標點變換實現(xiàn)

功能包 cpp04_tf_listener 的 src 目錄下,新建 C++ 文件 demo02_message_filter.cpp,并編輯文件,輸入如下內(nèi)容:

在創(chuàng)建功能包時,所依賴的部分功能包已經(jīng)自動配置了,不過為了實現(xiàn)坐標點變換,還需要添加依賴包tf2_geometry_msgs

message_filters,修改后的配置內(nèi)容如下:

2.CMakeLists.txt

CMakeLists.txt 文件修改后的內(nèi)容如下:

3.編譯

終端中進入當前工作空間,編譯功能包:

colcon build --packages-select cpp04_tf_listener

5.4.5 坐標點變換(Python)

暫無。

B站有完整的ros系列教程視頻,可以觀看完整內(nèi)容ros課程ROS2理論與實踐

更多內(nèi)容將在猛獅知識星球社區(qū)更新最新課程,后續(xù)將推出更多優(yōu)質(zhì)內(nèi)容——詳情可關(guān)注猛獅集訓營公眾號和猛獅集訓營官方網(wǎng)站。

5.4 坐標變換監(jiān)聽的評論 (共 條)

分享到微博請遵守國家法律
巴林右旗| 苏尼特左旗| 巴青县| 穆棱市| 宜兴市| 堆龙德庆县| 定结县| 清水河县| 剑川县| 峨眉山市| 康马县| 乌苏市| 许昌县| 永仁县| 甘泉县| 文山县| 桐庐县| 凤城市| 阆中市| 咸阳市| 汉源县| 沅陵县| 定西市| 隆化县| 吉林省| 浙江省| 霍州市| 大丰市| 丘北县| 定陶县| 宁明县| 阳新县| 武夷山市| 鲜城| 德格县| 郁南县| 湘乡市| 遂昌县| 霞浦县| 城固县| 永济市|