這篇安裝流程是根據我自己經驗寫的,使用不同作業系統和不同的 ROS 版本可能會有些許差異,也可以參考官方的安裝說明。
因為 ROS 與 Linux 系統相容性最好,本篇會以 Ubuntu 20.04 LTS 這個 Linux 發行版本來示範安裝。
如果不是用 Linux 系統,也可以選擇使用虛擬機器或是灌雙系統,前者運行上效能會稍微差一點,通訊也比較容易中斷,而後者則是做法很麻煩。
在 ROS 官方網站可以看到目前最新的版本。ROS 官方習慣使用某種烏龜的學名來當作版本名稱,並按照字母順序排序,例如最新一版是 Noetic Ninjemys (一種史前巨型烏龜),而前一個版本是 Melodic Morenia(一種淡水烏龜)。但全名實在不好記,之後會直接簡稱 N 版或 M 版。
每一版的 ROS 支援的 Ubuntu 版本也不太一樣,前面提到的 N 版搭配的是 20.04 LTS 的 Ubuntu,而 M 版的則是搭配 18.04 LTS。可以到過去版本頁面找到過去版本的下載連結。
本篇將會以 N 版 ROS 說明。
設定 Ubuntu 儲存庫
在安裝 ROS 之前,需要先去設定 Ubuntu 的軟體來源。前往 Ubuntu 的設定頁面 Software & Updates 中,把開源(universe)、受限(restricted)和專有(multiverse)的下載設定勾選起來,這些選項允許系統從不同的儲存庫中下載軟體,這樣才能從網路中下載 ROS 需要的相關套件。
設定來源清單與密鑰
接下來,我們還需要設定 Ubuntu 的 sources.list
和導入 ROS 的密鑰。這些步驟會讓系統知道應該從哪裡下載 ROS 的安裝包,並且確保下載的安裝包是可以信任、沒有被竄改過的。
在終端機執行以下指令:
$ 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 install curl
$ curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add - # 完成會顯示一個 OK
選擇安裝選項
ROS 提供了多種安裝選項,包含 Desktop-Full(建議選項)、Desktop 和 ROS-Base,依序是包含所有常用套件和工具的完整版本,後面兩個則是精簡版。
$ sudo apt install ros-noetic-desktop-full # 建議選項
$ sudo apt install ros-noetic-desktop
$ sudo apt install ros-noetic-ros-base
如果安裝之後還需要額外的套件,可以使用以下指令搜尋和安裝:
$ sudo apt search ros-noetic
$ sudo apt install ros-noetic-PACKAGE_NAME
建構工具和相依關係
安裝完成 ROS 主程式後,我們還需要一些額外的工具來建立和管理 ROS 工作區(workspaces),以便管理 ROS 專案。
執行以下指令安裝這些工具:
$ sudo apt install python3-rosdep python3-rosinstall python3-rosinstall-generator python3-wstool build-essential python3-rospkg
設定環境變數
為了之後在終端機直接使用 ROS 指令,我們需要將 ROS 的環境變數加入到 .bashrc
這個啟動文件中。
執行以下指令:
$ echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
$ source ~/.bashrc
初始化 rosdep
再使用 ROS 工具之前,需要先初始化 rosdep
,這是確保 ROS 系統已準備好安裝和使用各種 ROS 套件。
輸入以下指令安裝並初始化 rosdep :
$ sudo rosdep init
$ rosdep update
測試系統
安裝完成後,在終端機輸入roscore
:
$ roscore
如果安裝成功,roscore
會啟動 ROS 的主節點,並顯示一系列啟動資訊,這代表你已經成功安裝並設定好了 ROS,可以開始開發你的 ROS 專案了。
順利安裝好 ROS 後,我們就可以用 ROS 來開發機器人專案了。
後面的幾篇文章將會陸續介紹怎麼用 Python 來寫簡單的 ROS 節點,並且讓這些節點可以互相通訊。