Ebook Robotics · RL–UAV
Câu chuyện xuyên suốt + Framework phát triển RL–UAV
06 · Framework phát triển
Chế độ Slide · phím ← → · F toàn màn · Esc về đọc · S mở slide
06 · Framework phát triển
Đây là sườn bám chính của toàn ebook.
Đọc file này trước khi nhảy vào 23 lecture. Mỗi lần mở rộng nghiên cứu, quay lại điền/ cập nhật các ô trống ở Phần B–D.Nếu chưa đọc:
00A_…đối chiếu nghiên cứu;00C_…neo 4 sân khấu VN + thời sự (điền T0 bằng sân A/B sẽ sống động hơn nhiều).
Quy ước hình:00B_QuyUoc_TrucQuan.md— Hình nhanh / Kỳ vọng demo / Nhớ một câu.
T0 Problem ──► T1 System stack ──► T2 RL/MDP ──► T3 Metric/paper
│ │ │ │
└──────── L0 → L1 → L2 → L3 → L4 (leo dần realism) ┘
Bạn không học 23 thuật toán rời. Bạn đang dựng một câu trả lời duy nhất:
Làm sao để UAV tự hoàn thành nhiệm vụ trong thế giới nhiễu,
khi RL chỉ là một lớp quyết định đặt đúng chỗ trên stack robotics?
Hồi 0 BÀI TOÁN
UAV phải Sense → Think → Act theo thời gian thực.
Sai = rơi / đụng; thông tin không đủ; model không hoàn hảo.
│
▼
Hồi 1 ĐỨNG ĐƯỢC ĐÃ (Chương A · Lec 1–5)
Hiểu f(x,u) → đóng vòng feedback → ổn định PD → LQR tối ưu tuyến tính.
Cổng: máy bám/hover được trong mô hình (có baseline control).
│
▼
Hồi 2 ĐI ĐƯỢC, BAY NỔI (Chương B · Lec 6–10)
C-space → đường tối ưu lưới → RRT liên tục → flatness/min-snap → kinodynamic/MPC.
Cổng: có path khả thi + cách so RL với planner/MPC.
│
▼
Hồi 3 BIẾT MÌNH Ở ĐÂU (Chương C · Lec 11–16)
Belief → Bayes → KF/PF → loc / map / SLAM.
Cổng: thừa nhận z ≠ x; obs cho RL phải trung thực hơn privileged state.
│
▼
Hồi 4 NHÌN THẤY & HỌC HÀNH VI (Chương D · Lec 17–23)
Camera → flow → DL/CNN → (SGD/overfit) → RL đặt lên stack.
Cổng: MDP nghiên cứu đủ tầng action/obs/reward + baseline + eval.
│
▼
Hồi 5 RA NGOÀI LAB (Module 5)
Safety / ethics / limitations + kiến trúc dự án + metric.
Cổng: biết claim tới đâu; có fail-safe; có sườn paper.
Mỗi khối ebook sinh ra một thứ bạn sẽ dùng lại khi làm RL–UAV:
| Hồi | Khối kiến thức | Sinh ra gì cho nghiên cứu? |
|---|---|---|
| 1 | Dynamics & Control | Env tối thiểu, action bound, baseline LQR/PID, residual |
| 2 | Planning | Baseline path, cost map, demo IL, so với MPC |
| 3 | Estimation | Obs \(\hat{x}/z\), noise model, sim-to-real kiểu drift |
| 4 | Vision & Learning | Encoder ảnh/flow, domain gap, chỗ cắm RL |
| 5 | Broader + Capstone | Safety layer, metric, limitation, lộ trình paper |
Tưởng tượng task: từ điểm S tới goal G, tránh vật cản, camera onboard.
[1] Dynamics bảo: nghiêng mới bay ngang; action phải khả thi.
[2] Control (LQR/PID) giữ thân khỏi rơi / bám setpoint.
[3] Estimator (EKF/VIO) nói "mình khoảng ở đây" — không phải GT.
[4] Vision (flow/detect) nói "phía trước có ống / mục tiêu".
[5] Planner hoặc Policy chọn đi trái/phải/tiến.
[6] Safety có thể ghi đè nếu sắp đụng.
[7] Lặp lại 50–100 lần/giây.
RL chỉ thay [5] (và đôi khi một phần [4]).
Nếu bạn chưa có [1][2] ổn, train [5] là xây nhà trên cát.
Nếu trả lời mơ hồ — chưa sẵn sàng train lớn / viết paper.
| Mục đích | Đọc |
|---|---|
| Hiểu câu chuyện tổng | File này · Phần A (bạn đang đọc) |
| Học từng khối | Lectures/README.md → Lec 01…23 (khung 6 câu) |
| Ôn nhanh theo module | 01…05 |
| Phát triển nghiên cứu | File này · Phần B–D (framework bên dưới) |
Framework có 4 trụ. Bạn điền dần; mỗi trụ map sang chương ebook.
┌─────────────────────────────┐
│ T0. BÀI TOÁN & PHẠM VI │ (chọn task + claim)
└──────────────┬──────────────┘
│
┌─────────────────────────┼─────────────────────────┐
▼ ▼ ▼
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ T1. HỆ THỐNG │ │ T2. HỌC (RL) │ │ T3. ĐÁNH GIÁ │
│ stack robotics │ │ MDP + thuật toán│ │ metric + paper │
│ A+B+C+vision │ │ + safety │ │ + limitation │
└────────┬────────┘ └────────┬────────┘ └────────┬────────┘
│ │ │
└───────────────────────┴───────────────────────┘
│
▼
┌─────────────────────────────┐
│ T4. LỘ TRÌNH TĂNG CẤP │
│ L0 → L1 → L2 → L3 → L4 │
└─────────────────────────────┘
Tên task (1 dòng):
................................................................
Môi trường: [ ] sim thuần [ ] sim→lab [ ] outdoor
Ràng buộc cứng: (vật cản / gió / pin / no-fly) ........................
Thành công khi: ........................................................
Thất bại khi: ..........................................................
Claim bạn MUỐN chứng minh (1 câu):
................................................................
Claim bạn CỐ Ý KHÔNG chứng minh (limitations):
................................................................
| Mã | Trục nghiên cứu có thể phát triển | Ebook nền | Gợi ý đóng góp |
|---|---|---|---|
| R1 | Placement — đặt RL đúng tầng + residual/cascade | A (1–5), D23 | so tầng A/B/C; residual trên LQR |
| R2 | Obs trung thực — học với \(z\)/VIO/ảnh, không GT | C (11–16), D17–19 | noise, delay, belief/RNN |
| R3 | Hybrid plan↔RL — oracle RRT/MPC vs amortized policy | B (6–10), D23 | IL từ RRT; RL vs MPC latency |
| R4 | Perception-for-control — flow/CNN phục vụ né/bám | D17–22 | feature vs end-to-end |
| R5 | Generalization — map/gió/mass held-out | D21, A2 | domain rand; invariant |
| R6 | Safety — shield/CBF/fail-safe + đo intervention | A5, M5 | safe RL; filter action |
| R7 | Sample efficiency / model-based — học \(f\) hoặc MPC-in-loop | A2, B10, D20 | MBRL; Dyna-style |
Quy tắc: một paper/NCS phase chỉ bám một R chính. Đừng làm cả 7 cùng lúc.
Trục chính của tôi kỳ này: R___
Trục phụ (nếu có): R___
Đây là checklist kỹ thuật. Đánh dấu mức độ: Chưa / Có sim / Có số liệu / Có baseline paper.
| Hạng mục | Trạng thái | Ghi chú ngắn |
|---|---|---|
| Env tối thiểu (double integrator hoặc planar quadrotor) | ||
| Action bound khớp motor/thrust-to-weight | ||
| Baseline PID hoặc LQR hover/track | ||
| Hiểu underactuation → chọn tầng action | ||
| (Tuỳ chọn) residual slot: \(u=-Kx+a\) |
Có thể phát triển tiếp: domain rand mass/latency; so LQR vs soft-actor trên cùng \(Q,R\)-style reward.
| Hạng mục | Trạng thái | Ghi chú |
|---|---|---|
| C-space / phạt va chạm nhất quán kích thước robot | ||
| Baseline RRT hoặc A* + tracking | ||
| (Tuỳ chọn) min-snap / flat reference | ||
| (Tuỳ chọn) MPC ngắn chân trời để so latency | ||
| Dataset demo từ planner (cho IL) |
Có thể phát triển tiếp: learned heuristic; hierarchical waypoint RL; RL vs MPC bảng latency–success.
| Hạng mục | Trạng thái | Ghi chú |
|---|---|---|
| Phân biệt train GT vs deploy \(\hat{x}\) | ||
| Noise hóa state hoặc EKF giả lập trong sim | ||
| (Tuỳ chọn) VIO/drift model | ||
| Local cost map / occupancy cho reward |
Có thể phát triển tiếp: belief-state RL; active SLAM; robust khi mất lock.
| Hạng mục | Trạng thái | Ghi chú |
|---|---|---|
| Obs ảnh hoặc depth/flow synthetic | ||
| Nhánh A: perception cố định + RL trên feature | ||
| Nhánh B: end-to-end (chỉ khi A chạm trần) | ||
| Budget FPS khớp tần số control |
Có thể phát triển tiếp: TTC-reward; freeze encoder; domain gap ánh sáng.
S / Z (observation onboard):
................................................................
A (tầng + đơn vị + bound):
................................................................
Low-level bên dưới policy:
................................................................
r = ................................................................
(có tiến goal? phạt ‖a‖? phạt đụng? phạt giật?)
γ, horizon, dt:
................................................................
Termination / crash:
................................................................
Randomization train:
................................................................
Held-out test:
................................................................
Thuật toán: [ ] PPO [ ] SAC [ ] khác: ......
Safety: [ ] không [ ] sat+LQR residual [ ] shield/CBF
Điền tên method vào bảng khi làm:
| Obs \ Method | Classical baseline | RL thuần | RL + residual/shield |
|---|---|---|---|
| Privileged \(x\) (ablation) | |||
| \(\hat{x}\) nhiễu / EKF | |||
| Ảnh / flow / depth |
Ý nghĩa: hàng = trung thực cảm biến; cột = mức “học”. Paper tốt thường chiếm ≥ 4 ô có số.
| Nếu trục chính là… | Việc làm tiếp theo |
|---|---|
| R1 Placement | Ablate tầng action; cùng reward/obs |
| R2 Obs | Curriculum: GT → nhiễu → VIO → ảnh |
| R3 Hybrid | IL warm-start từ RRT; distill MPC |
| R4 Perception | A vs B; TTC feature |
| R5 Generalize | tăng severity gió/map; invariant loss |
| R6 Safety | đo % intervention; near-miss |
| R7 Model-based | học \(f\); MPC dùng model học |
| Metric | Công thức / định nghĩa của bạn | Mục tiêu |
|---|---|---|
| Success rate | ||
| Crash / near-miss | ||
| Time / path length | ||
| Energy proxy \(\sum\|u\|^2\) | ||
| Generalization gap (train vs test) | ||
| Shield interventions (nếu có) |
Đây là nấc phát triển. Đừng nhảy cóc.
| Level | Tên | Bạn có gì? | Ebook phải vững | Gợi ý deliverable |
|---|---|---|---|---|
| L0 | Sandbox | Planar/double-int env + PID/LQR | A 1–5 | Notebook hover + plot |
| L1 | Navigate | Vật cản + RRT/A* baseline + RL vel/attitude | A+B | Bảng success vs RRT |
| L2 | Honest obs | RL trên \(\hat{x}\) nhiễu/EKF | +C | Ablation GT vs noisy |
| L3 | See & act | Thêm flow hoặc CNN; held-out maps | +D 17–22 | Curve generalize |
| L4 | Safe & claim | Residual/shield + limitations + (lab nếu có) | +M5 | Draft paper / thesis chapter |
L0 ──► L1 ──► L2 ──► L3 ──► L4
│ │ │ │ └── safety + writing
│ │ │ └── vision / domain gap
│ │ └── z ≠ x
│ └── planning baseline
└── control baseline
Level hiện tại của tôi: L___
Level mục tiêu 8–12 tuần tới: L___
Trục R dùng để lên level: R___
Mỗi hàng = một mảng nội dung ebook → việc có thể làm ngay → hướng phát triển lâu hơn.
| Nội dung ebook | Việc làm được ngay (1–2 tuần) | Phát triển nghiên cứu |
|---|---|---|
| Lec 2 Dynamics | Viết env planar | Domain rand \(f\); system ID |
| Lec 3–4 PD | Reward smooth/damping | Stability-aware reward |
| Lec 5 LQR | Baseline + residual slot | Certify quanh \(A\!-\!BK\) |
| Lec 6–7 Grid/A* | Cost map + hierarchical goals | Learned heuristic |
| Lec 8 RRT | Sinh demo IL | Amortized planning / oracle gap |
| Lec 9 Flatness | Action = spline/flat ref | Residual khi flat model sai |
| Lec 10 MPC | So latency–success | Safe MPC filter cho RL |
| Lec 11–13 Filter | Noise obs trong Gym | Uncertainty-aware policy |
| Lec 14–16 SLAM/VIO | Drift model đơn giản | Active SLAM; robust deploy |
| Lec 17–18 Vision/Flow | TTC feature / reward | Classical+learning fusion |
| Lec 19–22 CNN | Freeze encoder + RL head | Sim-to-real perception |
| Lec 23 RL | Pipeline PPO/SAC chuẩn | Đóng góp theo trục R đã chọn |
| M5 Ethics/Safety | Fail-safe + limitations | Safety case trong thesis |
Tuần #: ____ Level: L_ Trục R: R_
Mục tiêu tuần (1 câu):
................................................................
Ebook đọc/ôn lại (số Lec):
................................................................
Thực nghiệm chạy:
................................................................
Số liệu mới (metric chính):
................................................................
Quyết định giữ / bỏ / đổi MDP? (nếu đổi phải ghi lý do):
................................................................
Rủi ro / blocker:
................................................................
Tuần sau sẽ làm:
................................................................
Trả lời không nhìn tài liệu:
Nếu (4) hoặc (5) trống → chưa bắt đầu phát triển, mới đang học. Hãy điền T0 + chọn L0/L1 trước.
Lectures/README.md 05_BroaderTopics_Capstone.md 00_MucLuc_va_CachHoc.md