Câu chuyện xuyên suốt + Framework phát triển RL–UAV

06 · Framework phát triển

Câu chuyện xuyên suốt + Framework phát triển RL–UAV

Đâ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) ┘

PHẦN A — Câu chuyện phải rõ (từ đầu đến cuối)

A1. Một câu neo

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?

A2. Cốt truyện 5 hồi (đọc theo thứ tự logic)

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.

A3. Sợi chỉ đỏ nối mọi bài

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

A4. Câu chuyện “một chuyến bay” (để nhớ toàn sách)

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.

A5. Ba câu hỏi lớn xuyên suốt (luôn tự hỏi)

  1. Policy đang thay tầng nào? (waypoint / vel / attitude / motor)
  2. Observation có phải thứ máy thật thấy không? (\(x\) vs \(z\) vs ảnh)
  3. Baseline cổ điển đã công bằng chưa? (LQR, RRT+track, MPC, detect+servo)

Nếu trả lời mơ hồ — chưa sẵn sàng train lớn / viết paper.

A6. Cách dùng ebook sau rà soát này

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 0105
Phát triển nghiên cứu File này · Phần B–D (framework bên dưới)

PHẦN B — Framework phát triển (sườn bám để lớn dần)

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     │
                    └─────────────────────────────┘

T0 — Bài toán & phạm vi (điền trước mọi thứ)

T0.1 Canvas nhiệm vụ (copy ra note và điền)

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):
................................................................

T0.2 Chọn “trục đóng góp” (chọn 1 chính + tối đa 1 phụ)

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___


T1 — Hệ thống (stack) — phát triển từ Chương A→C(+vision)

Đây là checklist kỹ thuật. Đánh dấu mức độ: Chưa / Có sim / Có số liệu / Có baseline paper.

T1.A Dynamics & Control (Lec 1–5)

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.

T1.B Planning (Lec 6–10)

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.

T1.C Estimation (Lec 11–16)

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.

T1.D Vision (Lec 17–22)

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.


T2 — Học (RL) — phát triển từ Lec 23 + toàn stack

T2.1 MDP Canvas (bắt buộc điền trước train lớn)

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

T2.2 Ma trận thí nghiệm tối thiểu (mỗi ô = một run có seed)

Đ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ố.

T2.3 Các hướng mở rộng RL (chọn theo trục R)

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

T3 — Đánh giá & viết (Module 5)

T3.1 Metric tối thiểu (luôn 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ó)

T3.2 Khung section paper (bám ebook)

  1. Problem & stack diagram (Lec 1 + kiến trúc Capstone)
  2. Classical baselines (Lec 5, 8, 10)
  3. MDP & method (Lec 23)
  4. Experiments theo ma trận T2.2
  5. Limitations / safety (Lec 24)

T3.3 Definition of Done cho một phase nghiên cứu

  • [ ] T0 điền xong (task + claim + trục R)
  • [ ] T1 có ít nhất 1 baseline classical chạy được
  • [ ] T2 MDP canvas đóng băng ≥ 1 tuần (không đổi lung tung)
  • [ ] T2.2 ≥ 4 ô có số + nhiều seed
  • [ ] T3 metric + đoạn limitation
  • [ ] Biết phase sau sẽ nâng cấp theo T4 (dưới)

T4 — Lộ trình tăng cấp (L0 → L4)

Đâ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___


PHẦN C — Bản đồ “học → làm → mở rộng”

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

PHẦN D — Template làm việc hàng tuần (copy mỗi tuần)

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:
................................................................

PHẦN E — Phiếu tự rà soát câu chuyện (5 phút)

Trả lời không nhìn tài liệu:

  1. Năm hồi A2 là gì?
  2. RL trong chuyến bay mẫu thay khối số mấy?
  3. Ba câu hỏi lớn A5?
  4. Trục R chính của bạn kỳ này?
  5. Bạn đang ở level T4 nào — bằng chứng là gì (file/số 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.


Liên kết nhanh