humanoidhumanoidwhole-bodyvlamocapvr-teleopumidata-collectionloco-manipulation

Whole-body VLA: kết hợp UMI + mocap/VR để thu data toàn thân

Kiến trúc và nguyên tắc thiết kế để mở rộng UMI từ upper-body manipulation sang whole-body humanoid data collection bằng cách kết hợp với mocap hoặc VR teleop — phân tích thực tế từ HumanPlus, OmniH2O, và Open-TeleVision.

Nguyễn Anh Tuấn6 tháng 6, 20268 phút đọc
Whole-body VLA: kết hợp UMI + mocap/VR để thu data toàn thân

Whole-body VLA: kết hợp UMI + mocap/VR để thu data toàn thân

Đây là bài cuối trong series UMI + VLA. Các bài trước (2-5) đưa bạn từ in gripper đến có working bimanual policy. Bài này mở rộng sang câu hỏi lớn hơn: làm thế nào để thu data cho humanoid làm cả việc đi lại lẫn thao tác tay?

Trước khi đọc: Bài này không phải step-by-step tutorial. Không có turnkey pipeline nào cho whole-body loco-manipulation data collection tồn tại ở thời điểm viết bài. Đây là bài kiến trúc và design principles — giúp bạn hiểu landscape, chọn hướng đi, và tránh các sai lầm thiết kế quan trọng.

Vấn đề: tại sao upper-body UMI không đủ cho humanoid?

Với robot arm thông thường (Franka, UR5), UMI đủ: bạn thu demo tay, train policy, deploy lên arm là xong. Humanoid phức tạp hơn vì nó có hai vấn đề đồng thời:

Vấn đề 1: Manipulation (tay + ngón tay)
   → UMI giải quyết tốt phần này

Vấn đề 2: Locomotion + balance (chân + thân)
   → UMI không thu được phần này
   
Vấn đề 3: Coordination (cả thân di chuyển trong khi tay thao tác)
   → Đây là phần khó nhất, không ai giải quyết hoàn toàn

Khi humanoid cần đi đến tủ, mở ngăn kéo, lấy vật— policy cần biết cả chân phải đặt đâu, thân nghiêng bao nhiêu, và tay vươn ra như thế nào. Ba hành động này phụ thuộc lẫn nhau và phải được thu đồng thời.

Landscape hiện tại: ai đang làm gì?

HumanPlus (Berkeley, 2024)

Phương pháp: Người mặc mocap suit (21-marker setup) + body suit với gripper tương tự robot. Policy học whole-body từ human motion capture.

Điểm mạnh: Data collection tự nhiên, nhiều task diverse, người có thể thực hiện nhanh.

Điểm yếu: Cần mocap suit đắt tiền, retargeting từ human kinematics sang humanoid URDF không trivial (tỷ lệ cơ thể khác), gripper không giống robot.

Phù hợp với UMI: HumanPlus là "UMI cho toàn thân" — cùng triết lý (thu data từ người thay vì teleop robot), nhưng scale lên toàn thân với mocap suit.

OmniH2O (2024)

Phương pháp: Teleop qua HMD (Meta Quest) + wrist tracking + finger tracking. Người trong VR điều khiển humanoid real-time qua retargeting.

Điểm mạnh: Không cần mocap room; có thể teleop từ xa; natural intuitive control; data collection linh hoạt hơn mocap.

Điểm yếu: Latency từ VR headset đến robot phải < 50ms để operator có thể kiểm soát; cần robot SDK realtime; phức tạp hơn để setup.

Open-TeleVision / Apple Vision Pro teleop

Phương pháp: Dùng Apple Vision Pro hoặc equivalent để track head, hands, fingers trong 3D. Retarget lên robot arm/hands realtime.

Điểm mạnh: Consumer hardware ngày càng rẻ; finger tracking rất chi tiết; tự nhiên.

Điểm yếu: Thường chỉ cover upper body (arms + hands), không capture legs. Apple Vision Pro đắt và limited ecosystem.

ACT / Mobile-ALOHA (Stanford)

