學習輕鬆應用 ROS 機器人作業系統的技術 – ROS 安裝教學

輕鬆應用 ROS 機器人作業系統的技術 – ROS 1.0 安裝教學

上一篇文章我們簡略地介紹了 ROS 系統,相信大家對於 ROS 系統已經有了初步的概念。接下來我們將開始正式踏入 ROS 的世界囉 !

擁有良好的開發環境,將可以讓你把時間專注在研究與開發的問題上。因此,如何建立一個不會一天到晚產生問題的開發環境,是相當重要的。本篇文章將會詳細的告訴你,如何自行安裝 ROS系統囉 !

我們將安裝的步驟大致上分成下列 4個大項:

1. 安裝 ROS前的準備

2. 安裝虛擬機器

3. 在虛擬機器上安裝 Ubuntu 作業系統與ROS 系統

4. 安裝 Ubuntu 作業系統好用的套件

一、安裝ROS 前的準備

在此步驟我們要了解的是:ROS系統版本的選擇與實體電腦硬體配置

● ROS 系統版本的選擇

ROS發行至今已經有將近 10年的時間,每一年 ROS都會釋放出一個新版本,在此我們將選擇 「Kinetic」版本來進行操作。

ROS 系統 版本分布清單
ROS 系統版本分布清單

ROS系統每個版本的操作方法基本上大同小異。

最大的差異之處在於:使用ROS相關功能時,所需要的依賴(Dependence)套件不同。

在這裡舉個例子:

Indigo 版本中,使用到影像處理的依賴套件 「OpenCV」,是python的 2.x版本;但在 Kinetic 版本中,「OpenCV」 使用的版本卻是python的 3.x版本。因此,如果使用 Kinetic版本進行機器人研究與開發的話,將有部分OpenCV 功能是沒有辦法在 Indigo 版本裡使用的。

而我們選擇「Kinetic」版本的原因為: EOL(End-Of-Life)時間較久與穩定性高

EOL:根據上圖的「ROS 版本分布清單」,可以發現 「Kinetic」版本的 EOL為 2021年4月。

穩定性高:「Kinetic」版本已發布2年半的時間,相較於「Melodic」版本短短的半年時間,穩定性會來得較高一些。

選擇好 ROS的安裝版本為 「Kinetic」版本後,接下來我們要選擇與ROS相容性最好的作業系統 – Ubuntu作業系統的版本。

Ubuntu 作業系統版本分布清單
Ubuntu 作業系統版本分布清單

根據上面 ROS版本分布清單與 Ubuntu版本分布清單,眼尖的你應該會發現到一件有趣的事情:ROS 系統的版本其實是跟隨 Ubuntu作業系統版本的腳步。因此,當決定好 ROS系統版本時,例如我們選擇的 「Kinetic」版本,查看一下發布時間(2016年5月)與EOL時間(2021年4月),便可以快速地找到我們想要安裝的 Ubuntu作業系統版本 – Ubuntu 16.04 LTS

● 硬體配置

選擇好 ROS – Kinetic版本與 Ubuntu 16.04 LTS 版本後,接下來我們將要開始審視一下我們的電腦硬體配置是否能夠成功安裝與使用。畢竟我們將在電腦上安裝虛擬機器,這將會嚴重地占用到的電腦的硬體資源。

建議的電腦硬體規格
建議的電腦硬體規格

上圖列出的電腦規格,是小編測試過可以正常執行 ROS系統的硬體最低規格。若是所使用的電腦硬體規格比上圖所列出的規格更低,在操作 ROS系統上可能會非常容易產生延遲的現象,需要多加注意。

二、安裝虛擬機器

我們將需要在電腦上安裝 Ubuntu 作業系統後,才能夠在 Ubuntu作業系統上安裝 ROS系統。然而我們大家都已經習慣 Windows的作業系統了,因此若是將自己的電腦重灌換成 Ubuntu 作業系統,想必大家心裡一定也是千百個不願意。因此,我們將使用「虛擬機器」,讓自己的電腦除了可以保留原先習慣的 Windows 作業系統,也可以安裝 Ubuntu 作業系統來操作 ROS系統。

使用虛擬機器安裝 ROS系統 所需要的各個系統階層示意圖
使用虛擬機器安裝 ROS系統 所需要的各個系統階層示意圖

