ROS學習筆記(三)

2021-10-01 22:49:27 字數 1783 閱讀 7342

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...