Phương pháp: Teleop robot arm trực tiếp qua leader-follower setup. Dùng bilateral control.

Điểm mạnh: Ground truth — data thu từ robot thật, không cần retargeting.

Điểm yếu: Robot thật bị chiếm dụng; chậm; đắt; không scale được dễ.

Kiến trúc đề xuất: UMI cho upper body + tracking cho lower body

Nếu bạn muốn build whole-body data collection pipeline cho humanoid, đây là kiến trúc hợp lý nhất dựa trên các hệ thống trên:

UPPER BODY (arms + hands):
  2x UMI handheld gripper
    → GoPro/D405 observation
    → External tracker (mocap/VR) cho wrist 6DoF pose
    → Gripper width
  
LOWER BODY + TORSO (legs + waist):
  Mocap suit hoặc VR body tracking
    → Pelvis position + orientation
    → Knee/hip/ankle poses
    → Spine/shoulder orientation
  
SYNC LAYER:
  Single host machine hoặc NTP-sync với <5ms offset
  Shared timestamp reference
  Sync event mỗi đầu demo (LED flash, force plate trigger)
  
DATA:
  left_wrist_pose, right_wrist_pose (từ UMI tracker)
  left_rgb_d, right_rgb_d (từ UMI camera)
  left_gripper_width, right_gripper_width
  pelvis_pose, spine_orientation
  left_hip/knee/ankle_pose, right_hip/knee/ankle_pose
  language_instruction
  timestamp

Retargeting: thách thức kỹ thuật lớn nhất

Dù bạn dùng mocap hay VR, data thu được là human motion — không phải robot motion. Bạn cần retargeting: map từ human kinematic chain sang robot URDF.

Đây là nơi nhiều project fail vì:

1. Tỷ lệ cơ thể khác nhau. Người cao 1.7m có span tay 175cm. Robot có thể cao 1.5m với span 130cm. Scale đơn giản không hoạt động — bạn cần inverse kinematics constrained retargeting.

2. Joint limits khác nhau. Human hip có ROM ~120° trong nhiều hướng. Robot hip thường giới hạn hơn nhiều. Retargeting phải project human motion vào feasible robot joint space.

3. Balancing constraints. Human khi cúi xuống tự động điều chỉnh CoM. Robot phải giải toán balance optimization. Nếu bạn chỉ copy human pose, robot sẽ ngã.

4. Gripper ≠ hand. UMI gripper chỉ có 1 DoF (open/close). Human hand có 21 DoF. Bạn phải quyết định cách project hand motion xuống gripper signal.

Công cụ retargeting nên biết:

  • Pinocchio — cho IK và dynamics
  • Pink — prioritized IK
  • URDF parsers: yourdfpy, robot_descriptions

Tùy chọn thiết bị thực tế

Option A: SteamVR + wrist trackers (budget)

Hardware:
  - 2x SteamVR base stations (~$200 each)
  - 2x Valve Index controllers hoặc SteamVR trackers (~$150 each)
  - Optional: Vive body trackers cho hip/chest/feet (~$100 each)
  
Chi phí ước tính: $1,000 - $2,000
Độ chính xác: 1-3mm position, 0.1° rotation
Coverage: wrist (required) + optional body

Phù hợp cho: labs không có mocap, budget hạn chế, flexibility cao.

Option B: Mocap system (lab)

Hardware:
  - 6-12 OptiTrack cameras ($3,000-$15,000)
  - Passive marker clusters cho mỗi segment
  - Motive software license
  
Chi phí: $15,000 - $50,000
Độ chính xác: <0.5mm
Coverage: full body, nhiều markers

Phù hợp cho: labs nghiên cứu, cần ground truth, nhiều concurrent subjects.

Option C: Apple Vision Pro / Meta Quest (upper body only)

Hardware:
  - Apple Vision Pro ($3,500) hoặc Meta Quest 3 ($500)
  - Hand tracking built-in
  
Coverage: hands + arms only, không có legs

Phù hợp cho: chỉ cần upper body data, muốn setup nhanh.

Whole-body policy architecture

