這套課程在教什麼、不教什麼
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 指令列基礎:
cd、ls、sudo apt install這類操作,課程不會從頭解釋。 - 機器人學理論的完整推導:運動學、控制理論等數學細節,本站在 /tutorials/kinematics 與 /tutorials/control 有獨立的教學分類,這裡只會在跟 ROS2 串接時(例如 MoveIt2 的 IK 設定)提到需要知道的部分。
先備知識
| 項目 | 需要的程度 |
|---|---|
| Python 基礎 | 會寫函式、class、能看懂簡單的錯誤訊息 |
| Linux 指令列 | 熟悉基本操作(cd、ls、環境變數) |
| Git(選讀) | 部分章節會用 git clone 取得範例,會基本操作即可 |
學習地圖
shell
第 0 章:課程總覽(你在這)
│
第 1 章:ROS2 基礎與環境建置 ─┐
第 2 章:核心通訊機制 ├─ 共同基礎,建議依序讀完
第 3 章:開發工具與除錯 │
第 4 章:機器人建模與座標系統 ─┘
│
第 5 章:模擬環境(Gazebo)
│
├── 第 6 章:導航(Nav2)──────────┐
├── 第 7 章:機械手臂(MoveIt2)───┼─ 三條支線,依需求選讀
└── 第 8 章:感知與 AI 整合 ───────┘
│
第 9 章:系統設計與最佳實踐
第 10 章:部署與進階主題
│
收尾專案:打造一台自主導航機器人
讀完第 1-5 章之後,你已經能讓一台機器人在模擬環境裡動起來;讀完任一條支線之後,你就能針對自己的專案(導航、手臂操作、或感知)繼續深入;讀到收尾專案時,你會把前面學到的東西串成一個完整、可展示的成果。
跟其他資源的差異
ROS2 官方文件是最終權威來源,但編排上是以「功能參考」為主,不是「學習路徑」。這套課程不會取代官方文件——每篇文章的延伸閱讀都會視情況連到官方文件的對應章節——而是幫你把這些功能,按照實際開發一台機器人的順序串起來,並且在每個節點提醒你「常見的坑在哪裡」。
延伸閱讀
常見問題
- 我完全沒寫過 Python,可以直接學這套課程嗎?
- 建議先具備基本的 Python 語法(變數、函式、class)。這套課程不會教程式語言本身,但每個範例都會完整附上程式碼,照著打一遍也能邊學邊補基礎。
- 一定要照順序讀完嗎?
- 第 1-4 章是共同基礎,建議照順序讀。第 6-8 章(導航/操作/感知)是三條互相獨立的支線,可以只挑自己需要的主題讀,不用三條都讀完才能進入第 9-10 章。
- 這套課程用的 ROS2 版本會不會太新,跟我環境不一樣?
- 本課程以 ROS2 Lyrical Luth(2026 年 5 月發布的 LTS,支援 Ubuntu 26.04)為主要示範版本。如果你還在用 Jazzy Jalisco 或 Kilted Kaiju,環境設置章節會另外註明版本差異,其餘章節的核心概念與 API 基本通用。
faq_01.log
faq_02.log
faq_03.log