這套課程在教什麼、不教什麼

2026-07-18
  • ros2
  • course-overview
  • learning-path

這套課程要解決什麼問題

網路上 ROS2 的資源其實不少:官方文件、YouTube 教學、零散的部落格文章。但這些資源常見的問題是——要嘴嘛只有片段的指令沒有情境,要嘛是把官方文件逐段翻譯一遍,讀完還是不知道「這些東西串起來到底是怎麼運作的」。

這套課程的目標,是讓你讀完之後能真的動手把一台機器人從零組起來、跑起來、除錯到能用,而不是只認識名詞。每一篇文章都遵守一個規則:只要提到指令或程式碼,就一定附上「跑完會看到什麼」的實際輸出,讓你可以對照自己的環境確認有沒有做對。

這套課程「教」什麼

  • ROS2 的核心通訊機制:節點、主題、服務、動作、參數——這五個概念是所有 ROS2 系統的地基。
  • 開發與除錯的日常工具rqt、CLI 指令、rosbag2、launch 檔案,這些是你每天寫 ROS2 專案都會用到的東西。
  • 機器人建模與座標系統:URDF、Xacro、TF2,讓你能正確描述一台機器人並追蹤它每個部件的座標關係。
  • 三條實務應用支線:導航(Nav2)、機械手臂操作(MoveIt2)、感知與 AI 整合,依你的專案需求選讀。
  • 系統設計與部署:Lifecycle Node、QoS、測試、多機器人系統、容器化部署、即時系統、安全性——這些是「玩具專案」跟「能上線的系統」之間的差距。

這套課程「不教」什麼

  • Python/C++ 語法本身:課程假設你已經會寫基本的 Python(有些進階範例會用到 C++,但不是必要路徑)。
  • Linux 指令列基礎cdlssudo apt install 這類操作,課程不會從頭解釋。
  • 機器人學理論的完整推導:運動學、控制理論等數學細節,本站在 /tutorials/kinematics/tutorials/control 有獨立的教學分類,這裡只會在跟 ROS2 串接時(例如 MoveIt2 的 IK 設定)提到需要知道的部分。

先備知識

項目需要的程度
Python 基礎會寫函式、class、能看懂簡單的錯誤訊息
Linux 指令列熟悉基本操作(cdls、環境變數)
Git(選讀)部分章節會用 git clone 取得範例,會基本操作即可

學習地圖

shell
第 0 章:課程總覽(你在這)
    │
第 1 章:ROS2 基礎與環境建置 ─┐
第 2 章:核心通訊機制         ├─ 共同基礎,建議依序讀完
第 3 章:開發工具與除錯       │
第 4 章:機器人建模與座標系統 ─┘
    │
第 5 章:模擬環境(Gazebo)
    │
    ├── 第 6 章:導航(Nav2)──────────┐
    ├── 第 7 章:機械手臂(MoveIt2)───┼─ 三條支線,依需求選讀
    └── 第 8 章:感知與 AI 整合 ───────┘
    │
第 9 章:系統設計與最佳實踐
第 10 章:部署與進階主題
    │
收尾專案:打造一台自主導航機器人

讀完第 1-5 章之後,你已經能讓一台機器人在模擬環境裡動起來;讀完任一條支線之後,你就能針對自己的專案(導航、手臂操作、或感知)繼續深入;讀到收尾專案時,你會把前面學到的東西串成一個完整、可展示的成果。

跟其他資源的差異

ROS2 官方文件是最終權威來源,但編排上是以「功能參考」為主,不是「學習路徑」。這套課程不會取代官方文件——每篇文章的延伸閱讀都會視情況連到官方文件的對應章節——而是幫你把這些功能,按照實際開發一台機器人的順序串起來,並且在每個節點提醒你「常見的坑在哪裡」。

延伸閱讀

常見問題

faq_01.log
我完全沒寫過 Python,可以直接學這套課程嗎?
建議先具備基本的 Python 語法(變數、函式、class)。這套課程不會教程式語言本身,但每個範例都會完整附上程式碼,照著打一遍也能邊學邊補基礎。
faq_02.log
一定要照順序讀完嗎?
第 1-4 章是共同基礎,建議照順序讀。第 6-8 章(導航/操作/感知)是三條互相獨立的支線,可以只挑自己需要的主題讀,不用三條都讀完才能進入第 9-10 章。
faq_03.log
這套課程用的 ROS2 版本會不會太新,跟我環境不一樣?
本課程以 ROS2 Lyrical Luth(2026 年 5 月發布的 LTS,支援 Ubuntu 26.04)為主要示範版本。如果你還在用 Jazzy Jalisco 或 Kilted Kaiju,環境設置章節會另外註明版本差異,其餘章節的核心概念與 API 基本通用。