VnRobo
Về chúng tôiBảng giáBlogLiên hệ
🇺🇸ENĐăng nhậpDùng thử miễn phí
🇺🇸EN
VnRobo logo

Hạ tầng AI cho robot công nghiệp thế hệ mới.

Sản phẩm

  • Tính năng
  • Bảng giá
  • Kiến thức
  • Dịch vụ

Công ty

  • Về chúng tôi
  • Blog
  • Liên hệ

Pháp lý

  • Chính sách bảo mật
  • Điều khoản sử dụng

© 2026 VnRobo. Bảo lưu mọi quyền.

Được tạo với♥tại Việt Nam
VnRobo
Về chúng tôiBảng giáBlogLiên hệ
🇺🇸ENĐăng nhậpDùng thử miễn phí
🇺🇸EN
  1. Trang chủ
  2. Blog
  3. OpenHLM: Công Thức VLA Humanoid Loco-Manip Vượt GR00T N1.6
aivlahumanoidloco-manipulationwhole-bodyunitree-g1openpihumico-trainingtsinghua

OpenHLM: Công Thức VLA Humanoid Loco-Manip Vượt GR00T N1.6

OpenHLM (arXiv 2606.22174): 3 pha thực nghiệm — teleoperation 32-DOF, VLA π0.5, HuMI co-training — giúp Unitree G1 vượt GR00T N1.6 với chưa đến nửa số demo.

Nguyễn Anh Tuấn8 tháng 7, 202613 phút đọc
OpenHLM: Công Thức VLA Humanoid Loco-Manip Vượt GR00T N1.6

Hãy tưởng tượng bạn cần bốc một quả táo để trên mặt bàn thấp, rồi đặt nó lên kệ ngang tầm vai — nghe đơn giản, nhưng với robot humanoid thì đây là bài toán ác mộng. Cánh tay phải với xuống, cả thân phải gập, chân phải duy trì thăng bằng, rồi lại phải vươn lên cao. Toàn bộ 30+ khớp phải phối hợp nhịp nhàng trong một chuỗi chuyển động liên tục. Đây chính là bài toán loco-manipulation toàn thân (whole-body loco-manipulation) — và phần lớn hệ thống hiện tại đang né tránh nó bằng cách tách rời điều khiển tay với chân.

Nhóm nghiên cứu từ Tsinghua University, Shanghai Qi Zhi Institute, và Spirit AI không né tránh. Họ ngồi xuống, thiết kế từng thí nghiệm có kiểm soát, và xuất bản kết quả dưới tên OpenHLM (arXiv 2606.22174) — một "công thức thực nghiệm" (empirical recipe) hoàn chỉnh, open-source, giúp robot Unitree G1 thực hiện whole-body loco-manipulation vượt qua cả GR00T N1.6 và Ψ₀ với chưa đến một nửa tổng số demo.

Khuyến nghị công cụ

Stack train/deploy cho VLA

Train trên cloud/workstation, deploy bản tối ưu xuống Jetson hoặc robot computer.

Cloud GPU for VLA / policy training Dùng cho imitation learning, diffusion policy, RL và fine-tuning model robotics. Xem cloud GPU → NVIDIA Jetson Orin NX / Orin Nano Máy deploy edge cho perception, logging và inference đã tối ưu. Xem Jetson → Hugging Face / robotics dataset hosting Lưu dataset, checkpoint và model card để workflow LeRobot/VLA dễ chia sẻ hơn. Xem platform →

Teaser OpenHLM: Unitree G1 thực hiện loạt task loco-manipulation spanning dải dọc rộng — nguồn: openhlm-corl.github.io

Tại Sao Loco-Manipulation Toàn Thân Khó Đến Vậy?

