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?
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.
00C_CaseStudy_VietNam_ThoiSu.md — neo ý 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.
00B_QuyUoc_TrucQuan.md — quy ước hình (Hình nhanh / Kỳ vọng demo / Nhớ một câu).
06_CauChuyen_va_Framework_PhatTrien.md — câu chuyện 5 hồi + sườn T0–T4.
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:
- Mô tả stack tự chủ của UAV: dynamics → control → planning → estimation → vision → decision (RL).
- Đặt policy RL đúng tầng (waypoint / velocity / attitude), không còn nói mơ hồ “policy điều khiển drone”.
- Xây baseline cổ điển trung thực: LQR/PID, RRT+tracking, EKF/VIO — để so với RL.
- 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):
- Tại sao cần? (ngữ cảnh)
- So với cái khác?
- Giải quyết vấn đề gì và như thế nào?
- Kết quả ra sao?
- Ưu điểm — nên dùng cho loại bài toán nào?
- 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.md → Lectures/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)
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.
Ebook Robotics · RL–UAV
EBOOK: Nền tảng Robotics cho Nghiên cứu RL–UAV
Mục lục & cách học
Chế độ Slide · phím ← → · F toàn màn · Esc về đọc · S mở slide
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
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:
- Mô tả stack tự chủ của UAV: dynamics → control → planning → estimation → vision → decision (RL).
- Đặt policy RL đúng tầng (waypoint / velocity / attitude), không còn nói mơ hồ “policy điều khiển drone”.
- Xây baseline cổ điển trung thực: LQR/PID, RRT+tracking, EKF/VIO — để so với RL.
- 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. 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):
- Tại sao cần? (ngữ cảnh)
- So với cái khác?
- Giải quyết vấn đề gì và như thế nào?
- Kết quả ra sao?
- Ưu điểm — nên dùng cho loại bài toán nào?
- 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.md → Lectures/Lec01_Robotics_la_gi.md.
2. Cấu trúc file
2.2. Sườn phát triển nghiên cứu (bám suốt quá trình NCS)
2. Cấu trúc file
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. 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. Thuật ngữ và ký hiệu thống nhất
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. Thuật ngữ và ký hiệu thống nhất
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.