天天看點

ROS 學習筆記(2)—— 建立ROS工作空間 & 功能包簡介1、工作空間2、功能包3、程式設計實作

建立ROS工作空間 & 功能包簡介

  • 1、工作空間
  • 2、功能包
    • 2.1、簡介
    • 2.2、檔案結構
  • 3、程式設計實作

1、工作空間

工作空間 (workspace) 是一個存放工程開發相關檔案的檔案夾。一個工作空間裡通常包含四個檔案夾:

src:代碼空間 (Source Space)

build:編譯空間 (Build Space)

devel:開發空間 (Development Space)

install:安裝空間 (Install Space)

2、功能包

2.1、簡介

功能包,又稱為 package,指的是一種特定的檔案結構和檔案夾組合。通常将實作同一個具體功能的程式代碼放到一個package中,比如實作相機資料采集這一功能。

2.2、檔案結構

  • CMakeLists.txt: 定義package的包名、依賴、源檔案、目标檔案等編譯規則,是package不可少的成分;
  • package.xml:描述package的包名、版本号、作者、依賴等資訊,是package不可少的成分 ;
  • src:存放ROS的源代碼,包括C++的源碼和(.cpp)以及Python的module(.py) ;
  • include:存放C++源碼對應的頭檔案 ;
  • scripts:存放可執行腳本,例如shell腳本(.sh)、Python腳本(.py) ;
  • msg:存放自定義格式的消息(.msg) ;
  • srv:存放自定義格式的服務(.srv) ;
  • models:存放機器人或仿真場景的3D模型(.sda, .stl, .dae等) ;
  • urdf:存放機器人的模型描述(.urdf或.xacro) ;
  • launch:存放launch檔案(.launch或.xml)

    通常ROS檔案組織都是按照以上的形式,這是約定俗成的命名習慣,建議遵守。以上路徑中,隻有 CMakeLists.txt 和 package.xml 是必須的,其餘路徑根據軟體包是否需要來決定。

3、程式設計實作

以下所用到的指令解釋清檢視我的另一篇文章《ROS常用指令》。

mkdir catkin_ws
cd catkin_ws/
mkdir src
cd src/
catkin_init_workspace
cd ~/catkin_ws/
catkin_make
source devel/setup.bash
           

繼續閱讀