- ROS機(jī)器人項目開發(fā)11例(原書第2版)
- (印)拉姆庫瑪·甘地那坦 郎坦·約瑟夫
- 1085字
- 2021-01-26 17:17:33
2.6.2 獲取ROS-2源碼
為了順利安裝ROS-2,我們需要創(chuàng)建工作空間并將ROS-2的代碼倉庫復(fù)制至該工作空間。具體操作為使用以下命令:
成功執(zhí)行上述命令后,終端窗口中將會提示ros2.repos已保存,如圖2.8所示。
圖2.8 獲取最新的代碼倉庫
如果讀者是高級用戶,并且希望使用開發(fā)版本,則只需在前面的命令中將release-latest替換為master。如果讀者想進(jìn)一步試驗,我們還是建議使用前面的命令,因為前面的代碼樹在發(fā)布之前會經(jīng)過嚴(yán)格的測試。最后一步是使用以下命令導(dǎo)入倉庫信息:
現(xiàn)在設(shè)置好了工作空間,下面我們開始安裝依賴項。
1.使用rosdep安裝依賴
和安裝ROS-1時的操作一樣,我們使用rosdep安裝依賴項。讀者在上一章中應(yīng)當(dāng)已經(jīng)初始化了rosdep list。如果沒有執(zhí)行該操作,則執(zhí)行以下命令(否則,跳到下一個命令):
然后,更新rosdep:
接下來安裝以下依賴項:
正常情況下,成功執(zhí)行上述命令后,終端窗口的內(nèi)容將如圖2.9所示。
圖2.9 成功安裝ROS依賴項的圖示
如果讀者想要額外安裝DDS實(shí)現(xiàn),則可以執(zhí)行下一步驟,否則可以跳過該步驟。
2.安裝DDS實(shí)現(xiàn)(可選)
本步驟供想要安裝DDS實(shí)現(xiàn)的讀者參考。安裝過程如下:
1)讀者需要知道的是,ROS-2運(yùn)行于DDS之上,而DDS則有多家供應(yīng)商的實(shí)現(xiàn)版本。在ROS-2中,默認(rèn)的DDS實(shí)現(xiàn)中間件是快速RTPS。讀者可以自行選擇其他供應(yīng)商的DDS實(shí)現(xiàn),如OpenSplice或者Connext,相應(yīng)的命令如下:
·OpenSplice:
·Connext:
需要注意的是,若安裝Connext,則需要來自RTI的授權(quán),當(dāng)然你也可以嘗試試用版,可以從https://www.rti.com/free-trial獲取30天試用授權(quán)。
2)在獲取官方或試用版授權(quán)后,需要設(shè)置授權(quán)文件路徑。可以使用$RTI_LICENSE_FILE環(huán)境變量來指定授權(quán)文件路徑,通過export命令為環(huán)境變量賦值,命令如下:
3)下載授權(quán)文件之后,需要通過$chmod+x命令對$.run文件進(jìn)行權(quán)限設(shè)置。此外,還需要使用source命令導(dǎo)入配置文件,從而設(shè)置$NDDSHOME環(huán)境變量。進(jìn)入相應(yīng)目錄的命令如下:
然后,使用source命令導(dǎo)入文件:
至此,就可以進(jìn)行代碼構(gòu)建了,RTI支持的構(gòu)建將與代碼的構(gòu)建一同完成。
3.構(gòu)建代碼
在ROS-1中,可以使用catkin工具來編譯構(gòu)建功能包。在ROS-2中,我們使用一個升級了的工具,它是catkin_make、catkin_make_isolated、catkin_tools和ament_tools(第一個ROS-2發(fā)行版中使用的構(gòu)建系統(tǒng))的迭代,稱為colcon。這意味著colcon也可以用于編譯ROS-1中的功能包以及ROS-2中沒有功能包清單的功能包。
后面我們將展示如何使用colcon編譯單獨(dú)的功能包。下面,我們首先編譯構(gòu)建ROS-2。使用以下命令安裝colcon:
安裝完colcon之后,我們返回ROS-2的工作空間并編譯構(gòu)建ROS-2,命令如下:
然后使用以下命令編譯功能包:
上述過程大概需要40分鐘到1小時的時間,也可能會更長。本書作者大概花費(fèi)了1時14分鐘。在一切正常的情況下,讀者將會看到與圖2.10類似的終端顯示。
圖2.10 正常的編譯過程
如圖2.10所示,有9個功能包未進(jìn)行編譯構(gòu)建——我們跳過了這9個功能包,因為我們沒有選擇安裝DDS實(shí)現(xiàn)。下面,讓我們嘗試運(yùn)行一些已安裝功能包里的例子。
- 智能機(jī)器的未來
- 人工智能及其應(yīng)用
- 秒懂AI編程:零基礎(chǔ)搞定辦公自動化
- 機(jī)器人技術(shù)入門
- ChatGPT速學(xué)通:文案寫作+PPT制作+數(shù)據(jù)分析+知識學(xué)習(xí)與變現(xiàn)
- 區(qū)塊鏈技術(shù)及應(yīng)用
- 智能控制:理論基礎(chǔ)、算法設(shè)計與應(yīng)用
- AI新個體:用DeepSeek重塑一人公司
- Python3智能數(shù)據(jù)分析快速入門
- AI效率手冊:從ChatGPT開啟高效能
- 人機(jī)大戰(zhàn)
- MLOps工程實(shí)踐:工具、技術(shù)與企業(yè)級應(yīng)用
- 寫好論文:思維模型與AI輔助應(yīng)用
- 駕馭ChatGPT:學(xué)會使用提示詞
- 人工智能的神話或悲歌