Sau khi có data, policy cho whole-body phức tạp hơn arm-only:

State space (ví dụ humanoid 24-DoF):
  - left/right arm: 7 DoF each = 14
  - left/right gripper: 1 each = 2  
  - spine: 3 DoF = 3
  - left/right leg: 6 DoF each = 12
  Total: ~31 DoF
  
Observation space:
  - left/right wrist RGB-D (from UMI cameras)
  - head camera (optional)
  - proprioception (joint positions, velocities, IMU)
  - language instruction
  
Action space:
  - whole-body joint targets (31 DoF) hoặc
  - end-effector + CoM trajectory (decoupled)

Decoupled vs end-to-end:

Hai hướng chính:

  1. Decoupled (easier to debug): Separate upper body policy (manipulation) + lower body controller (locomotion). Chạy song song, kết nối qua shared state. HumanPlus dùng cách này.

  2. End-to-end (harder, potentially better): Một model học cả locomotion lẫn manipulation jointly. Coordination tốt hơn về nguyên lý nhưng cần nhiều data hơn và khó debug hơn.

Nếu bạn mới bắt đầu: decoupled trước, sau đó thử end-to-end khi đã có working baselines cho từng phần.

Điều thực tế cần chuẩn bị

Nếu bạn muốn build whole-body data collection pipeline, đây là những gì không thể thiếu:

[ ] Humanoid robot với full SDK (joint control, FK/IK, safety)
[ ] Retargeting pipeline từ human kinematics sang robot URDF
[ ] Whole-body balance controller (standalone, tested trước)
[ ] Upper body UMI pipeline hoạt động (bài 2-5)
[ ] Tracking solution cho lower body (mocap/VR)
[ ] Multi-modal synchronized recorder
[ ] Safety: E-stop, joint limits, collision detection, velocity limits
[ ] Computation: robot onboard + policy server + tracker PC

Ước tính timeline thực tế:

  • Hoàn thiện upper body UMI (bài 2-5): 2-4 tuần
  • Thêm lower body tracking: 2-4 tuần
  • Retargeting + safety: 4-8 tuần
  • Thu data + train + test: 4-8 tuần

Minimum viable path: nếu bạn chưa có whole-body robot, hãy bắt đầu với upper body UMI trên 2 robot arms. Có working bimanual policy trước, rồi mới scale lên humanoid.

Kết

UMI giải quyết tốt vấn đề thu data cho upper body manipulation. Whole-body loco-manipulation là bước tiếp theo tự nhiên nhưng yêu cầu thêm 3 thứ: tracking cho lower body, retargeting pipeline, và balance controller.

Không có turnkey solution nào tồn tại ở thời điểm viết bài. Nhưng kiến trúc rõ ràng, tools có sẵn (Pinocchio, SteamVR, mocap), và research đang tiến nhanh. Nếu bạn đã có working bimanual policy từ bài 2-5, bạn đã có foundation tốt nhất để build tiếp.

Nguồn tham khảo


Bài viết liên quan

NT

Nguyễn Anh Tuấn

Robotics & AI Engineer. Building VnRobo — sharing knowledge about robot learning, VLA models, and automation.

Khám phá VnRobo

Bài viết liên quan

VLA + WBC repos từ Trung Quốc: Unitree, THU RDT-1B, và cộng đồng mở
humanoid

VLA + WBC repos từ Trung Quốc: Unitree, THU RDT-1B, và cộng đồng mở

6/6/20268 phút đọc
NT
GR00T N1 + G1 (Bài 4): deploy GR00T-WBC trên Unitree G1 — GEAR + SONIC
humanoid

GR00T N1 + G1 (Bài 4): deploy GR00T-WBC trên Unitree G1 — GEAR + SONIC

5/6/20266 phút đọc
NT
VLA + WBC repos từ Mỹ: NVIDIA GR00T, openpi, HumanPlus, TeleVision
humanoid

VLA + WBC repos từ Mỹ: NVIDIA GR00T, openpi, HumanPlus, TeleVision

5/6/20268 phút đọc
NT