系列文章背景介紹
X3派的官方文檔雖然非常的詳細(xì),但是基本都是以簡(jiǎn)單的單一示例進(jìn)行相關(guān)的介紹和說(shuō)明,不是特別的系統(tǒng),當(dāng)我們了解文檔的內(nèi)容、嘗試了示例的運(yùn)行后仍然需要系統(tǒng)化的去掌握相關(guān)的知識(shí),特別是新手小白用戶,會(huì)非常迷茫且無(wú)從下手。
該系列文章的相關(guān)知識(shí)來(lái)源于官方文檔,以從零開(kāi)始的視角將文檔中所有的示例整合到自己的ROS應(yīng)用包中變得更加系統(tǒng)化,也方便后續(xù)配合自己的業(yè)務(wù)進(jìn)行優(yōu)化和迭代。
一、開(kāi)發(fā)環(huán)境的搭建
請(qǐng)根據(jù)自己的情況完成X3派系統(tǒng)的安裝、網(wǎng)絡(luò)的配置以及TROS的部署,相關(guān)資料可以查閱官方文檔,相信大家也都比較熟悉了。
1、以【root】身份SSH登錄到X3派
登錄密碼為:root,IP地址替換為自己的實(shí)際IP地址。
ssh [email protected]
2、在X3派中執(zhí)行下面的命令腳本進(jìn)行系統(tǒng)的更新以及ROS2編譯環(huán)境依賴安裝
apt -y update && apt -y full-upgrade && apt-get install -y python3-catkin-pkg && pip install empy && pip install -U colcon-common-extensions
二、創(chuàng)建ROS2工作空間
知識(shí)點(diǎn):在ROS中,一個(gè)工作空間可以包含很多的功能包。
1、通過(guò)下面的命令腳本創(chuàng)建工作空間,比如我希望把工作空間放到/opt/workspace/geek_tros路徑
mkdir -p /opt/workspace/geek_tros
2、進(jìn)入到剛剛創(chuàng)建好的工作空間中
cd /opt/workspace/geek_tros
3、加載啟動(dòng)ROS2環(huán)境
知識(shí)點(diǎn):該命令的目的是將ROS2環(huán)境加入到bash中,可以理解為配置ROS2環(huán)境變量的過(guò)程,這樣我們才能在后面正常使用ros2的相關(guān)命令。值得注意的是這個(gè)方式只在當(dāng)前登錄的命令行終端生效,當(dāng)我們每次退出登錄或者關(guān)閉命令行終端再次進(jìn)入時(shí)都需要重新執(zhí)行這條命令腳本。
source /opt/tros/setup.bash
三、創(chuàng)建一個(gè)ROS2功能包
1、通過(guò)下面命令創(chuàng)建名為example_package的功能包,通過(guò)這個(gè)功能包實(shí)現(xiàn)簡(jiǎn)單的人體檢測(cè)功能
知識(shí)點(diǎn):ros2 pkg create是創(chuàng)建功能包的命令,example_package為功能包的名稱(可以自己取名),命令中的--build-type參數(shù)為功能包的編譯方式,--dependencies參數(shù)為功能包關(guān)聯(lián)的相關(guān)依賴庫(kù),其中rclcpp和sensor_msgs均為ROS2官方提供庫(kù),dnn_node為地平線的AI推理庫(kù)。
ros2 pkg create example_package --build-type ament_cmake --dependencies rclcpp sensor_msgs dnn_node
2、通過(guò)下面的命令腳本創(chuàng)建功能包的程序文件:example.cpp,也可以自己取名
touch /opt/workspace/geek_tros/example_package/src/example.cpp
四、開(kāi)發(fā)工具
接下來(lái)就是代碼的編寫(xiě)工作了,這里使用CLion作為我們的后續(xù)的開(kāi)發(fā)工具,我們將借助CLion的遠(yuǎn)程開(kāi)發(fā)方式進(jìn)行功能包的程序開(kāi)發(fā)。
1、下載并安裝Clion
下載地址:https://www.jetbrains.com/clion/
2、再本地電腦中找一個(gè)位置用于存放功能包的源碼,例如我的是【D:\GeekROS\geek_tros\】,使用Clion打開(kāi)這個(gè)目錄

3、點(diǎn)擊Clion的【File】->【Settings】

4、在彈出的窗口中依次選擇【Toolchains】->【+】->【Remote Host】