順便告訴大家,雖然微軟( MicroSoft ) 已在今年 9 月底的 2018 機器人作業系統開發者大會(ROSCon 2018)上,宣布將機器人作業系統(ROS)正式引入 Windows 10,但釋放出的版本是為測試版本,因此其穩定性將有待檢測。

虛擬機器目前已經有各式各樣的軟體在網路上流傳,在本篇文章中,我們將採用 VirtualBox 」(下載連結)作為虛擬機器的安裝軟體。

需要注意的是,安裝的 VirtualBox擴充包需與Virtualbox主程式版本相同( 請盡量選擇 5.x版本,6.x版本有部分機種經測試會有執行上的問題 )。

下圖將以 2018年 11月27日的下載網頁截圖為例:

須注意主程式與擴充包版本是否相同
須注意主程式與擴充包版本是否相同

擴充包 ( Extension Pack )的目的是為了讓虛擬機器能夠使用實體電腦的 USB、HDMI、Ethernet等接口設備。

將上述兩個檔案下載並安裝好後,虛擬機器的安裝就大功告成囉!

這樣我們就能夠在不更動實體電腦的作業系統下,額外安裝我們所需要的 Ubuntu 16.04 LTS作業系統了。

三、安裝 Ubuntu 作業系統 與 ROS系統

終於來到最重要的安裝步驟了!!但在安裝Ubuntu 作業系統與 ROS系統之前,我們還需要先配置好關於虛擬機器的硬體裝置。

● 虛擬機器硬體配置

本篇文章將此次的虛擬機器專案命名為「ros_tutorial」,詳細的操作步驟可參考下方的步驟說明:

新增虛擬機器
新增虛擬機器

在配置虛擬機器的硬體時,只需要抓住幾個要點就可以了:

1. 作業系統記得選對,類型 Linux 系統 → 版本Ubuntu (64位元)

2. 記憶體 (RAM) 大小僅需實體電腦中的 1/3 大小即可,若是將過多記憶體分配給虛擬機器,有可能會造成實體電腦跑不動其餘任何軟體

3. 硬碟空間配置請考量到自身的使用需求,建議預設 20 GB以上空間給予虛擬機器

接著,我們就可以開始安裝 Ubuntu 16.04 LTS作業系統了 !

● 在虛擬機器上安裝 Ubuntu 16.04 LTS 作業系統

安裝前請先下載 Ubuntu 16.04 LTS的映象檔

下圖截圖的時間為 2018年11月27日:

Ubuntu映象檔下載網頁截圖
Ubuntu映象檔下載網頁截圖

下載好 Ubuntu 16.04 LTS 映象檔後,便可以讓虛擬機器掛載

詳細操作步驟可參考下方的步驟說明:

掛載映象檔
掛載映象檔

映象檔掛載完成後,便可以啟動剛才新增的 「ros_tutorial」專案,接著便會進入 Ubuntu 16.04 LTS的安裝畫面。

Ubuntu 16.04 LTS 安裝畫面
Ubuntu 16.04 LTS 安裝畫面

這裡需要特別注意的是,請盡量安裝 「English」語言。除了練英文之外,後面在安裝與操作ROS系統時也較不會發生問題。確認好語言後,便可以點選右方的 「Install Ubuntu」按鈕,

開始安裝囉~!

在安裝時,也會有多種選項供使用者選擇,一樣把握住下列的重點就可以了:

1. 第三方軟體請記得安裝,這樣後續在使用 Ubuntu 作業系統時將不必再度找尋相對應的軟體

安裝第三方軟體選擇畫面
安裝第三方軟體選擇畫面

2. 安裝時會詢問是否移除掉原有的作業系統,請放心選擇 「Erase disk and install Ubuntu」選項,因這裡的原有作業系統指的是虛擬機器裡的作業系統,而不是實體電腦裡的 Windows 作業系統。

詢問是否移除原有系統並安裝 Ubuntu
詢問是否移除原有系統並安裝 Ubuntu

3. 時區請確認好是否為目前所在地的時區。因為 ROS系統中的座標系統 TF,會依照機器的時間來判斷目前座標位置。

時區選擇畫面
時區選擇畫面

