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. Robo-ValueRL: Deploy VLA-RL Precision Manipulation cho Humanoid
wholebody-vlavla-rlreinforcement-learninghumanoidmanipulationopen-sourcex-humanoidpi0lerobotprecision-manipulation

Robo-ValueRL: Deploy VLA-RL Precision Manipulation cho Humanoid

Hướng dẫn deploy Robo-ValueRL — framework open-source của X-Humanoid kết hợp value estimation vào VLA-RL để đạt millimeter-precision trên manipulation thực.

Nguyễn Anh Tuấn24 tháng 7, 202612 phút đọc
Robo-ValueRL: Deploy VLA-RL Precision Manipulation cho Humanoid

Bạn đã từng thấy demo robot gắp đồ vật trông rất ngầu trên YouTube — nhưng khi đối mặt với bài toán thực tế như lắp chip bán dẫn hay tháo lắp linh kiện điện tử đòi hỏi độ chính xác dưới millimeter, các VLA model "vanilla" bắt đầu đứng hình. Chúng bị loạn vì dữ liệu huấn luyện không đồng đều, bị mất hướng khi tay robot bị khuất tầm nhìn camera, và không tự biết mình đang làm tốt hay tệ.

Robo-ValueRL — framework open-source ra mắt tháng 7/2026 bởi X-Humanoid (Beijing Innovation Center of Humanoid Robotics) kết hợp với GeWu-Lab thuộc Đại học Nhân Dân Trung Quốc — được thiết kế để giải quyết đúng ba điểm đau này. Bài viết này sẽ đưa bạn từ "tại sao framework này tồn tại" đến "cài đặt và train xong trên phần cứng thực" trong một lần đọc.

Vấn Đề: Tại Sao VLA Truyền Thống Không Đủ?

Hãy nghĩ về VLA model như một kỹ sư mới vào nghề, được học từ video của người chuyên nghiệp (imitation learning). Kỹ sư đó học được nhiều thứ, nhưng có ba vấn đề cố hữu:

Thứ nhất: Dữ liệu hỗn độn. Trong 240 giờ demo thu thập được, không phải demo nào cũng tốt như nhau. Một số lần teleop bị jitter, người điều khiển do dự giữa chừng, hoặc task thất bại nhưng vẫn được ghi lại. Khi train không phân biệt, model học luôn cả những hành vi tệ này.

Thứ hai: Không có khả năng tự đánh giá. Trong quá trình manipulation, tay robot thường che khuất object (occlusion). Model không có cơ chế nhớ lại "mình đã làm gì ở bước trước" để suy đoạn trạng thái hiện tại, dẫn đến phán đoán sai trong điều kiện visibility kém.

Thứ ba: Online adaptation không ổn định. Khi fine-tune online trên robot thực, phân phối dữ liệu thay đổi liên tục. Nếu không có cơ chế guidance, model dao động mạnh và hiệu suất thụt lùi thay vì cải thiện.

Robo-ValueRL giải quyết cả ba bằng một mechanism trung tâm: historical observation-based value estimation — một hàm giá trị điều kiện trên lịch sử hành động.

Robo-ValueRL Là Gì?

Nói đơn giản: Robo-ValueRL thêm một "giám khảo" vào pipeline VLA. Giám khảo này (value estimator) xem lại toàn bộ lịch sử hành động của robot và cho điểm: "hành động vừa rồi tốt không? Tiến triển của task đang ở đâu?"

Điểm số này được dùng để:

  1. Lọc dữ liệu offline: chỉ giữ demo chất lượng cao để train
  2. Hướng dẫn offline pretraining: model học ưu tiên hành động tốt
  3. Ổn định online adaptation: khi ra môi trường thực, value function làm "neo" giúp policy không bị drift

Framework này build on top của OpenPI (π₀/π₀.₅) — VLA backbone đã được chứng minh — và LeRobot v2.1, nên không cần bắt đầu từ đầu.

Kết quả benchmark:

  • Chip insertion (millimeter-level precision): 86% success rate
  • Block disassembly: 84% success rate
  • Train từ 240 giờ demo offline + ~3,000 online rollouts