Hầu hết robot arm công nghiệp chỉ cần điều khiển 6-7 khớp. Nhưng humanoid như Unitree G1 có 29 bậc tự do (DOF) ở toàn thân — từ ngón chân đến ngón tay. Thách thức nằm ở chỗ: muốn lấy vật trên sàn rồi đặt lên kệ cao, robot không thể chỉ duỗi tay. Nó phải cúi người, dịch trọng tâm, giữ thăng bằng, rồi vươn lên — tất cả phải diễn ra liên tục, không có điểm dừng rõ ràng giữa "giai đoạn chân" và "giai đoạn tay".

Các giải pháp thông thường giải quyết vấn đề này bằng cách tách đôi: một controller lo chân (locomotion), một controller lo tay (manipulation). Kết quả? Robot đứng yên như xe lăn có tay, thực hiện manipulation mà không tận dụng toàn bộ thân. Đây chính là giới hạn của kiến trúc decoupled — và cũng là điểm xuất phát của OpenHLM.

OpenHLM Là Gì?

OpenHLM không phải một kiến trúc mới hay một mô hình khổng lồ cần hàng ngàn GPU. Nó là một công thức thực nghiệm có hệ thống — tổ hợp của ba mảng nghiên cứu độc lập, mỗi mảng được kiểm tra theo phương pháp "thay đổi một biến tại một thời điểm" (one-variable-at-a-time), bao gồm:

  1. Thiết kế low-level controller và teleoperation — làm thế nào để con người dạy robot chuyển động toàn thân?
  2. Thiết kế VLA policy — mô hình nào phù hợp với không gian hành động 34-DOF?
  3. Heterogeneous co-training với HuMI — làm thế nào để mở rộng khả năng generalization mà không cần thêm quá nhiều robot demo?

Toàn bộ code, data, và model checkpoint được công khai tại:

  • GitHub: github.com/OpenHLM-project/OpenHLM
  • Dataset: huggingface.co/datasets/OpenHLM/OpenHLM-data
  • Checkpoints: huggingface.co/OpenHLM/OpenHLM-ckpts

Stack Kỹ Thuật: Ba Module Độc Lập

Hệ thống OpenHLM gồm ba thành phần, mỗi cái là một repo con trong monorepo chính:

Module Vai trò
GR00T-WholeBodyControl-4-OpenHLM Robot control stack cho Unitree G1: VR teleoperation, data collection, low-level WBC
HuMI4OpenHLM Pipeline thu thập human motion qua Vive trackers + GoPro để tạo data heterogeneous
openpi4OpenHLM VLA training và inference dựa trên π0.5 (openpi)

Hardware cần thiết:

  • Robot: Unitree G1 + hai gripper ChangingTek CTAG2F90-D
  • Camera: Hai Intel RealSense D405 (gắn cổ tay) + một Unitree SV1-25 fisheye stereo (gắn đầu)
  • Teleoperation: PICO4U VR kit (HMD + controllers + leg trackers)
  • GPU cho training: RTX 5080 hoặc tương đương, tối thiểu 8GB VRAM
  • OS: Ubuntu 25.04

Pha 1: Thiết Kế Teleoperation Toàn Thân

Thiết lập whole-body teleoperation với PICO4U VR
Thiết lập whole-body teleoperation với PICO4U VR
Loco-Manip Teleop setup: người điều khiển mặc PICO4U VR kit, robot G1 phản chiếu chuyển động toàn thân — nguồn: openhlm-corl.github.io

Đây là câu hỏi tưởng như đơn giản: "Làm thế nào để con người dạy robot chuyển động toàn thân?" Nhóm OpenHLM thử ba phương án:

So sánh ba kiểu teleoperation:

Phương án A — Decoupled (21-DOF): Điều khiển tay và chân độc lập. Cánh tay robot mapping theo tay người, chân robot có locomotion riêng. Kết quả: không tận dụng được phối hợp toàn thân.

Phương án B — VR 3-point (24-DOF): Dùng 3 điểm VR tracking (đầu + 2 tay) để suy ra tư thế. Giao diện đơn giản hơn nhưng thiếu thông tin về tư thế thân dưới.

Phương án C — Joint-based whole-body (32-DOF): Người điều khiển mặc một bộ motion capture rig gọn nhẹ, tracking toàn thân. Hệ thống ánh xạ trực tiếp joint angles của người sang joint angles của robot.