5、選擇【Remote Host】后的界面如下,其中【Name】自己取一個(gè),然后點(diǎn)擊【齒輪】按鈕

6、再?gòu)棾龅拇翱谥羞x擇【+】,根據(jù)圖示填寫(xiě)X3派的遠(yuǎn)程主機(jī)連接相關(guān)配置信息,點(diǎn)擊【OK】

7、配置成功后會(huì)看到如下圖所示的信息,點(diǎn)擊【OK】

8、根據(jù)下圖所示,打開(kāi)遠(yuǎn)程主機(jī)的文件游覽器

9、在彈出的界面中,通過(guò)下拉菜單選擇剛剛配置的遠(yuǎn)程主機(jī)

10、選擇后你會(huì)看到X3派遠(yuǎn)程主機(jī)上的文件資源

11、點(diǎn)擊Clion的【File】->【Settings】,在彈出的窗口按照下圖所示選擇X3派中的ROS2工作空間


12、到這里我就完成了遠(yuǎn)程開(kāi)發(fā)的相關(guān)配置,在項(xiàng)目名上右鍵可以看到相關(guān)的操作菜單,每次修改完代碼,我們進(jìn)行本地程序和X3派遠(yuǎn)程程序的上傳和下載操作

13、按照上圖的三步操作可以將X3派的程序下載到本地電腦進(jìn)行代碼編寫(xiě)

14、你也可以使用CLion中的命令行工具直連X3派進(jìn)行命令行的調(diào)試

五、本章節(jié)概述
通過(guò)本章節(jié)的閱讀,你將掌握TROS的部署、開(kāi)發(fā)環(huán)境的搭建、工作空間及功能包的創(chuàng)建、開(kāi)發(fā)工具及遠(yuǎn)程開(kāi)發(fā)方式配置。
下一節(jié)我們將進(jìn)行example_package功能包的開(kāi)發(fā),實(shí)現(xiàn)完整的人體檢測(cè)應(yīng)用。
原作者:MakerYang
-
嵌入式
+關(guān)注
關(guān)注
5121文章
19416瀏覽量
312597 -
AIoT
+關(guān)注
關(guān)注
8文章
1456瀏覽量
31775
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
GPU顯卡維修避坑指南:手把手教你識(shí)別行業(yè)套路!

《零基礎(chǔ)開(kāi)發(fā)AI Agent——手把手教你用扣子做智能體》
《手把手教你做星閃無(wú)人機(jī)—KaihongOS星閃無(wú)人機(jī)開(kāi)發(fā)實(shí)戰(zhàn)》系列課程課件匯總
《手把手教你做PC-KaihongOS筆記本電腦開(kāi)發(fā)實(shí)戰(zhàn)》課件匯總
【第四章 定時(shí)任務(wù)】手把手教你玩轉(zhuǎn)新版正點(diǎn)原子云
【第三章 警報(bào)聯(lián)動(dòng)】手把手教你玩轉(zhuǎn)新版正點(diǎn)原子云
【第二章 模型與設(shè)備連接】手把手教你玩轉(zhuǎn)新版正點(diǎn)原子云
【第一章 透?jìng)鞑呗浴?b class='flag-5'>手把手教你玩轉(zhuǎn)新版正點(diǎn)原子云
開(kāi)發(fā)者集結(jié)!《手把手教你做星閃無(wú)人機(jī)》第二課開(kāi)講啦!

《手把手教你做星閃無(wú)人機(jī)》即將開(kāi)播,鎖定15日晚七點(diǎn)!

《手把手教你做PC》課程即將啟動(dòng)!深開(kāi)鴻引領(lǐng)探索KaihongOS筆記本電腦開(kāi)發(fā)實(shí)戰(zhàn)

Air780E模組LuatOS開(kāi)發(fā)實(shí)戰(zhàn) —— 手把手教你搞定數(shù)據(jù)打包解包

手把手教你通過(guò)宏集物聯(lián)網(wǎng)工控屏&網(wǎng)關(guān)進(jìn)行協(xié)議轉(zhuǎn)換,將底層PLC/傳感器的數(shù)據(jù)轉(zhuǎn)換為T(mén)CP協(xié)議并傳輸?shù)接脩?/a>

手把手教你排序算法怎么寫(xiě)

ZMC900E控制器之ROS2環(huán)境安裝指南

評(píng)論