最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(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)聽的評論 (共 條)

分享到微博請遵守國家法律
通辽市| 江北区| 新蔡县| 公安县| 扎鲁特旗| 鹤岗市| 镶黄旗| 浦东新区| 大理市| 西乌珠穆沁旗| 孝感市| 呼和浩特市| 利辛县| 阿拉善右旗| 什邡市| 丰都县| 肃宁县| 江门市| 龙州县| 高碑店市| 汉中市| 灵寿县| 康定县| 武陟县| 南部县| 高台县| 永寿县| 体育| 九寨沟县| 都匀市| 长泰县| 枣庄市| 新河县| 祥云县| 仁布县| 蕲春县| 旺苍县| 揭西县| 平利县| 迭部县| 大安市|