Kiến trúc pipeline Robo-ValueRL — 4 giai đoạn từ value estimation đến online adaptation — nguồn: repo Open-X-Humanoid/Robo-ValueRL
Kiến trúc pipeline Robo-ValueRL — 4 giai đoạn từ value estimation đến online adaptation — nguồn: repo Open-X-Humanoid/Robo-ValueRL

Kiến Trúc 4 Giai Đoạn

Giai Đoạn 1: Value Estimation — "Giám Khảo" Lịch Sử

Value estimator nhận đầu vào là chuỗi hành động và ảnh từ nhiều camera trong quá khứ (multi-view, history-conditioned), sau đó predict remaining time — tức là còn bao nhiêu bước nữa thì task xong.

Đây là điểm khác biệt so với value function thông thường chỉ nhìn trạng thái hiện tại. Bằng cách sử dụng lịch sử, estimator có thể suy đoán trong điều kiện occlusion và giảm uncertainty của partial observation.

# Cấu trúc value estimator (pseudo-code)
class HistoryConditionedValueEstimator(nn.Module):
    def __init__(self, obs_horizon=16, n_cameras=3):
        super().__init__()
        # Visual encoder xử lý ảnh từ 3 camera
        self.visual_encoder = VisionTransformer(...)
        # History encoder xử lý sequence hành động
        self.history_encoder = TransformerEncoder(seq_len=obs_horizon)
        # Value head predict remaining time
        self.value_head = nn.Linear(hidden_dim, 1)
    
    def forward(self, obs_history, action_history):
        visual_feats = self.visual_encoder(obs_history)  # [B, T, D]
        history_feats = self.history_encoder(action_history)  # [B, T, D]
        fused = torch.cat([visual_feats, history_feats], dim=-1)
        return self.value_head(fused.mean(dim=1))  # Remaining time prediction

Remaining time prediction được convert thành task progress (0.0 = mới bắt đầu, 1.0 = hoàn thành). Delta giữa hai timestep liên tiếp là value difference — thước đo "hành động vừa rồi tốt đến mức nào".

Giai Đoạn 2: Quality Annotation — Từ Điểm Số Thành Nhãn

Sau khi value estimator đã train xong trên một phần dataset, toàn bộ offline dataset được chạy qua để tính value difference cho từng timestep. Ba ngưỡng được xác định dựa trên phân phối:

Nhãn Ngưỡng Ý nghĩa
GOOD top 33% Hành động đẩy task tiến nhanh
MEDIUM middle 33% Hành động bình thường
BAD bottom 33% Hành động không hiệu quả / sai

Nhãn này được gắn vào từng sample trong dataset, biến tập data "thô" thành tập data có chú thích chất lượng.

Giai Đoạn 3: Offline Pretraining — Học Có Chọn Lọc

Policy được train dùng quality-conditioned consistency policy — về cơ bản là diffusion-style policy nhưng được điều kiện hóa trên nhãn chất lượng. Trong quá trình inference, luôn condition trên "GOOD" để policy học sinh ra hành động tốt nhất.

# Train offline
cd robo_valuerl
bash scripts/train_robo_valuerl_offline.sh
# Checkpoint lưu tại: outputs/offline_pretraining/

Consistency policy có ưu điểm là inference nhanh hơn diffusion đầy đủ (một bước denoising thay vì nhiều bước), phù hợp với yêu cầu real-time control.

Giai Đoạn 4: Online Adaptation — Fine-Tune Trên Robot Thực

Đây là giai đoạn quan trọng nhất và cũng hay bị "fail" nhất khi làm VLA-RL. Robo-ValueRL dùng Residual Adaptation Module kết hợp RTC (Real-Time Chunking) để ổn định quá trình này.

Residual adapter là một module nhỏ được thêm vào policy đã pretrain. Thay vì fine-tune toàn bộ network (tốn kém và dễ catastrophic forgetting), chỉ adapter được cập nhật trong mỗi online step. Value function từ giai đoạn 1 tiếp tục đánh giá các online rollout, ưu tiên sample chất lượng cao vào replay buffer.

