跳轉到

1.Linux

1. OS (Operating System)

1-1. 作業系統選擇

目前實驗室機器人開發的作業系統主要會在:

  • Linux

    • ROS2
    • Unity
    • 深度學習 GPU 加速
  • Windows

    • Unity
    • 文書處理
我要使用哪種作業系統?
  • Windows 適合日常文書處理和部分專業軟體(如 Adobe 系列、MS Office 等),或搭配驅動程式快速測試相機、馬達運作等。
  • Linux 是開源作業系統,整體架構比 Windows 透明直觀,非常適合軟體開發或伺服器運行等。
    並且社群活躍、資源豐富,大部分機器人相關套件(如 ROS2)都以 Linux 為主要支援平台。

做機器人開發、深度學習或其他軟體工程為主,建議優先使用 Linux OS。

Checkpoint

理解 OS 和 Arch (架構) 的關係、差異。
並知道目前有名的產品是哪種架構,例如樹梅派、Jetson 系列電腦、一般桌機等等。


1-2. Linux & Ubuntu

Ubuntu 是基於 Linux 的發行版. (其他發行版有如 Debian, Fedora, Arch etc.)
Linux 是系統內核, 而 Ubuntu 是位於此之上層的操作系統,

建議使用發行版是社群廣大的 Ubuntu.
其中 Ubuntu 版本號代表發行年份, 例如 20.04, 22.04, 24.04 LTS 等等.

LTS 版本選擇

由於最新版通常不太穩定,ROS其他配套通常沒有那麼快跟上來。
因此我們通常會選用兩年前的LTS版本.


1-3. Linux 安裝

使用 Linux 有以下幾種途徑:

  • 雙系統(Dual Boot) (最推薦,實驗室成員必學)
    • 分割磁碟安裝系統,建議至少留 50GB 分區給 Linux OS 使用.
    • 優點: 原生 OS,效能最佳,無相容性問題.
    • 缺點: 安裝流程較繁瑣,切換系統須重開機.
  • WSL(Windows Subsystem for Linux) (適合測試用)
    • 介紹、安裝方法請參閱 WSL 官方網站.
    • 優點: 安裝簡單,快速開發.
    • 缺點: CPU 和記憶體消耗大, USB 直通、GPU 調用等須特別處理.
  • 虛擬機(Virtual Machine) (不推薦)
    • 使用傳統虛擬機如 VMWare, VirtualBox.
    • 缺點: 效能低,已經被 Docker 取代.

Linux OS 語言選擇

Linux 語言請務必使用 English,必須習慣看原文!
一方面讀英文是基本能力,另一方面是比較好從 error log 去找到資源。

灌系統時可能遇到的錯誤
  • Problem 1: 沒有 Wi-Fi Icon,無法使用 Wi-Fi

    可能是因為 Linux does not support MEDIATEK Network Card in default.
    請參閱 How to install Realtek WLAN driver mt7921 in Ubuntu 22.04?

    注意重開機時要先關機,跑 sudo shutdown now 而非 sudo reboot.

  • Problem 2. Change Kernel (if needed)

    Use ubuntu tool mainline kernels.

Checkpoint

灌雙系統(優先)或安裝 WSL,進入 Ubuntu 24.04 環境。


2. Linux 基礎

2-1. 終端機指令

參考影片: 快速linux指令教學(mac, windows, ubuntu...等等適用)|工程師必備技能

Checkpoint

  1. 熟悉 Terminal 操作
  2. 熟悉 file navigation,能僅用終端機指令去導覽、創建或刪除自訂的資料夾。

2-2. apt 資源包管理工具

參考文章:Ubuntu APT 指令更新、升級、移除、安裝套件教學

apt 是 Ubuntu 最常用的工具之一,用來管理下載的資源。

Checkpoint

  1. 熟悉使用 apt 安裝、移除、更新 package
  2. 安裝必要套件後,並輸入 xclock 去測試 Linux 圖形顯示功能正常與否。

3. 實用工具

接下來,開始安裝 Linux 開發的必要工具。

3-1. 開發工具

  • SSH: sudo apt install ssh openssh-server

    • SSH 教學放在後面,先安裝就好。
  • Terminator : sudo apt install terminator.

    Checkpoint

    學習 terminator 常用的 hotkeys。

  • Git: sudo apt install git.

    • Git 教學放在後面,先安裝就好。

Checkpoint

安裝完成以上套件,並透過指令檢查 SSH 及 Git 的安裝版本。


3-2. GPU 驅動 & Docker

  • Docker

    • Follow the apt installation steps from official website.

      Checkpoint

      若有 “docker daemon permission denied” 錯誤, 解決並理解原因.

  • Nvidia driver (有 nvidia GPU 就安裝)

    • 安裝指令

      sudo apt update
      sudo ubuntu-drivers list # check the compatible driver version
      sudo apt install -y nvidia-driver-5xx #change 5xx to 535, 550, 555 …
      sudo reboot
      

      Checkpoint

      測試指令 nvidia-smi,檢查安裝成功與否.

  • Nvidia Docker toolkit (有 nvidia GPU 就安裝)

    • Follow the apt installation on official website.

      Checkpoint

      測試指令 sudo docker run --rm --runtime=nvidia --gpus all ubuntu nvidia-smi
      若遇到問題,解決並理解原因。

還不懂 Docker 用途沒關係,教學會放在後面。
但必須先解決安裝的問題。