Kết quả: Joint-based (32-DOF) vượt trội rõ rệt so với hai phương án còn lại. Lý do trực giác: nếu bạn muốn dạy robot "cúi người + với tay + đứng lại", bạn cần capture toàn bộ chuyển động đó — không thể suy luận từ 3 điểm hay điều khiển tay-chân riêng biệt.

Với hệ thống joint-based, operator đứng trong không gian an toàn, mặc PICO4U VR kit (HMD + controllers + leg trackers), và robot G1 phản chiếu chuyển động trong thời gian thực. Action space thu thập là 32-DOF — bao gồm cả tư thế chân, thân, tay, và đầu.

Pha 2: Thiết Kế VLA Policy Cho Whole-Body

Khi đã có data 32-DOF, câu hỏi tiếp theo là: mô hình nào để train?

OpenHLM dựa trên π0.5 (pi05) từ Physical Intelligence — một diffusion-based VLA pretrained trên lượng lớn dữ liệu robot arm tĩnh và wheeled dual-arm. Điều thú vị là mô hình này không được train trên bất kỳ humanoid data nào, nhưng vẫn transfer tốt sang G1 khi fine-tune.

Hai phát hiện quan trọng:

1. Non-humanoid pretraining vẫn transfer tốt sang humanoid: Nhiều người cho rằng cần pretraining trên humanoid data để có kết quả tốt. OpenHLM bác bỏ giả định này: π0.5 pretrained trên static arm + wheeled dual-arm vẫn cho kết quả tốt sau fine-tune trên 32-DOF whole-body data. Pretrained knowledge về "cách cầm vật, cách tiếp cận mục tiêu" có thể transfer qua khoảng cách embodiment khá xa.

2. Multi-step inference > one-step inference (~+20 điểm task progress): Diffusion model có thể chạy theo hai chế độ: one-step (một bước denoising duy nhất, nhanh hơn) hoặc multi-step (nhiều bước denoising, chậm hơn nhưng chính xác hơn). Trong bối cảnh whole-body control với action space 34-DOF và horizon 50 timesteps, multi-step inference cho kết quả cao hơn khoảng 20 điểm task progress. Không gian hành động phức tạp cần nhiều bước để "điêu khắc" ra hành động chính xác.

Cấu hình model:

Tham số Giá trị
Action dim 34 (G1 full body)
Action horizon 50 timesteps
Batch size 256
Learning rate Cosine decay: 1e-4 → 1e-5
Training steps 30,000
Num workers 16

Pha 3: HuMI Co-Training — Heterogeneous Data Không Cần Robot

HuMI data collection setup với Vive trackers
HuMI data collection setup với Vive trackers
HuMI (Human Motion Imitation): thu thập chuyển động người qua 5 HTC Vive trackers và 2 GoPro — không cần robot — nguồn: openhlm-corl.github.io

Đây là phần sáng tạo nhất của OpenHLM. HuMI (Human Motion Imitation) là pipeline thu thập data không cần robot:

  1. Người thực hiện thao tác thật sự (nhặt, đặt vật...)
  2. 5 HTC Vive trackers gắn trên cơ thể người tracking chuyển động toàn thân
  3. 2 GoPro cameras ghi lại góc nhìn từ cổ tay (giống wrist camera của robot)
  4. Phần mềm IK (inverse kinematics) xử lý tín hiệu tracker → joint angles tương ứng của G1
  5. Video GoPro align với joint trajectory → tạo ra demo dataset

Điểm then chốt: HuMI data hoàn toàn không cần robot, chỉ cần người + tracker + camera. Chi phí thu thập rẻ hơn robot teleop nhiều lần, và người thực hiện tự nhiên hơn vì không cần mặc VR headset hay kiểm soát robot từ xa.

Ba loại data trong co-training:

Loại data Mô tả Ưu điểm
Full-body teleop Robot thực hiện task, người điều khiển qua VR Ground truth robot motion
Stationary teleop Robot đứng yên, chỉ điều khiển tay Dễ thu thập, nhiều variation vật thể
HuMI Người thực hiện không có robot, track bằng Vive Scale cao, không cần robot time

Kết quả co-training với HuMI: 84-89% task progress trên held-out tasks so với 36% baseline khi chỉ dùng full-body teleop. Nói cách khác, HuMI mở rộng khả năng generalization sang vật thể và ngôn ngữ instruction mới mà robot chưa từng thấy trong quá trình teleop.

Cài Đặt Từng Bước

1. Setup PC-side environment

# Clone repo chính
git clone https://github.com/OpenHLM-project/OpenHLM.git
cd OpenHLM

# Setup teleop environment
cd src/GR00T-WholeBodyControl4OpenHLM/
uv pip install --python .venv_teleop/bin/python -e ./gear_sonic/thirdparty/GMR
uv pip install --python .venv_teleop/bin/python -e ./openpi-client

# Build video sender tool
cd ./gear_sonic/thirdparty/XRoboToolkit-Orin-Video-Sender
sudo apt update && sudo apt install build-essential pkg-config libopencv-dev \
  libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libglib2.0-dev \
  libzmq3-dev libssl-dev
make

2. Setup robot-side

git clone https://github.com/Tendourisu/hardware4OpenHLM.git
cd hardware4OpenHLM
uv run hardware_setup

3. Setup VLA training environment

cd src/openpi4OpenHLM
GIT_LFS_SKIP_SMUDGE=1 uv sync
GIT_LFS_SKIP_SMUDGE=1 uv pip install -e .