# Online adaptation
bash scripts/train_robo_valuerl_online.sh
# Cần kết nối với robot server qua socket

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 →

Cài Đặt Môi Trường

Yêu Cầu Phần Cứng

Thành phần Yêu cầu
Training GPU 8× NVIDIA A100 (80GB)
Inference GPU RTX 4090 (24GB)
Robot Dual-arm humanoid có 3 camera
RAM 64GB+
Storage 2TB+ (cho 240h demo data)

Nếu không có 8× A100, bạn có thể dùng ít hơn với torchrun nhưng cần tăng gradient accumulation để bù lại batch size. Community đã report train được với 4× A100 bằng cách set gradient_accumulation_steps=2.

Clone và Setup

# Clone repo
git clone https://github.com/Open-X-Humanoid/Robo-ValueRL.git
cd Robo-ValueRL

# Cài đặt một lệnh (tạo conda env + install deps)
bash install_simple.sh

Script install_simple.sh tự động:

  1. Tạo conda environment robo_valuerl
  2. Cài LeRobot v2.1
  3. Cài OpenPI (π₀ backbone)
  4. Apply PyTorch patches cần thiết cho transformers directory
# Activate environment
conda activate robo_valuerl

# Verify install
python -c "import robo_valuerl; print('OK')"
python -c "import openpi; print('OK')"

Cấu Trúc Thư Mục

Robo-ValueRL/
├── robo_valuerl/
│   ├── value_estimator/      # Stage 1: History-conditioned value model
│   ├── quality_annotation/   # Stage 2: Rank-based labeling
│   ├── offline_pretraining/  # Stage 3: Consistency policy
│   ├── online_adaptation/    # Stage 4: Residual adapter + RTC
│   └── utils/
├── scripts/
│   ├── train_robo_valuerl_value_estimator.sh
│   ├── train_robo_valuerl_offline.sh
│   └── train_robo_valuerl_online.sh
├── configs/
│   └── default.yaml
└── install_simple.sh

Pipeline Training Step-by-Step

Bước 1: Chuẩn Bị Dataset

Dataset mong đợi format LeRobot v2.1. Nếu bạn có raw teleop data (video + joint states), convert bằng:

python robo_valuerl/utils/convert_to_lerobot.py \
    --input_dir /path/to/raw_demos \
    --output_dir /path/to/lerobot_dataset \
    --robot_type tienkung_dual_arm \
    --n_cameras 3

Dataset gốc của X-Humanoid có sẵn trên HuggingFace tại X-Humanoid/Robo-ValueRL. Download bằng:

huggingface-cli download X-Humanoid/Robo-ValueRL \
    --repo-type dataset \
    --local-dir ./data

Bước 2: Train Value Estimator

cd robo_valuerl
bash scripts/train_robo_valuerl_value_estimator.sh \
    --dataset_path ./data/lerobot_dataset \
    --obs_horizon 16 \
    --n_cameras 3 \
    --epochs 50 \
    --batch_size 64

Training mất khoảng 6-8 giờ trên single A100. Checkpoint tốt nhất được chọn dựa trên validation loss (remaining time prediction error).

Tip: Theo dõi metric value_calibration_error trong log. Nếu > 0.15, tăng obs_horizon hoặc thêm dữ liệu.

Bước 3: Annotate Quality Labels

python robo_valuerl/quality_annotation/annotate_dataset.py \
    --dataset_path ./data/lerobot_dataset \
    --value_ckpt ./outputs/value_estimator/best.ckpt \
    --output_path ./data/annotated_dataset \
    --good_threshold 0.33 \
    --bad_threshold 0.33

Script này chạy qua toàn bộ dataset, tính value difference, và gán nhãn GOOD/MEDIUM/BAD cho từng timestep. Kết quả: dataset với column quality_label bổ sung.

Bước 4: Offline Pretraining

