catkin 是 ros 目前使用的編譯系統,一般會包括四個目錄空間: src, build, devel, install
建立工作空間:
$ mkdir -p catkin_ws/src
$ cd catkin_ws/src/
$ catkin_init_workspace
編譯工作空間:
$ cd
../$ catkin_make
發現 catkin_make 找到的預設 python 版本是2.7,但是現在 python3 使用的比較多,而且 python3 不相容 python2,所以這個問題先留著之後看看需不需要解決
catkin_make 的輸出資訊如下:
-- using cmake_prefix_path: /home/vito/tutorial_ws/devel;/opt/ros/kinetic
-- this workspace overlays: /home/vito/tutorial_ws/devel;/opt/ros/kinetic
-- found pythoninterp: /usr/bin/python2 (found suitable version "2.7.12", minimum required is "2"
) -- using python_executable: /usr/bin/python2
-- using debian python package layout
-- using empy: /usr/bin/empy
-- using catkin_enable_testing: on
-- call enable_testing(
)-- using catkin_test_results_dir: /home/vito/documents/catkin_ws/build/test_results
-- found gmock sources under '/usr/src/gmock'
: gmock will be built
-- found pythoninterp: /usr/bin/python2 (found version "2.7.12"
) -- looking for pthread.h
-- looking for pthread.h - found
設定環境變數
$ source devel/setup.bash
$ echo
$ros_package_path
/home/vito/documents/catkin_ws/src:/home/vito/tutorial_ws/src:/opt/ros/kinetic/share
檢視環境變數,可以發現,ros 功能包路徑包含了現在新增的以及之前新增的,只對當前終端有效,要想每次開啟終端有效,需要將路徑新增進 .bashrc
建立功能包
catkin_ws/src$ catkin_create_pkg learning_communication std_msgs rospy roscpp
同一路徑下只能有唯一的工作空間名稱,但是不同的工作空間卻可以有相同的功能包,ros找功能包時,path中位於前面的工作空間先被查詢
roslaunch 能同時執行乙個包裡的多個程式, rosrun 只能執行包裡的乙個程式
ros學習筆記(三)
需求 設計標頭檔案,可執行檔案本身作為原始檔。流程 編寫標頭檔案 編寫可執行檔案 同時也是原始檔 編輯配置檔案並執行。在功能包下的 include 功能包名 目錄下新建標頭檔案 hello.h,示例內容如下 ifndef hello h define hello h namespace hello ...
ROS學習筆記 三 ROS關鍵元件
介紹 描述一組節點及其話題重對映和引數的xml檔案 功能 實現多節點的配置和啟動 包括ros master的啟動 免去手動rosrun逐個啟動node的重複步驟 by xml檔案方式 launch檔案 基本格式 標籤 name node name 為節點指派名稱,這將會覆蓋掉ros init 定義的...
ROS學習筆記(三) 編譯ROS程式包
contents 編譯程式包 使用 catkin make 開始編譯你的程式包 一旦安裝了所需的系統依賴項,我們就可以開始編譯剛才建立的程式包了。注意 如果你是通過apt或者其它軟體包管理工具來安裝ros的,那麼系統已經預設安裝好所有依賴項。記得事先source你的環境配置 setup 檔案,在ub...