ROS
[ROS Beginner實作] Creating a ROS Package 創建ROS套件包
一、catkin套件包由什麼組成
滿足以下條件,才能讓 package(套件包)被 catkin 編譯 :
1. package.xml:
提供關於此套件的主要資訊
2. CMakeLists.txt:
提供關於此套件的編譯規則3. 擁有獨立的folder資料夾:
意味著不附屬於其他資料夾,也不會有多個資料夾共用此資料夾。
架構顯示如下:
圖片來源:CreatingPackage
二、在 catkin 工作空間中的 套件包
架構呈現如下圖:
三、創建一個 catkin 套件包
1.進入到你所創建工作空間的 src 路徑
2.輸入以下規則的指令catkin_create_pkg [套件包名稱] [相依套件1] [相依套件2] ... [相依套件N]創建套件包
舉例如下>>
catkin_create_pkg beginner_tutorials std_msgs rospy roscpp
套件包名稱 : beginner_tutorials
相依套件1 : std_msgs
相依套件2 : rosp
相依套件3 : roscpp
指令正確輸入後,你會成功看到 beginner_tutorials 的套件包已經建立了。
進入 beginner_tutorials,你會看到該路徑已經有 CmakeLists.txt (編譯規則)、package.xml (套件包資訊)、src (code的所在位置)。
四、編譯該套件包並更新工作空間的環境變量
1.進到 工作空間 那層,並輸入catkin_make的指令進行編譯
2.輸入指令" . ~/catkin_ws/devel/setup.bash " 或 " source ~/catkin_ws/devel/setup.bash " 更新環境變量
五、關於相依套件
查詢主要相依套件的指令 rospack depends1 [套件名稱]
以剛建立的beginner_tutorials為例,你會看到你剛輸入的相依套件名稱 (rospy、roscpp、std_msgs)
同時,這些相依套件會存在 package.xml,你可以進入到想查看套件包(此處以beginner_tutorials為例)輸入指令 cat package.xml 來檢視 package.xml。
進入到 package.xml後,果然看到 rospy、roscpp、std_msgs。
如果要進一步查看 相依套件中的相依套件,可輸入指令 rospack depends1 [相依套件名稱] ,我們以 roscpp 為例。你看到的畫面如下圖。
如果你要看到所有相依套件,包含相依套件中的相依套件。輸入以下指令 rospack depends [套件包名稱] 。
六、客製化專屬套件包的 package.xml
在package.xml的文件中,要更新關於該套件包的描述,比方說該套件有什麼功能之類的。接下來要更新維護者的資訊,包含名字與聯繫方式(如email)。接下來要填入授權的資訊,如BSD。再填入該套件所需的相依套件,如roscpp等。
1.description tag
關於此套件包的介紹
2.maintainer tags
相依套件的資訊
簡單來看,最後 package.xml 大概會和下圖所似。
圖片來源 : CreatingPackage
---
參考資料 :
#ROS #catkin_make #CreatePackage #license #roscpp #rospy #std_msgs
0 留言