1. 程式人生 > >ROS基礎學習筆記——工作空間、CMakeList、package.xml

ROS基礎學習筆記——工作空間、CMakeList、package.xml

ROS學習筆記(一)

東南大學   zscseu

一、如何建立一個catkin工作空間

  如下步驟:

source/opt/ros/indigo/setup.bash

mkdir-p ~/catkin_ws/src

cd~/catkin_ws/src

catkin_init_workspace

cd~/catkin_ws

catkin_make

sourcedebel/setup.bash

echo$ROS_PACKAGE_PATH

/home/aicrobo/catkin_ws/src:/opt/ros/indigo/share:/opt/ros/indigo/stacks

$cdcatkin_ws/src

catkin_create_pkg beginner std_msgs rospy roscpp

二、關於package.xml


三、關於CMakeList.txt

此檔案主要配置以下幾個方面:

1find_package( )


2、如果需要執行python節點,需要去除此處註釋


3、動態引數的使用說明


4、接下來是編譯依賴性


如果包含一些標頭檔案,需要將INCLUDE_DIRS去除註釋

若有需要的包,則第二項需要去除註釋;

CATKIN_DEPENDS總是需要的

最後是一些系統依賴項;


5、之後是關於messageservices、和action的說明


6、關於自己寫的CPP檔案


7、其餘參照建立package時自動產生的CMakeList.txt

的提示就可以了。

總體而言,此檔案格式比較靈活,對於初學者可能比較亂,自己寫幾次之後就漸漸明白了。我一開始也是感覺很亂,後面慢慢就熟悉了。

四、使用msg

在程式包的根目錄下建立msg資料夾,在此資料夾下建立xxx.msg檔案即可;

五、使用srv

在在程式包的根目錄下建立srv資料夾,在此資料夾下建立xxx.srv檔案即可;格式如下


上面是請求,下面是響應。

所有在msg路徑下的.msg檔案都將轉換為ROS所支援語言的原始碼。生成的C++標頭檔案將會放置在~/catkin_ws/devel/include/beginner/Python指令碼語言會在 ~/catkin_ws/devel/lib/python2.7/dist-packages/beginner/msg

目錄下建立。

Lisp檔案會出現在~/catkin_ws/devel/share/common-lisp/ros/beginner/msg/路徑下.

六、編寫並測試釋出器和訂閱器、服務端和客戶端

參考官網教程