# Distributed training trên 8 GPU
torchrun --nproc_per_node=8 \
    robo_valuerl/offline_pretraining/train.py \
    --dataset_path ./data/annotated_dataset \
    --model_name openpi/pi0.5-base \
    --batch_size 256 \
    --lr 1e-4 \
    --epochs 100 \
    --output_dir ./outputs/offline_pretraining

Consistency policy được khởi tạo từ pretrained π₀.₅ weights, sau đó fine-tune trên annotated dataset. Quality conditioning được implement qua prefix token: [GOOD], [MEDIUM], [BAD] prepend vào sequence input.

Trong inference, luôn dùng [GOOD] token để steer policy sinh hành động tốt nhất.

Value diagnostics cho thấy sự khác biệt rõ ràng giữa GOOD/MEDIUM/BAD samples — nguồn: Robo-ValueRL project page
Value diagnostics cho thấy sự khác biệt rõ ràng giữa GOOD/MEDIUM/BAD samples — nguồn: Robo-ValueRL project page

Bước 5: Online Adaptation

Giai đoạn này yêu cầu kết nối thực tế với robot. Architecture dùng policy server / robot client thông qua socket:

# Terminal 1: Start policy server (trên GPU machine)
python robo_valuerl/online_adaptation/policy_server.py \
    --checkpoint ./outputs/offline_pretraining/best.ckpt \
    --port 8765

# Terminal 2: Start robot client (trên robot controller)
python robo_valuerl/online_adaptation/robot_client.py \
    --server_ip 192.168.1.100 \
    --port 8765 \
    --robot_config configs/tienkung_dual_arm.yaml

Online adaptation diễn ra tự động: robot execute policy, value estimator đánh giá kết quả, high-value samples được thêm vào replay buffer, residual adapter được update mỗi N rollouts.

Lưu ý safety: Config max_correction_magnitude trong configs/default.yaml giới hạn mức độ correction của residual adapter. Bắt đầu với giá trị nhỏ (0.1) và tăng dần khi đã verify robot behavior.

Kết Quả Thực Nghiệm

Kết quả offline pretraining so sánh các baseline — Robo-ValueRL đạt cao nhất trên cả hai task — nguồn: Robo-ValueRL project page
Kết quả offline pretraining so sánh các baseline — Robo-ValueRL đạt cao nhất trên cả hai task — nguồn: Robo-ValueRL project page

Hai task chính được benchmark:

Chip Insertion — task đặc trưng cho precision manipulation công nghiệp:

  • Tolerance: ±0.5mm
  • Success rate: 86% (so với baseline behavior cloning: ~61%)
  • Recovery từ failed grasp: policy tự adjust trajectory nhờ value guidance

Block Disassembly — task đánh giá generalization:

  • Cần sequence of actions dài hơn
  • Success rate: 84%
  • Notably: policy generalize sang orientation variations không có trong train set

Ablation quan trọng: Khi loại bỏ history conditioning (chỉ dùng single-frame observation), success rate giảm về 71% trên chip insertion — chứng minh rằng lịch sử quan sát là yếu tố then chốt, đặc biệt trong occlusion scenarios.

So sánh với các phương pháp liên quan như SimpleVLA-RL và ProcVLM dense reward: Robo-ValueRL tập trung vào value reliability thay vì chỉ reward density, dẫn đến online adaptation ổn định hơn khi không có reward function tường minh.

Hardware Setup: X-Humanoid TienKung

Framework được thiết kế cho dual-arm humanoid TienKung của X-Humanoid, nhưng architecture socket-based policy server/client có thể adapt sang robot khác bằng cách:

  1. Viết RobotClient custom implement interface BaseRobotClient
  2. Chỉnh robot_config.yaml cho joint limits và action space
  3. Map camera setup (framework mặc định 3 camera: wrist-left, wrist-right, overhead)
# configs/tienkung_dual_arm.yaml
robot:
  n_arms: 2
  dof_per_arm: 7
  cameras:
    - name: wrist_left
      resolution: [640, 480]
      fps: 30
    - name: wrist_right
      resolution: [640, 480]
      fps: 30
    - name: overhead
      resolution: [1280, 720]
      fps: 30
  action_space: joint_positions  # hoặc end_effector
  control_freq: 50  # Hz