# Fix transformers compatibility
cp -r ./src/openpi/models_pytorch/transformers_replace/* \
  .venv/lib/python3.11/site-packages/transformers/

# Download π0.5 pretrained checkpoint
uv run examples/convert_jax_model_to_pytorch.py \
    --checkpoint_dir gs://openpi-assets/checkpoints/pi05_base \
    --config_name pi05_aloha \
    --output_path ~/.cache/openpi/openpi-assets/checkpoints/pi05_base_pytorch

Thu Thập Dữ Liệu

Robot teleoperation data

# Terminal 1: Trên robot (G1 side)
cd path/to/hardware4OpenHLM
uv run hardware_setup

# Terminal 2: Trên PC side
cd src/GR00T-WholeBodyControl4OpenHLM/scripts
bash launch_data_collection.sh

Lưu ý an toàn: Bắt đầu với gain thấp. Robot G1 nặng 35kg, chuyển động sai có thể gây tai nạn nghiêm trọng. Luôn có người ở bên cạnh robot với tay trên nút dừng khẩn cấp.

HuMI pipeline

# Streaming IK online từ Vive trackers
uv run online-ik pick --rpc-address tcp://<windows_machine_ip>:4242

# Align GoPro video và tạo dataset plan
uv run run-pipeline data/<humi_session> --gopro_timezone +08:00

# Export sang OpenHLM format
uv run generate-final data/<humi_session>

HuMI cần: 5 HTC Vive trackers, 1 Windows machine chạy SteamVR, 2 GoPro (gắn cổ tay), và 1 Linux/macOS machine xử lý IK.

Training Pipeline

Bước 1: Convert data sang LeRobot format

# Một dataset
uv run examples/unitree_g1/convert_g1_data_to_lerobot.py \
    --data_dir ./example_demonstration/20260520_1602_example_1 \
    --repo_name OpenHLM/example

# Nhiều dataset cùng lúc
uv run examples/unitree_g1/convert_g1_data_to_lerobot_multi.py \
    --parent_dir ./example_demonstration \
    --dataset_folders 20260520_1602_example_1 20260520_1602_example_2 \
    --repo_name OpenHLM/example

Bước 2: Tính normalization statistics

CUDA_VISIBLE_DEVICES=0 uv run scripts/compute_norm_stats.py \
    --config-name openhlm_example \
    --max-frames 500000

Bước 3: Train model

CUDA_VISIBLE_DEVICES=0,1,2,3 uv run torchrun --standalone --nnodes=1 \
  --nproc_per_node=4 scripts/train_pytorch.py \
  openhlm_example \
  --save-interval 10000 \
  --batch_size 128 \
  --no-enable-gradient-checkpointing \
  --enable-training-compile \
  --pytorch-weight-path ~/.cache/openpi/openpi-assets/checkpoints/pi05_base_pytorch \
  --exp-name openhlm_example

Training cần 4 GPU (RTX 5080 hoặc tương đương), mất khoảng vài giờ cho 30,000 steps.

Inference Và Deploy

Khởi động policy server

cd src/openpi4OpenHLM
CUDA_VISIBLE_DEVICES=0 uv run scripts/serve_policy.py \
  --env SONICG1 \
  --num-steps 10 \
  policy:checkpoint \
  --policy.config=openhlm_example \
  --policy.dir=path/to/trained/checkpoint

Chạy trên robot

# Terminal 1: Low-level control server
cd src/GR00T-WholeBodyControl4OpenHLM/scripts
bash deploy_stream.sh

# Terminal 2: OpenPI deployment client
python openpi-eval/main.py \
  --control_hz 30 \
  --max_steps 10000 \
  --save_video \
  --instruction "pick up the apple and place it on the shelf" \
  --exp_name openhlm_example

Policy server chạy trên GPU, nhận observation từ cameras, xuất action sequence 34-DOF ở 30Hz. Low-level WBC controller nhận action và thực thi trên robot.

Dùng checkpoint có sẵn

Nếu không muốn train từ đầu, tải checkpoint từ HuggingFace:

Checkpoint Mô tả
12tasks_12full-teleop 12 tasks, 12 robot demo/task
12tasks_8full-teleop_4humi 12 tasks, mix teleop + HuMI data
12tasks_8full-teleop_4stationary_teleop 12 tasks, mix teleop + stationary
20fruit-arrangement_20full-teleop Long-horizon task (sắp xếp trái cây)
20fruit-arrangement_6full-teleop_14humi Long-horizon với HuMI data

Kết Quả: Vượt GR00T N1.6 Với Chưa Đến Nửa Demo

Nhóm OpenHLM đánh giá trên HLM-12 benchmark — 12 task có điều kiện ngôn ngữ (language-conditioned), yêu cầu phối hợp toàn thân spanning dải dọc rộng (từ sàn lên kệ cao).

So sánh với baseline:

System Task Progress Demo time so với OpenHLM
GR00T N1.6 thấp hơn đáng kể >2× nhiều hơn
Ψ₀ (Psi0) thấp hơn đáng kể >2× nhiều hơn
OpenHLM 87.5% (long-horizon) 1× (baseline)
OpenHLM + HuMI 84–89% (held-out tasks) <0.5×

Điểm nổi bật: OpenHLM đạt 87.5% task progress trên task fruit arrangement dài hơi (sắp xếp 5 loại trái cây lên kệ theo thứ tự), vượt cả hai baseline mạnh nhất hiện tại — với chưa đến một nửa tổng thời gian demo. Trung bình trên tất cả 12 tasks, task progress vượt 90%.

Bài Học Kỹ Thuật Quan Trọng

Đọc xong paper OpenHLM, có ba insight đáng nhớ cho bất kỳ ai làm robot learning:

1. Không gian hành động quan trọng hơn số lượng demo: Joint-based 32-DOF teleop cần nhiều công thiết lập hơn nhưng cho chất lượng demo cao hơn nhiều so với task-space hay decoupled. Garbage in, garbage out — với robot learning, chất lượng data đầu vào quyết định ceiling của policy.

2. Transfer learning qua embodiment gap lớn hơn bạn nghĩ: π0.5 được train trên robot arm tĩnh và xe có tay, nhưng fine-tune tốt sang humanoid 34-DOF. Điều này gợi ý rằng các primitive như "cầm vật", "đặt xuống", "tiếp cận mục tiêu" là knowledge có thể transfer, dù embodiment khác nhau hoàn toàn.

3. HuMI giải quyết bottleneck data thu thập: Demo robot thật tốn kém (cần robot, không gian, người vận hành VR). HuMI thu thập từ người bình thường làm thao tác tự nhiên, scale dễ hơn 10× mà vẫn cải thiện generalization đáng kể. Đây là hướng đáng đầu tư cho bất kỳ lab nào thiếu robot time.

Nếu bạn đang nghiên cứu về whole-body VLA, có thể tham khảo thêm về kiến trúc WBC trong GR00T N1 architecture và cách kết hợp với teleoperation trong Gear Sonic Humanoid WBC. Để hiểu rõ hơn về WholebodyVLA approach từ OpenDriveLab, xem WholebodyVLA tutorial.

Kết Luận

OpenHLM không cố gắng build mô hình AI lớn nhất hay robot tốt nhất. Thay vào đó, nó trả lời một câu hỏi thực tế: "Nếu bạn có Unitree G1 và muốn teach nó whole-body loco-manipulation, bạn nên làm gì?"

Ba pha thực nghiệm — joint-based teleoperation 32-DOF, VLA π0.5 với multi-step inference, và HuMI co-training — cho kết quả vượt cả GR00T N1.6 lẫn Ψ₀ mà dùng ít hơn một nửa demo time. Đây là điểm chuẩn mới cho whole-body humanoid control — và quan trọng hơn, nó được open-source hoàn toàn.

Paper: arXiv 2606.22174 | Code: GitHub | Data: HuggingFace


Bài Viết Liên Quan

  • GR00T N1 Architecture: Kiến Trúc VLA Nền Tảng Cho Unitree G1
  • Gear Sonic Humanoid Whole-Body Control: Từ Sim Đến Thực
  • WholebodyVLA Tutorial: Train Và Deploy VLA Toàn Thân
NT

Nguyễn Anh Tuấn

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

Khám phá VnRobo

Fleet MonitoringROS 2 IntegrationAMR Solutions

Bài viết liên quan

Tutorial
Visualize 23 khớp G1: MCAP bag replay & Layout XML
plotjugglerunitree-g1mcapPhần 2
ai

Visualize 23 khớp G1: MCAP bag replay & Layout XML

Dùng plugin DataLoadMCAP trong PlotJuggler để mở file .mcap từ G1, tạo grid multi-panel xem đồng thời q/dq/tau của tất cả 23 khớp, và lưu layout XML để tái dùng qua nhiều session debug.

15/6/202613 phút đọc
NT
Nghiên cứu
WholeBodyVLA: video egocentric + RL loco-manipulation
manipulationvlawhole-bodyPhần 5
research

WholeBodyVLA: video egocentric + RL loco-manipulation

WholeBodyVLA học từ video egocentric action-free và nối VLA cấp cao với RL controller cấp thấp cho whole-body loco-manipulation. Phân tích paper ICLR 2026, test trên AgiBot X2.

14/6/20267 phút đọc
NT
Tutorial
Roadmap 3D manipulation cho humanoid Unitree G1
manipulationhumanoidunitree-g1Phần 7
manipulation

Roadmap 3D manipulation cho humanoid Unitree G1

Bài capstone: ghép Robo3R, DP3, Omni-Manip và WholeBodyVLA thành một pipeline triển khai cụ thể cho Unitree G1 — từ bố trí cảm biến, chọn policy, chọn data, đến checklist sim2real.

14/6/20267 phút đọc
NT
VnRobo logo

Hạ tầng AI cho robot công nghiệp thế hệ mới.

Sản phẩm

  • Tính năng
  • Bảng giá
  • Kiến thức
  • Dịch vụ

Công ty

  • Về chúng tôi
  • Blog
  • Liên hệ

Pháp lý

  • Chính sách bảo mật
  • Điều khoản sử dụng

© 2026 VnRobo. Bảo lưu mọi quyền.

Được tạo với♥tại Việt Nam