ROS下建立工作空間以及編譯一個包

在ROS層面上編寫軟件,需要有相關的工作空間(workspace)。

生成工作控件並不複雜,首先,我們打開一個控制檯(Ctrl+Alt+T),在用戶路徑下信件一個文件夾,我們起名爲LearnROS(也可以起一個自己喜歡的名字)。

然後在這個文件夾中再建立一個文件夾,我們命名爲src;完成後,進入src工作路徑,輸catkin_init_workspace指令初始化工作控件,這會在src文件夾中生成CMakeList。

然後我們進入主路徑,在沒有任何代碼的條件下catkin_make一下,觀察現象:

完整的操作的指令如下:

mkdir LearnROS
cd LearnROS/
mkdir src
cd src
catkin_init_workspace
cd ..
catkin_make
cd src


完成這些操作後,我們發現,在LearnROS路徑下生成了3個文件夾:build,devel和src。

build文件夾存放了Makefile文件,是catkin自動生成的編譯配置文件

devel路徑下存放了生成的可執行文件,也就是ROS運行的節點文件(類似於windows下的exe),在沒有源代碼的情況下,它是空的。

src中存放了我們創作的源文件和頭文件,我們所有的代碼也都是在src這個文件夾中完成的。


接下來,我們在ROS中拷入一個完整的軟件包,編譯看看:

首先,在github網站上隨便找一個導航包:https://github.com/ros-planning/navigation

控制檯中輸入:git clone https://github.com/ros-planning/navigation,就可以將navigation包複製到src路徑下。

當然,也可以用我精簡的導航包,package的數量被精簡爲4個,包含了移植後的A*算法,這個編譯起來會快很多。


切換到LearnROS目錄下,輸入:catkin_make,等待編譯。編譯過程中可能會提示缺少SDL_image包的錯誤,大家可以自己想解決方案,如果無法解決可以在評論區留言。

等待幾分鐘,編譯完成!

打開devel/lib/文件夾,發現生成了可執行文件,也就是node節點文件,這就說明編譯成功了!

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