Ứng Dụng Thực Tế

X-Humanoid công bố framework nhắm vào ba industry vertical:

  1. Semiconductor assembly — lắp chip IC, soldering điểm nhỏ, kiểm tra PCB
  2. Precision electronics — tháo lắp connector, cắm cáp ribbon, lắp ráp camera module
  3. Medical devices — lắp ráp dụng cụ y tế yêu cầu sterile và chính xác cao

Điểm mạnh so với robot arm công nghiệp truyền thống (ABB, FANUC): Robo-ValueRL không cần jig fixture cứng nhắc. Policy học thích nghi với variation trong positioning của object, giảm setup time và chi phí fixture.

Tài Nguyên

  • GitHub: Open-X-Humanoid/Robo-ValueRL
  • Project Page: gewu-lab.github.io/Robo-ValueRL
  • Paper (arXiv): arXiv:2607.09866 — Robo-ValueRL: Reliable Value Estimation for Offline-to-Online RL
  • HuggingFace Models: X-Humanoid/Robo-ValueRL
  • HuggingFace Dataset: X-Humanoid/Robo-ValueRL (dataset)
  • X-Humanoid: x-humanoid.com

Kết Luận

Robo-ValueRL đại diện cho một hướng đi thực tế và có thể deploy ngay: thay vì thiết kế reward function phức tạp hay thu thập hàng triệu rollout, framework tận dụng value estimation từ dữ liệu teleop có sẵn để bootstrap một policy đủ tốt cho precision manufacturing.

Ba điểm đáng nhớ:

  1. History conditioning giải quyết occlusion và partial observability — không cần SLAM hay explicit state estimation
  2. Quality annotation tự động từ value difference — không cần human reannotate data
  3. Residual adapter cho online adaptation nhẹ và ổn định — không cần retrain cả backbone

Nếu bạn đang làm manipulation task đòi hỏi precision cao và đã có teleop demo dataset, Robo-ValueRL là điểm khởi đầu đáng thử nghiêm túc.


Bài Viết Liên Quan

  • SimpleVLA-RL: Framework VLA-RL Đơn Giản, Train từ Zero đến Deploy
  • HiL-SERL: Online RL Thời Gian Thực cho Robot với Human-in-the-Loop
  • ProcVLM: Dense Reward Tự Động cho VLA-RL Không Cần Manual Annotation
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

NEWTutorial
LeRobot v0.6: Reward Models và lerobot-eval CLI
lerobotreinforcement-learningreward-model
wholebody-vla

LeRobot v0.6: Reward Models và lerobot-eval CLI

Hướng dẫn dùng Robometer, TOPReward, lerobot-eval CLI với 6 benchmarks và DAgger để đóng vòng RL tự động cho manipulation VLA trong LeRobot v0.6.

22/7/202611 phút đọc
NT
NEWTutorial
GalaxeaVLA G0.5: Hướng Dẫn Fine-Tune & Deploy
galaxeavlag0-5vla
wholebody-vla

GalaxeaVLA G0.5: Hướng Dẫn Fine-Tune & Deploy

Hướng dẫn fine-tune và deploy GalaxeaVLA G0.5 — VLA autoregressive thống nhất Qwen3.5 2B, đạt 98.9% LIBERO, 82.5% zero-shot DROID, mã nguồn mở.

20/7/202610 phút đọc
NT
Nghiên cứu
FORCE: Tăng 79% success rate khi fine-tune VLA bằng RL
vlareinforcement-learningfine-tuning
wholebody-vla

FORCE: Tăng 79% success rate khi fine-tune VLA bằng RL

FORCE giải quyết 2 điểm yếu cốt lõi của RL fine-tuning VLA — Q-function không ổn định và data exploration kém chất lượng — qua Value-Calibrated Warm-Up và Self-Distillation, đạt 79% cải thiện tuyệt đối mà không cần human intervention.

3/7/202611 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