ROS程序包的創建和編譯

一般組織和編譯ROS應用程序有兩種方法:rosbuild和catkin:其中rosbuild簡單易於使用,但缺乏靈活性;catkin使用了更加標準的cmake規則,比較複雜和靈活,適合那些想整合外部現有代碼或想發佈自己代碼的人。
下面我們將介紹使用catkin的方法進行ROS程序包的創建及編譯。
一.創建一個catkin工作空間:
1.在當前用戶工作空間的目錄,新建如下文件夾,名字可以隨意取,一般教程都使用catkin_ws/src。
mkdir -p ~/catkin_ws/src
2.初始化catkin 工作空間:
cd ~/catkin_ws/src
catkin_init_workspace
此時src文件夾中會生成一個CMakeLists.txt文件。
3.“build” catkin工作空間,即使工作空間是空的,也可以編譯該工作空間:
cd ~/catkin_ws/
catkin_make
執行該命令後,catkin_ws文件夾下會生成build和devel兩個新的文件夾。其中,在devel文件夾中,你會發現有好幾個setup.sh文件,source這些文件中的任何一個都會使你創建的工作空間置於環境頂部。你可以使用 echo $ROS_PACKAGE_PATH來查看當前工作環境。
由於每次source比較麻煩,我們可以將這條命令配置進~/.bashrc中,如根據我的目錄,我需要在~/.bashrc中加入下面的語句:
source /home/ding/catkin_ws/devel/setup.bash
下面,你關閉當前終端,重新打開一個終端,輸入echo $ROS_PACKAGE_PATH,你會發現,你創建的工作空間出現在工作環境中。
二.創建一個新的程序包
1.首先切換到你創建的catkin工作空間的src目錄下:
cd ~/catkin_ws/src
2.用catkin_create_pkg命令創建一個新的程序包
catkin_create_pkg beginner_tutorials std_msgs rospy roscpp
該會創建一個名爲beginner_tutorials的文件夾,這個文件夾裏面包含一個package.xml文件和一個CMakeLists.txt文件,這兩個文件都已經自動包含了部分你在執行catkin_create_pkg命令時提供的信息。其中beginner_tutorials爲包名,std_mag,rospy,roscpp爲程序包依賴的程序包,可以用rospack depends命令來檢測出所有的依賴包。
三.編譯ROS程序包
1.切換到catkin workspace
cd ~/catkin_ws/
2.用catkin_make命令進行編譯
catkin_make

OK,現在我們已經成功的創建並編譯了一個ROS程序包。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章