Sáu bài trước của series đã cho bạn từng mảnh ghép: vì sao cần 3D (bài 1), dựng 3D từ RGB (bài 2), policy point-cloud (bài 3), perception toàn cảnh (bài 4), VLA toàn thân (bài 5), và chiến lược data (bài 6). Bài cuối này ghép tất cả thành một roadmap triển khai cụ thể cho một humanoid như Unitree G1.
Mục tiêu: từ một con G1 trắng tinh đến một hệ whole-body manipulation 3D-aware chạy được. (Lưu ý: ví dụ dùng Unitree G1 / AgiBot X2 / Fourier — bạn áp dụng được cho bất kỳ humanoid nào có RL loco controller.)
Kiến trúc tổng thể: từ pixel đến whole-body action
Trước khi vào từng bước, đây là bức tranh đầy đủ của pipeline:
flowchart TD
A[Top RGB-D camera] --> P
B[Wrist camera] --> P
C[LiDAR / wide RGB-D] --> P
P[Robo3R + Omni-Manip:<br/>canonical robot-frame 3D scene] --> Q
Q[Active Spatial Reasoning:<br/>chọn vùng, suy luận quan hệ] --> R
R{Policy} --> S[DP3: manipulation tay]
R --> T[WholeBodyVLA: loco-manipulation]
S --> U[RL low-level controller 500 Hz]
T --> U
U --> V[Unitree G1]
Ba tầng rõ ràng: perception 3D (dựng cảnh) → policy (ra hành động) → controller (giữ thăng bằng + thực thi). Mỗi tầng là một bài trong series.
Bước 1: Bố trí cảm biến
Đây là nền móng vật lý. Một humanoid whole-body cần nhiều hơn một camera đầu (lý do đã phân tích ở bài 4):
| Cảm biến | Vị trí | Vai trò |
|---|---|---|
| RGB-D camera | Đầu (head) | Cảnh chính phía trước, dựng 3D scene |
| RGB / RGB-D | Cổ tay (wrist) | Nhìn cận cảnh lúc grasp, giảm occlusion |
| LiDAR hoặc RGB-D góc rộng | Thân/vai | Vùng ngoài FOV, whole-body collision |
Nguyên tắc vàng: mọi cảm biến phải được calib extrinsic về cùng một robot base frame của G1. Không có bước này, point cloud từ các camera không ghép được — và cả pipeline 3D sụp đổ. Đầu tư thời gian vào calibration chính xác ngay từ đầu.
Bước 2: Chọn perception stack (dựng 3D scene)
Mục tiêu của tầng này: từ ảnh các camera → một point cloud metric trong canonical robot frame.
- Khởi đầu đơn giản: dùng depth trực tiếp từ RGB-D (RealSense D435i) → project thành point cloud. Đủ để chạy DP3 ngay, nhưng yếu với vật trong suốt/phản chiếu.
- Nâng cấp: thêm Robo3R (bài 2) để dựng metric 3D từ RGB ở 43 Hz — bỏ phụ thuộc depth sensor, xử lý được vật khó.
- Whole-body: ghép nhiều view bằng tư tưởng Omni-Manip (bài 4) để có scene omnidirectional + scene memory cho vùng ngoài FOV.
Output chuẩn của bước này: point cloud (N, 6) = xyz + rgb, đã crop về vùng task-relevant, trong robot frame.
Bước 3: Chọn policy (ra hành động)
Tùy độ phức tạp của task:
- Manipulation tay đơn/song, đứng yên: dùng DP3 (bài 3). Sample-efficient, chạy tốt từ point cloud, Simple DP3 ~25 Hz fit Jetson Orin. Đây là lựa chọn khởi đầu vững chắc.
- Loco-manipulation toàn thân (vừa đi vừa làm): dùng WholeBodyVLA (bài 5) — latent VLA điều phối cả thân, học từ video + ít teleop.
Thực tế nên kết hợp: WholeBodyVLA lo điều phối toàn thân và di chuyển tới vị trí, DP3 lo thao tác tay tinh xảo khi đã ổn định. Đừng ép một policy làm cả hai từ ngày đầu.
Bước 4: Chọn chiến lược data
Theo khung ở bài 6, xếp tầng theo ngân sách:
- Pretraining bằng video egocentric action-free (rẻ, khổng lồ).
- Scale bằng robot-free demo (HuMI) — có whole-body pose, không cần robot mỗi trạm.
- Fine-tune cuối bằng teleop trên chính G1 — neo policy vào động học robot thật.
Nhớ: với DP3 sample-efficient, 200 demo sạch thường đủ cho một task; đừng đốt tiền teleop khi chưa cần.
Bước 5: RL low-level controller — phần không được bỏ qua
Đây là điểm hay bị xem nhẹ. Policy cấp cao ra ý định, nhưng nếu controller cấp thấp không giữ nổi thăng bằng khi G1 với tay xa, mọi thứ đổ. Bạn cần một RL loco-manipulation controller chạy ~500 Hz, huấn luyện trong simulation.
- Huấn luyện trong Isaac Lab hoặc MuJoCo — robot ngã hàng triệu lần để học đứng vững khi trọng tâm dịch chuyển lúc với tay.
- Bắt buộc domain randomization + mô hình trễ actuator để qua được sim2real (kỹ thuật chi tiết ở ASAP/Unitree G1).
Bước 6: Checklist sim → robot thật
Đừng nhảy thẳng lên robot thật. Lộ trình an toàn:
Giai đoạn sim:
- Dựng G1 trong Isaac Lab/MuJoCo, kiểm tra URDF + động học khớp robot thật.
- Train RL loco controller giữ thăng bằng khi với tay (no manipulation policy yet).
- Tích hợp perception 3D (point cloud từ sim) → DP3/WholeBodyVLA.
- Đo success rate trên tập task chuẩn (pick-place, đặt lên kệ, nhặt dưới sàn).
Giai đoạn sim2real:
- Domain randomization: ánh sáng, texture, ma sát, khối lượng, trễ actuator.
- Verify calib extrinsic camera↔robot frame trên robot thật.
- Test controller cấp thấp riêng trên G1 thật (an toàn, có dây bảo hiểm) trước khi gắn policy.
- Bật policy ở tốc độ chậm, mở rộng dần workspace.
Logging & đánh giá:
- Log đủ modality (RGB, point cloud, state, action, kết quả task) để debug và thu thêm data.
- Đo success rate + thời gian + số va chạm theo từng loại task.
- Dùng failure cases làm data fine-tune vòng sau (data flywheel).
Bảng tóm tắt: mỗi bài giải mảnh nào của roadmap
| Mảnh roadmap | Giải pháp | Bài |
|---|---|---|
| Vì sao cần 3D | Động lực, hạn chế 2D | Bài 1 |
| Dựng 3D từ RGB | Robo3R feed-forward | Bài 2 |
| Policy thao tác | DP3 point-cloud | Bài 3 |
| Perception toàn cảnh | Omni-Manip + spatial reasoning | Bài 4 |
| Điều phối toàn thân | WholeBodyVLA + RL | Bài 5 |
| Thu data | Teleop / HuMI / video | Bài 6 |
| Ghép & triển khai | Roadmap này | Bài 7 |
Kết: từ paper đến robot thật
Series này bắt đầu bằng một câu hỏi đơn giản — vì sao VLA chỉ dùng ảnh 2D lại thất bại ở manipulation — và kết thúc bằng một roadmap đầy đủ để xây hệ 3D-aware whole-body manipulation cho humanoid. Bài học xuyên suốt: manipulation là bài toán hình học, và hình học sống trong không gian 3D mét quanh robot.
Đừng cố làm tất cả cùng lúc. Bắt đầu nhỏ: một G1, depth camera, DP3 cho một task pick-place đứng yên. Khi nó chạy, thêm Robo3R để bỏ depth sensor, thêm camera để mở workspace, rồi mới lên WholeBodyVLA cho loco-manipulation. Mỗi bước là một bài trong series này — giờ bạn có bản đồ đầy đủ.
Chúc bạn build vui. Nếu kẹt ở bước nào, quay lại đúng bài tương ứng trong bảng trên.
Bài viết liên quan
- Bài 1: Vì sao VLA 2D chưa đủ cho manipulation — Khởi đầu của cả hành trình
- Bài 5: WholeBodyVLA — video egocentric + RL — Điều phối toàn thân
- Bài 6: Thu data — teleop vs robot-free vs video — Chọn chiến lược data