4. 使用者選項部分,「computer’s name」與「username」越簡短越好; 另外請記得一定要勾選 「Log in automatically」,否則後續還需要花費更多時間修改此項設定。

設定使用者選項畫面
設定使用者選項畫面

5. 安裝完成後,請記得卸載 Ubuntu 16.04 LTS 映象檔,否則會造成啟動虛擬機器時,又再度跑回 Ubuntu 16.04 LTS 安裝畫面。

卸載映象檔
卸載映象檔

安裝到現在,是不是有點累了呢? 再撐一下!!我們快要安裝完啦~~!!

● 安裝ROS系統

經歷了一番波折,我們終於來到了最後的安裝步驟。

安裝 ROS系統本身其實非常的簡單,小編在這裡提供兩種方法:

第一種:參考 Ubuntu install of ROS Kinetic網頁

照著上列網頁的指令,一步一步的往下照做就可以了。需要注意的是請記得安裝「Desktop-Full Install」(桌面完整安裝)版本,這樣將來使用 ROS系統開發機器人時,開發環境才不會東缺西缺的。

第二種:使用小編幫大家準備好的腳本安裝

當初小編在安裝 ROS系統的時候,有感於指令實在是太多了,於是動手寫了個安裝腳本,讓 Ubuntu 系統可以自動安裝 ROS系統!!小編有將腳本檔案放在 github上了喔~!

在上述的 github 網址裡,找尋到 「ros_kinetic_install.sh」的檔案後,

已經會使用 Linux 的夥伴可以直接將這個腳本拿過去使用;

不太會Linux 的夥伴,可以依照下列的說明步驟將檔案利用 git 下載後,再進行安裝。

i. 先下載並安裝 git 套件( 版本控制器套件 ): 來到Ubuntu 16.04 LTS 作業系統,先按下鍵盤的 「Ctrl + Alt + T」 開啟終端機後

輸入 「 sudo apt-get install git 」

git套件安裝
git套件安裝

ii. 接著利用 git 下載 「turtlebot3_burger 」 資料夾:請在終端機輸入 「git clone https://github.com/kjoelovelife/turtlebot3_burger.git

下載turtlebot3_burger資料夾
下載turtlebot3_burger資料夾

iii. 讀取腳本檔案,開始安裝 ROS系統

請先在終端機輸入 「cd ~/ turtlebot3_burger」 切換目錄後,再輸入「source ros_kinetic_install.sh」便會開始自動安裝 ROS-kinetic 版本囉 ! 安裝時間將會依照網路速度與實體電腦效能而定,因 ROS系統的安裝是先從網路下載壓縮檔後,Ubuntu 系統再解壓縮安裝。

若是安裝時間過久,途中仍會需要要求輸入密碼,請特別注意。

安裝ROS系統

安裝ROS系統

iv. 測試 ROS系統

請直接在終端機輸入「roscore」,若是沒有出現任何紅字,

便代表 ROS系統已經安裝完成,並且可以正常執行囉!

想要停止ROS系統的話,按下 「Ctrl + C 」就可以囉!

測試ROS系統

測試ROS系統

終於 !!! 我們將 ROS系統安裝完成囉~~

四、安裝 Ubuntu 作業系統好用的套件

最後,小編來介紹一下在之後操作 ROS系統中,比較常用,也好用的套件吧!!

  • gedit 文字編輯器

安裝指令: sudo apt-get install gedit

gedit 文字編輯器使用畫面

gedit 文字編輯器使用畫面

  • vim 文字編輯器

安裝指令: sudo apt-get install vim

vim 文字編輯器使用畫面

vim 文字編輯器使用畫面

  • SSH 遠端連線伺服器

安裝指令: sudo apt-get install ssh

SSH 遠端連線伺服器使用畫面

SSH 遠端連線伺服器使用畫面

  • git 版本控制器

安裝指令: sudo apt-get install git

git 下載資料夾的畫面

git 下載資料夾的畫面

最後,抱著愉悅的心情,準備輕鬆地踏入使用ROS的世界囉~!!!

下一篇文章將會教大家如何使用 ROS系統,與其餘電腦溝通,操控別人的小烏龜 ( ROS官方教學中的 Package:turtlesim ) 實現遠端控制喔!!

Turtlesim 操作畫面

Turtlesim 操作畫面