環境建置

此章節講述如何在電腦安裝Linux ubuntu系統,以及Robot Operating System(ROS).

選擇ubuntu映像檔下載

在網路上搜尋ubuntu可能會跳出許多衍生版,像是 ubuntu-mate , ubuntu-gnome, 或者 Linux Mint,雖然這些版本的kernel都相同,在系統上的參數會有些許不同,再之後使用ROS時可能會遇到因版本不同,在安裝設定上會需要修改,所以對於初學者建議下載下面提供的版本。

燒錄usb開機碟

如果映像檔下載完成後,首先點選 Rufus 連結下載此軟體並準備一顆大於映像檔大小的隨身碟,然後開啟軟體後會看到以下畫面,依照軟體畫面從上而下,首先裝置只要有USB連接都會顯示出來,資料分割方式,系統及單元大小則按照圖中的設定就可。

_images/usb_0.jpg

再來則是點選圖中紅框的光碟機,請選擇前面下載好的映像檔後,然後執行

_images/usb_1.jpg

如果跳出以下這張圖,請選擇ISO,然後ok繼續。

_images/usb_2.jpg

安裝ubuntu

按照前面燒錄好隨身碟後,請重開機進入BIOS,選擇隨身碟開機之後,選擇’開啟不安裝’進入

安裝ubuntu 簡易的流程如連結的步驟雷同,按照流程安裝即可

警告

需要注意的事,假設使用者的電腦本身就已經有了windows系統且要保留windows系統,那麼在選擇安裝類型時,一定要選擇保留原系統的選項,否則選錯,資料會全部被格式化

更新ubuntu及安裝ROS

安裝好後,先更新ubuntu和安裝c/c++編譯器:

$ sudo apt-get update && sudo apt-get upgrade
$ sudo apt-get install build-essential

之後透過 『VSCode』 下載deb安裝包,下載後點選安裝開啟程式,點選左下角齒輪,開啟延伸模組在搜尋欄搜尋ROS,安裝圖下圖的模組

_images/vscode_extention.png

安裝ROS請進入此 『Ros-wiki』 ,因為這裡所安裝的ubuntu版本為ubuntu xenial(16.04),對應到ROS的版本為Kinetic,所以請點選Kinetic進入安裝教程,下面大概列出會用到的指令:

$ sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
$ sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116
$       sudo apt-get update
$ sudo apt-get install ros-kinetic-desktop-full
$ sudo rosdep init
$ rosdep update

備註

至於依照網站1.6部份,指令如下,在做加入環境變數的步驟,如果有做此步驟就不用,每次開新的終端機(terminal)就要在呼叫一次:

$ echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc

建立ROS WorkSpace

當在建置一個機器人的系統可能有許多感知、導航、控制等程式,這幾個都是分別開發、測試,最後在整合。 所以首先建立一個環境,當在這環境下編譯,只會編譯在這環境下的專案,在ROS下,稱為workspace。 首先建立一個存放工作空間的資料夾,可依照自己方便辨別的名稱,這裡我用dev來當存放工作空間的目錄,並建立一個名稱為 ros_tutorial_ws 的工作空間:

$ mkdir -p ~/dev/ros_turtorial_ws/src

建立好資料夾後,進入 src資料夾, 初始化工作空間:

$ catkin_init_workspace

再回到上一層 ros_tutorial_ws 資料夾, 做建置動作:

$ cd .. && catkin_make

備註

如果建制完成後,想到執行此工作空間下的可執行節點(Node),要做一次Source的動作,記得每重開一次終端機(terminal)都要做一次:

$ source ~/dev/ros_tutorial_ws/devel/setup.bash