catkin工作空間 (重點)
建立乙個 catkin 工作空間:
$ mkdir -p ~/catkin_ws/src # 建立了第二層級的資料夾src,這是放ros軟體包的地方
$ cd ~/catkin_ws/src # 進入工作空間,catkin_make必須在工作空間這個路徑上執行
$ catkin_init_workspace # 初始化src目錄,生成的cmakelists.txt為功能包編譯配置
$ cd ~/catkin_ws # 回到工作空間,catkin_make必須在工作空間下執行;
$ catkin_make # 開始編譯,呼叫系統自動完成編譯和鏈結過程,構建生成目標檔案
注意:catkin編譯之前需要回到工作空間目錄,catkin_make
在其他路徑下編譯不會成功。
==編譯完成後,如果有新的目標檔案產生(原來沒有),那麼一般緊跟著要source重新整理環境,使得系統能夠找到剛才編譯生成的ros可執行檔案。==這個細節比較容易遺漏,致使後面出現可執行檔案無法開啟等錯誤。
catkin_make
命令也有一些可選引數,例如:
catkin_make [args]
-h, --help 幫助資訊
-c directory, --directory directory
工作空間的路徑 (預設為 '.'
) --source source src的路徑 (預設為'workspace_base/src'
) --build build build的路徑 (預設為'workspace_base/build'
) --use-ninja 用ninja取代make
--use-nmake 用nmake取'make
--force-cmake 強制cmake,即使已經cmake過
--no-color 禁止彩色輸出(只對catkin_make和cmake生效)
--pkg pkg [pkg ...] 只對某個pkg進行make
--only-pkg-with-deps only_pkg_with_deps [only_pkg_with_deps ...]
將指定的package列入白名單catkin_whitelist_packages,
之編譯白名單裡的package。該環境變數存在於cmakecache.txt。
--cmake-args [cmake_args [cmake_args ...]
] 傳給cmake的引數
--make-args [make_args [make_args ...]
] 傳給make的引數
--override-build-tool-check
用來覆蓋由於不同編譯工具產生的錯誤
注意,對於 python 3 使用者,在乙個空的 catkin 工作空間中第一次執行 catkin_make的命令應為:
$ catkin_make -dpython_executable=/usr/bin/python3
這將會配置 catkin_make 使用 python 3.你可以在隨後的構建中只使用catkin_make
。
另外,如果你檢視一下當前目錄應該能看到 『build』 和 『devel』 這兩個資料夾。在 『devel』 資料夾裡面你可以看到幾個setup.*sh
檔案。source
這些檔案中的任何乙個都可以將當前工作空間設定在ros工作環境的最頂層。接下來首先source
一下新生成的setup.*sh
檔案:
$ source devel/setup.bash # 重新整理壞境
要想保證工作空間已配置正確,需確保ros_package_path
環境變數包含你的工作空間目錄,採用以下命令檢視:
$ echo
$ros_package_path
# 出現 /home//catkin_ws/src:/opt/ros/kinetic/share
到此你的工作環境已經搭建完成。
建立好了乙個ros的工作空間了,接下來就是在catkin_ws工作空間下的src目錄下新建功能包並進行功能包程式。
ROS中catkin工作空間的建立步驟
一 構建catkin工作空間 安裝完成ros版本後,設定好環境變數,即可建立乙個catkin工作空間 source opt ros kinetic setup.bash1.建立catkin工作空間所在的資料夾,如上的 catkin ws。在所建立的工作空間資料夾中,建立子資料夾 src mkdir ...
ROS檔案系統 catkin工作空間及程式包
1.檔案系統概念,包含兩部分 1 packages 軟體包,是ros應用程式 的組織單元,每個軟體包都可以包含程式庫 可執行檔案 指令碼或者其它手動建立的東西。2 manifest package.xml 清單,是對軟體包相關資訊的描述,用於定義軟體包相關元資訊之間的依賴關係,這些資訊包括版本 維護...
建立ROS的catkin工作區
mkdir p catkin ws src cd catkin ws catkin make sudo gedit bashrc在.bashrc檔案中新增 source catkin ws devel setup.bash echo ros package path我的執行結果如下 記錄乙個疑惑 在...