--- tags : DIT 11th 教學 -- ROS --- {%hackmd BJrTq20hE %} # DAY 1 - ROS環境介紹與架設 ## <font color="orange"> 01. ROS介紹</font> ROS的全名是Robot Operating System,是一個為製作機器人所開發的軟體系統框架,雖然它的名子直翻是"機器人作業系統",但它並不是像Windows那樣的作業系統,ROS其實是安裝在Linux環境上的,作用像是作為機器人內各部分間溝通與操作的框架,讓你可以在其他機器人開發者的基礎上調用現成程式的工具,這樣我們就不用自己造輪子從頭做起。 至於ROS到底提供了那些功能呢? 簡單的說,ROS的功能是作為程式碼與系統之間的溝通媒介,功能主要包含以下幾個: 1. 硬體抽象 2. 底層設備控制 3. 常用涵式的調用 4. 程序(進程)間的消息傳遞 5. 套件管理 而在ROS官網,它將ROS的功能分成以下四點: 1. 框架 主要功能是提供一個訂定好的規範,方便我們管理所有的程式。 2. 套件 提供像是Rviz等可視化分析的開源工具。 4. 功能 提供可直接調用的基本函式庫。 6. 社群 如GitHub等網站可以找到許多其他人寫好的套件,通常都可以直接使用。 ## <font color="orange"> 02. 虛擬機</font> 上面有說到ROS是安裝在Linux作業系統,而非現在大多數人使用的Windows上,所以我們需要提供一個安裝Linux系統的平台,這裡我們使用的方法是安裝**虛擬機(Virtual Machine)**。 :::info 環境的選擇上還有其他方式,例如安裝**雙作業系統**或是**WSL(Windows Subsystem for Linux)**,但因為在虛擬機內的操作不會影響到主系統,對於初學者來說相對安全,所以這裡先教大家如何使用虛擬機。 ::: ### <font color='yellow'>1. 下載VMware虛擬機平台</font> - [VMware官網](https://www.vmware.com/tw/products/workstation-player/workstation-player-evaluation.html) --- ![](https://i.imgur.com/qc159wv.png) ### <font color='yellow'> 2. 下載Ubuntu 20.04 Desktop映像檔</font> - [Ubuntu官網](https://releases.ubuntu.com/20.04.5/?_ga=2.57837423.456369234.1672653855-1006392852.1661434751) Ubuntu 是Linux的發行版,分為Desktop、Server、Core三種版本。 :::warning 這裡要注意安裝的版本是Ubuntu 20.04.5 Desktop (64-bit),而不是最新的Ubuntu 22.10,因為ROS的很多資源包都不支援22.04版本,所以這邊要特別注意喔! ::: ![](https://i.imgur.com/nvr7kuN.png) ### <font color='yellow'>3. 安裝 & 設定 VMware</font> <font color='pink'>Step 1. 安裝完後打開VMware,選擇創建新的虛擬機 </font> ![](https://i.imgur.com/5XR88am.png) --- <font color='pink'>Step 2. 選第三個,稍後再設定.iso檔 </font> ![](https://i.imgur.com/oAGuEYH.png) --- <font color='pink'>Step 3. Linux, Ubuntu 64-bit</font> ![](https://i.imgur.com/KTi4Xxm.png) --- <font color='pink'>Step 4. 幫虛擬機取名、選擇存取位置(通常維持預設就好)</font> ![](https://i.imgur.com/VaAr85k.png) --- <font color='pink'>Step 5. 分配磁碟空間給虛擬機(至少要20GB)</font> ![](https://i.imgur.com/Bilgm9S.png) --- <font color='pink'>Step 6. 點選finish</font> ![](https://i.imgur.com/0XXYfAK.png) --- <font color='pink'>Step 7. 編輯虛擬機設定</font> ![](https://i.imgur.com/AA3RvM4.png) --- <font color='pink'>Step 8. 配置記憶體(至少2GB)</font> ![](https://i.imgur.com/xhXiH1q.png) --- <font color='pink'>Step 9. 點擊CD/DVD,選擇剛剛下載的Ubuntu映像檔,然後按OK</font> ![](https://i.imgur.com/Odd84gW.png) --- <font color='pink'>Step 10. 執行虛擬機</font> ### <font color='yellow'>4. 安裝Ubuntu</font> <font color='pink'>Step 1. 選擇語言,然後按"Install Ubuntu" ( 建議選英文 )</font> ![](https://i.imgur.com/V87efaq.png) --- <font color='pink'>Step 2.</font> ![](https://i.imgur.com/SizLBHJ.png) --- <font color='pink'>Step 3. 方框的地方可選可不選</font> ![](https://i.imgur.com/rvFkSR4.png) --- <font color='pink'>Step 4. 虛擬機才可以選這個的選項,雙系統需要另外配置磁碟區</font> ![](https://i.imgur.com/SUA0RbJ.png) --- <font color='pink'>Step 5.選擇時區</font> ![](https://i.imgur.com/POGSyME.png) --- <font color='pink'>Step 6. 設定帳號密碼(密碼會常用到,可以設簡單點)</font> ![](https://i.imgur.com/9l9LL13.png) --- <font color='pink'>Step 7. 進入Ubuntu後,調整螢幕大小到適合的尺寸(解析度)</font> ![](https://i.imgur.com/hiZDhTw.png) ### <font color='yellow'>5. 安裝ROS</font> :::info 使用ctrl + alt + t 開啟終端機,在終端機中使用複製快捷鍵是ctrl + shift + c,貼上是ctrl + shift + v ::: <font color='pink'>Step 1. Setup your sources.list</font> ```= sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list' ``` <font color='pink'>Step 2. Setup your keys</font> ```= sudo apt install curl curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add - ``` <font color='pink'>Step 3. Installation</font> ```= sudo apt update sudo apt install ros-noetic-desktop-full ``` <font color='pink'>Step 4. Environment setup</font> ```= echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc source ~/.bashrc ``` <font color='pink'>Step 5. Dependencies for building packages</font> ```= sudo apt install python3-rosdep python3-rosinstall python3-rosinstall-generator python3-wstool build-essential sudo apt install python3-rosdep sudo rosdep init rosdep update ``` <font color='pink'>Step 6. 安裝完後輸入roscore檢查是否安裝正確,按 ctrl + c 可停止運行</font> ![](https://i.imgur.com/DyO9F9F.png) ### <font color='yellow'>6. 介紹&安裝 IDE</font> <font color='pink'>1. VScode(最好用)</font> 通常會選擇用VScode來編輯程式, <font color='pink'>2. Vim & Nano</font> * Vim <font color='lightblue'>優點 :</font> (1). 功能多、模式多、可以純靠鍵盤操作 (2). 開發速度快 ( 開啟速度、編輯速度比其他 IDE 快) (3). 指令精準 <font color='lightblue'>缺點 : </font> (1). 對初學者不友善、學習曲線陡峭 * Nano <font color='lightblue'>優點 : </font> (1). 簡單好上手 <font color='lightblue'>缺點 :</font> (1). 功能較簡單 <font color='pink'>3. 記事本</font> 就是記事本( .txt ),單純打程式用的,功能簡單。 ==下面介紹如何在 Ubuntu 中安裝 VScode :== <font color='pink'>Step 1. 打開應用程式,找到 "Ubuntu Software"</font> ![](https://i.imgur.com/FY9ZD55.png) <font color='pink'>Step 2. 搜尋"vscode"並安裝</font> ![](https://i.imgur.com/VkLfUWX.png) :::info 之後要開啟VScode的話,只要在終端機輸入 `code` 就可以了! ![](https://i.imgur.com/v3CHYFM.png) ::: ### <font color='yellow'>7.結語</font> 恭喜大家,到這邊就完成ROS環境的設置了!