![《鴻蒙機(jī)器人編程》課件-5-創(chuàng)建工作空間_第1頁](http://file4.renrendoc.com/view12/M05/33/3D/wKhkGWdxOqSAMtWwAACpLUY6keM923.jpg)
![《鴻蒙機(jī)器人編程》課件-5-創(chuàng)建工作空間_第2頁](http://file4.renrendoc.com/view12/M05/33/3D/wKhkGWdxOqSAMtWwAACpLUY6keM9232.jpg)
![《鴻蒙機(jī)器人編程》課件-5-創(chuàng)建工作空間_第3頁](http://file4.renrendoc.com/view12/M05/33/3D/wKhkGWdxOqSAMtWwAACpLUY6keM9233.jpg)
![《鴻蒙機(jī)器人編程》課件-5-創(chuàng)建工作空間_第4頁](http://file4.renrendoc.com/view12/M05/33/3D/wKhkGWdxOqSAMtWwAACpLUY6keM9234.jpg)
![《鴻蒙機(jī)器人編程》課件-5-創(chuàng)建工作空間_第5頁](http://file4.renrendoc.com/view12/M05/33/3D/wKhkGWdxOqSAMtWwAACpLUY6keM9235.jpg)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
創(chuàng)建工作空間課程介紹課程目的:理解工作空間及功能包掌握工作空間創(chuàng)建方法掌握功能包創(chuàng)建方法所需基礎(chǔ):具備UbuntuLinux基礎(chǔ)知識2?NXROBO2022課程內(nèi)容ROS的編譯構(gòu)建系統(tǒng)簡介ROS編程的一般流程工作空間的創(chuàng)建及其結(jié)構(gòu)介紹多個工作空間的覆蓋(overlay)功能包的創(chuàng)建及其結(jié)構(gòu)介紹package.xml和Cmakelists.txt文件規(guī)則3?NXROBO2022ROS的編譯構(gòu)建系統(tǒng)Catkin:官方推薦的ROS編譯構(gòu)建系統(tǒng),是原ROS編譯構(gòu)建系統(tǒng)rosbuild的繼承者。catkin通過綜合CMake宏和Python腳本在CMake正常工作流程之前實現(xiàn)一些功能操作。(Drypackages)Rosbuild:過時的編譯構(gòu)建系統(tǒng),不建議使用。但目前官方還在支持以保證早期功能包工作。(Wetpackages)4?NXROBO2022回顧:ROS的文件系統(tǒng)(catkin)5?NXROBO2022創(chuàng)建工程空間創(chuàng)建自己的ROS包在包目錄下創(chuàng)建***.cpp或.py源代碼文件若*.cpp,則修改CMakeLists.txt文件編譯ROS編程的一般流程√本課講解√本課講解6?NXROBO2022Catkin工作空間創(chuàng)建設(shè)置環(huán)境變量創(chuàng)建命令構(gòu)建$source/opt/ros/noetic/setup.bash$mkdir-p~/catkin_ws/src
$cd~/catkin_ws/src&catkin_init_workspace$cd~/catkin_ws/
$catkin_make7?NXROBO2022Catkin工作空間結(jié)構(gòu)8?NXROBO2022Catkin工作空間結(jié)構(gòu)源碼空間src存放功能包的所有源碼文件,編譯構(gòu)建時就從這個目錄尋找功能包。其CMakeLists.txt檔,鏈接到\opt\ros\distro\catkin\cmake\toplevel.cmake文件。構(gòu)建空間build存放編譯構(gòu)建過程中的中間檔。開發(fā)空間devel存構(gòu)建好的可執(zhí)行程序和運行庫,可由CATKIN_DEVEL_PREFIX變量重新設(shè)定,但目錄的選擇要求必須滿足子目錄沒有功能包。安裝空間install是功能包的安裝目錄,可由CATKIN_INSALL_PREFIX變量重新設(shè)定。因為新建工作空間,所以默認(rèn)的install目錄并未創(chuàng)建,執(zhí)行以下命令創(chuàng)建。9$catkin_makeinstall?NXROBO2022環(huán)境變量設(shè)置通過setup.xxxshell腳本引入在~/.bashrc文件中添加source命令環(huán)境變量查看$source/opt/ros/noetic/setup.bash$env|grepros10?NXROBO2022工作空間的overlayROS環(huán)境變量11?NXROBO2022Catkin工作空間overlayOverlayROS系統(tǒng)目錄$source/opt/ros/noetic/setup.bash
$env|grepros
$mkdir-p~/catkin_ws/src
$cd~/catkin_ws/src;catkin_init_workspace
$cd~/catkin_ws;catkin_make
$source~/catkin_ws/devel/setup.bash
$env|grepros12?NXROBO2022Catkin工作空間overlay13?NXROBO2022Catkin工作空間overlayCatkin工作區(qū)之間overlay$mkdir-p~/catkin_ws_2/src
$cd~/catkin_ws_2/src;catkin_init_workspace
$cd~/catkin_ws_2;catkin_make
$source~/catkin_ws_2/devel/setup.bash
$env|grepros14?NXROBO2022Catkin工作空間overlay15?NXROBO2022創(chuàng)建ROS功能包catkin_create_pkg命令行工具創(chuàng)建新的功能包:此命令的格式包括功能包的名稱和依賴項;通常依賴項包括std_msgs、rospy和roscpp。功能包命名規(guī)則:只允許使用小寫字母、數(shù)字和底線;首字符必須是小寫字母示例:16$cd~/catkin_ws/src$catkin_create_pkg[package_name][depend1][depend2][depend3]?NXROBO2022$cd~/catkin_ws/src$catkin_create_pkgbeginner_tutorialsstd_msgsrospyroscpp創(chuàng)建Catkin功能包17?NXROBO2022Catkin功能包配置文件package.xml,范本文件:/usr/lib/python3/dist-packages/catkin_pkg/templates/package.xml.inCMakeLists.txt,范本文件:/usr/lib/python3/dist-packages/catkin_pkg/templates/CMakeLists.txt.in18?NXROBO2022package.xml主要內(nèi)容描述性數(shù)據(jù)(如功能包的簡介、維護(hù)者)功能包的元信息(如作者、網(wǎng)站)打包發(fā)行信息(如功能包版本)依賴的ROS功能包或系統(tǒng)軟件包19?NXROBO2022Package.xml規(guī)則——基本信息標(biāo)簽必填標(biāo)簽:<name>:功能包名;<version>:版本號,以d.d.d的格式,d表示整數(shù);<description>:功能包特性簡介;<maintainer>:功能包發(fā)布者信息;<license>遵循的版權(quán)協(xié)議名如下??蛇x標(biāo)簽<url>:功能包的網(wǎng)址信息,主要有功能包相關(guān)主頁,開源項目地址等;<author>:功能包的作者信息,可以有多個。20?NXROBO2022Package.xml規(guī)則——依賴關(guān)系標(biāo)簽編譯構(gòu)建依賴:<build_depend>,指定構(gòu)建此功能包需要的軟件包。構(gòu)建匯出依賴:<build_export_depend>,指定此功能包構(gòu)建庫文件需要的軟件包。執(zhí)行依賴:<exec_depend>,指定此功能包運行時需要的軟件包。測試依賴:<test_depend>,指定單元測試需要的附加依賴。構(gòu)建工具依賴:<buildtool_depend>,指定這個包需要構(gòu)建的工具。文檔工具依賴:<doc_depend>,指定了這個包生成文檔的需要文檔生成工具。21?NXROBO2022CMakelists樣例22?NXROBO2022Catkin功能包規(guī)則必須包含package.xml文件;必須包含CMakeLists.txt文件;功能包之間不允許嵌套23?NXROBO2022一個有用的包管理工具:rosdeprosdep安裝rosdep初始化及更新$sudoaptinstallpython3-rosdep$sudorosdepinit
$rosdepupdate24?NXROBO2022rosdep用法rosdepcheck檢查功能包的系統(tǒng)依賴是否安裝rosdepinstall如果系統(tǒng)依賴未安裝則生成bash腳本并執(zhí)行以安裝功能包的系統(tǒng)依賴rosdepkeys列出功能包的系統(tǒng)依賴的key值rosdepresolve根據(jù)key轉(zhuǎn)換出系統(tǒng)依賴rosdep的主要用途是安裝工作空間中ros包的依賴,首先切換到工作空間下,然后運行下述命令即可安裝該工作空間的所有依賴,具體命令如下:rosdepinstall--from-pathssrc
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 出租保安用品合同范例
- 雇主責(zé)任險保險合同范本
- 住建部 電子合同范本
- 利潤核算合同范例
- 鳳崗有機(jī)蔬菜配送合同范例
- 養(yǎng)殖工人聘請合同范例
- 2025年度地下綜合管廊施工勞務(wù)承包合同
- 位檢測合同范本
- 出售農(nóng)場平房合同范例
- 2025年庭院燈具項目可行性研究報告
- 醫(yī)美注射類知識培訓(xùn)課件
- 2024年全國統(tǒng)一高考英語試卷(新課標(biāo)Ⅰ卷)含答案
- 2024年認(rèn)證行業(yè)法律法規(guī)及認(rèn)證基礎(chǔ)知識 CCAA年度確認(rèn) 試題與答案
- 2022屆“一本、二本臨界生”動員大會(2023.5)
- 耐壓絕緣硅橡膠涂料噴涂作業(yè)指導(dǎo)書
- 小學(xué)《體育與健康》 人教版 三年級 乒乓球運動 -乒乓球介紹與球性教學(xué) 第一節(jié)課PPT 課件
- 急性心梗的護(hù)理業(yè)務(wù)學(xué)習(xí)課件
- 導(dǎo)向標(biāo)識系統(tǒng)設(shè)計(二)課件
- 聚焦:如何推進(jìn)教育治理體系和治理能力現(xiàn)代化
- 化工儀表自動化【第四章】自動控制儀表
- 安全生產(chǎn)十大法則及安全管理十大定律
評論
0/150
提交評論