EBOOK: Nền tảng Robotics cho Nghiên cứu RL–UAV

Mục lục & cách học

EBOOK: Nền tảng Robotics cho Nghiên cứu RL–UAV

Phiên bản: trực quan + neo Việt Nam + bản WEB (Đọc / Slide).
Mỗi lecture có Hình nhanh, hộp 🇻🇳, demo kỳ vọng, “Nhớ một câu”.
Xem bản HTML: web/dist/index.html — build: xem web/README.md.

Biên soạn theo khung chương trình Introduction to Robotics (Princeton, MAE 345 / ECE 345 / COS 346 — GS. Anirudha Majumdar).
Đây là bài giảng viết lại bằng lời người hướng dẫn để tự học — không phải bản sao slide/notes/video gốc.
Đối tượng: nghiên cứu sinh đã vững Reinforcement Learning, cần dựng lại nền tảng UAV / drone / robotics trước khi làm nghiên cứu sâu.

BẠN ĐANG Ở ĐÂU?
  Path-planning đa mục tiêu (năng lượng · độ phủ · quỹ đạo · gió)
  Đô thị + đồi chè · chưa sim động lực · chưa build
           │
           ▼ 00A (đối chiếu) → 00C (neo VN/thời sự) → 06 → Lectures
           │
KHÓA NÀY DẠY GÌ?
  Stack bay thật: Dynamics → Control → Plan → Estimate → Vision → RL đúng tầng
  trên sân khấu có địa chỉ: đồi chè · phố đặc · ĐBSCL · sau bão

0. Đọc gì trước?

  1. 00A_MoDau_NghienCuuCuaToi_vs_KhoaHoc.md — nghiên cứu của bạn đối chiếu với khóa; 3 gap; lộ trình 12 tuần.
  2. 00C_CaseStudy_VietNam_ThoiSu.mdneo ý nghĩa: 4 sân khấu VN + thời sự + 3 chuyện bảo vệ. Đọc như “phim ngắn” trước khi vào công thức.
  3. 00B_QuyUoc_TrucQuan.md — quy ước hình (Hình nhanh / Kỳ vọng demo / Nhớ một câu).
  4. 06_CauChuyen_va_Framework_PhatTrien.md — câu chuyện 5 hồi + sườn T0–T4.
  5. Lectures/README.md → học Lec01…23; mỗi bài có hộp 🇻🇳 — vui nhẹ, vẫn chặt khoa học.

1. Ebook này dùng để làm gì?

Sau khi học xong, bạn cần làm được bốn việc sau bằng ngôn ngữ kỹ thuật chuẩn:

  1. Mô tả stack tự chủ của UAV: dynamics → control → planning → estimation → vision → decision (RL).
  2. Đặt policy RL đúng tầng (waypoint / velocity / attitude), không còn nói mơ hồ “policy điều khiển drone”.
  3. Xây baseline cổ điển trung thực: LQR/PID, RRT+tracking, EKF/VIO — để so với RL.
  4. Viết MDP nghiên cứu với observation trung thực (\(z \neq x\)), reward có nguyên tắc, và tiêu chí generalization / safety.

Nếu mới chỉ biết RL trên Gym/MuJoCo mà chưa từng nghĩ tới underactuation, reality gap, hay Bayes filter — hãy đọc tuần tự từ Module 1.


2. Cấu trúc file

2.1. Lớp đọc chính — 23 lecture riêng (khuyên dùng khi học sâu)

Thư mục Lectures/ chứa từng Lecture 1–23 một file.

Khung đọc thống nhất mỗi bài (6 câu hỏi):

  1. Tại sao cần? (ngữ cảnh)
  2. So với cái khác?
  3. Giải quyết vấn đề gì và như thế nào?
  4. Kết quả ra sao?
  5. Ưu điểm — nên dùng cho loại bài toán nào?
  6. Nhược điểm — không nên dùng khi nào?

Lộ trình đọc theo 4 chương truyện + demo có chú thích chi tiết: xem Lectures/README.md.

Bắt đầu: Lectures/README.mdLectures/Lec01_Robotics_la_gi.md.

2.2. Sườn phát triển nghiên cứu (bám suốt quá trình NCS)

