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
此檔案主要配置以下幾個方面:
1、find_package( )
2、如果需要執行python節點,需要去除此處註釋
3、動態引數的使用說明
4、接下來是編譯依賴性
如果包含一些標頭檔案,需要將INCLUDE_DIRS去除註釋
若有需要的包,則第二項需要去除註釋;
CATKIN_DEPENDS總是需要的
最後是一些系統依賴項;
5、之後是關於message、services、和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/路徑下.
六、編寫並測試釋出器和訂閱器、服務端和客戶端
參考官網教程