File Vai trò
00A_MoDau_… Đối chiếu nghiên cứu ↔ khóa; 3 gap; 7 ví dụ; lộ trình 12 tuần
00C_CaseStudy_… 4 sân khấu VN (chè · phố · đồng · bão) + thời sự + quy định + chuyện bảo vệ
00B_QuyUoc_TrucQuan.md Quy ước trực quan + checklist QA hình
06_CauChuyen_… Framework T0–T4, trục R1–R7, level L0–L4

2.3. Lớp tổng hợp theo module (ôn nhanh / tra cứu)

File Module Bài Chủ đề
01_Dynamics_Control.md 1 Lec 1–5 Dynamics, feedback, ổn định, PD, LQR
02_Motion_Planning.md 2 Lec 6–10 BFS/DFS, Dijkstra/A*, RRT, differential flatness, kinodynamic / MPC
03_Estimation_SLAM.md 3 Lec 11–16 Filter không xác định, Bayes, KF/PF, localization, mapping, SLAM
04_Vision_Learning.md 4 Lec 17–23 Camera, optical flow, deep learning, SGD, regularization, CNN, RL trong robotics
05_BroaderTopics_Capstone.md 5 Lec 24 + Capstone Law / ethics / economics + kiến trúc dự án RL–UAV + lộ trình làm việc

3. Cấu trúc mỗi bài giảng (thống nhất toàn sách)

Mỗi lecture = khung 6 câu + 5 lớp hình (chi tiết: 00B):

Thứ tự đọc Mục Mục đích
1 Khung 6 câu hỏi Neo “tại sao / so với / kết quả / ưu–nhược” trong 2 phút
2 🖼️ Hình nhanh Nhìn ASCII là hiểu cơ chế trước khi đọc toán
3 0–2. Mục tiêu · Trực giác · Cốt lõi Ngôn ngữ nói → công thức + sơ đồ V1
4 3. Demo + 🧪 Kỳ vọng Chạy code; biết trước sẽ thấy số gì
5 4–6. Gắn RL · Ưu/nhược · Lỗi Đưa vào nghiên cứu đa mục tiêu của bạn
6 7. Checklist · ⚡ Nhớ một câu · 🔗 Mang theo Khóa trí nhớ trước bài sau

Nhịp đề xuất (25–40 phút/bài): Hình nhanh → Trực giác → Demo → Cốt lõi → Checklist.
Đừng đọc hết công thức rồi mới chạy code.


4. Bản đồ tổng thể khóa học

                    BÀI TOÁN ROBOT TỰ CHỦ
                 Sense → Think → Act  (lặp theo thời gian thực)
                                │
     ┌──────────┬───────────────┼────────────────┬──────────────┐
     ▼          ▼               ▼                ▼              ▼
 Module 1   Module 2       Module 3          Module 4      Module 5
 Dynamics   Motion         Estimation /      Vision &      Law /
 & Control  Planning       Localization /    Learning      Ethics /
                           Mapping / SLAM                  Economics
     │          │               │                │
     │ giữ máy  │ chọn đường    │ biết mình      │ hiểu ảnh,
     │ không rơi│ không đụng    │ đang ở đâu     │ học hành vi
     └──────────┴───────┬───────┴────────────────┘
                        ▼
              Capstone: tích hợp đầy đủ
         (tránh vật cản bằng vision + điều khiển)

Vị trí của RL: Lecture 23, cuối cuối Module 4.
Thông điệp xuyên suốt ebook: RL là một lớp quyết định, đặt trên nền dynamics – control – estimation – perception — không phải thứ thay thế toàn bộ stack nếu bạn muốn bay thật.


5. Thuật ngữ và ký hiệu thống nhất

5.1. Bảng ký hiệu toán

Ký hiệu Tên gọi thống nhất trong sách Ghi chú
\(x\) state / trạng thái đủ để dự đoán tương lai nếu biết input
\(u\) control input (control) hoặc action (RL) cùng một vật, hai cộng đồng gọi khác tên
\(z\) observation / đo lường thường nhiễu và thiếu thông tin hơn \(x\)
\(\hat{x}\) ước lượng state đầu ra của estimator (EKF, PF, …)
\(\dot{x}=f(x,u)\) dynamics liên tục bản rời rạc: \(x_{t+1}=f(x_t,u_t)\)
\(\pi\) policy \(u=\pi(x)\) hoặc \(\pi(u\mid x)\)
\(J\), \(c(x,u)\) cost (cần minimize) control cổ điển
\(r\) reward (cần maximize) RL; thường \(r = -c\)
\(bel(x_t)\) belief phân phối về state khi không quan sát đầy đủ
\(K\) gain tuyến tính \(u=-Kx\) trong LQR / state feedback

5.2. Quy ước ngôn ngữ (tránh lẫn)

Nên dùng Tránh / ghi chú
open-loop / vòng hở “không feedback” (đúng nhưng kém chuẩn)
closed-loop / vòng kín / feedback
underactuated / thiếu cơ cấu dẫn động “thiếu động cơ” (không chính xác)
reality gap khoảng cách mô phỏng–thật
waypoint điểm dẫn đường; khác trajectory (quỹ đạo theo thời gian)
pose vị trí + hướng; với UAV thường \((x,y,z,\psi)\) hoặc đầy đủ attitude
cost (control) vs reward (RL) cùng bài toán, đổi dấu

Quy ước quan trọng: cộng đồng control tối thiểu hóa cost; cộng đồng RL tối đa hóa reward. LQR chính là trường hợp “RL có nghiệm đóng” khi dynamics tuyến tính và cost bậc hai.

5.3. Thuật ngữ UAV hay gặp

Thuật ngữ Nghĩa ngắn
Attitude hướng thân máy (roll, pitch, yaw hoặc quaternion)
Thrust tổng lực đẩy các motor
Hover trạng thái treo / bay lơ lửng gần cân bằng
Setpoint giá trị mong muốn gửi xuống bộ điều khiển tầng dưới
VIO Visual–Inertial Odometry (camera + IMU)
Companion computer máy tính phụ (Jetson/laptop) chạy mạng / planner

6. Lộ trình học đề xuất (người đã vững RL)

Tuần Việc làm Tiêu chí “xong tuần”
1 Module 1: đọc hết + chạy demo PD và LQR; chỉnh \(Q,R\) Giải thích được underactuation và \(u=-Kx\)
2 Module 2: tự gõ lại RRT 2D; đọc flatness ở mức trực giác Phân biệt đường “vẽ được” và đường “bay được”
3 Module 3: thuộc 2 phương trình Bayes; chạy demo KF Viết được vì sao \(z \neq x\) làm hỏng nhiều env RL
4 Module 4 (có thể lướt Lec 19–22 nếu đã vững DL) + Module 5 Hoàn thiện MDP task UAV + checklist Capstone

Nhịp học mỗi bài: Trực giác → Demo → Cốt lõi → RL–UAV → Checklist.
Đừng học kiểu “đọc hết công thức rồi mới chạy code”.


7. Tài liệu gốc để đối chiếu khi cần đào sâu

Nhu cầu Tài liệu
Dynamics / control Spong, Hutchinson, Vidyasagar — Robot Dynamics and Control
Planning / RRT LaValle — Planning Algorithms (PDF miễn phí)
Estimation / SLAM Thrun, Burgard, Fox — Probabilistic Robotics
Mobile robots tổng quan Siegwart, Nourbakhsh — Introduction to Autonomous Mobile Robots
Video bài giảng khung khóa YouTube: Introduction to Robotics @ Princeton
Quỹ đạo agile / min-snap Mellinger & Kumar; các bài drone racing

8. Môi trường chạy demo

pip install numpy scipy matplotlib

Mọi đoạn demo trong ebook đều độc lập: copy vào file .py rồi chạy. Không cần phần cứng Crazyflie để học lý thuyết.


9. Cam kết chất lượng sau vòng QA trực quan

  • Cùng khung 6 câu + 5 lớp hình ở mọi lecture (00B).
  • Thuật ngữ \(x,u,z,\hat{x}\) / cost–reward nhất quán (§5).
  • Mỗi bài có ASCII cơ chế, bảng ✅/❌, demo có kỳ vọng output, “Nhớ một câu”.
  • Mở đầu (00A) neo đúng bài toán đa mục tiêu của bạn trước khi vào khóa.
  • Framework (06) là sườn phát triển NCS — vừa học vừa điền.