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. BridgeVLA++: Train VLA 3D Manipulation với Spatio-Temporal Memory
wholebody-vlavlamanipulation3d-manipulationspatio-temporalmemory-augmentedrlbenchpaligemmarobot-armbimanualieee-tpami-2026

BridgeVLA++: Train VLA 3D Manipulation với Spatio-Temporal Memory

Hướng dẫn train BridgeVLA++ — VLA 3D manipulation với spatio-temporal memory đạt 93.7% RLBench và 96.0% RMBench từ chỉ 100 demo, SOTA trên 5 benchmark.

Nguyễn Anh Tuấn1 tháng 9, 202611 phút đọc
BridgeVLA++: Train VLA 3D Manipulation với Spatio-Temporal Memory

Bạn đã từng thấy robot thao tác hoàn hảo trong lần đầu tiên, rồi đến lần thứ hai — khi vật thể bị che khuất một chút, hoặc thứ tự bước thay đổi — robot lại đứng im không biết làm gì? Đây chính là bài toán memory trong VLA (Vision-Language-Action): model thông minh đến đâu, nếu không nhớ được mình vừa làm gì và vật thể đang ở đâu, thì vẫn thất bại ở những tình huống phức tạp hơn.

BridgeVLA++ (arXiv 2608.05042) từ Chinese Academy of Sciences và ByteDance Seed giải quyết đúng vấn đề này. Paper submit lên IEEE TPAMI tháng 8/2026, kế thừa BridgeVLA gốc (NeurIPS 2025) và bổ sung một module spatio-temporal memory thống nhất — phân chia rõ ràng: temporal memory giải quyết "tiếp theo làm gì", còn spatial memory giải quyết "làm chính xác ở đâu". Kết quả: 93.7% trên RLBench, 96.0% trên RMBench (benchmark dual-arm memory-dependent), đạt SOTA trên 5 benchmark simulation và được kiểm chứng trên 2 nền tảng robot thực tế.

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 →

BridgeVLA gốc là gì? Nền tảng cần hiểu trước

Để hiểu BridgeVLA++, bạn cần biết BridgeVLA (NeurIPS 2025) đã làm gì. Đây là một VLA với ý tưởng cốt lõi khá thông minh: thay vì cố gắng xử lý point cloud 3D trực tiếp trong không gian 3D (vốn rất khó để VLM pretrained hiểu), BridgeVLA chiếu point cloud 3D thành 3 ảnh orthographic 2D (top view, front view, side view), rồi dùng VLM (PaliGemma 3B) để dự đoán 2D heatmap — mỗi pixel của heatmap là xác suất "đây là điểm action tiếp theo". Từ heatmap đó, robot biết cần di chuyển đến đâu trong không gian 3D.

Cách tiếp cận này giữ được input-output alignment với quá trình pretrain của VLM (vốn hiểu ảnh 2D rất tốt), trong khi vẫn khai thác được thông tin 3D. Chỉ cần 100 demo để fine-tune cho simulation, 10 demo cho real-world.

Điểm yếu của BridgeVLA gốc: Không có memory. Mỗi step, model chỉ thấy observation hiện tại. Nếu task cần nhớ lịch sử (vật thể đã được đặt vào hộp nào? bước trước vừa làm gì? vật thể bị tay robot che khuất không thấy nữa?), thì BridgeVLA fail. Trên RMBench — benchmark 9 task dual-arm cần memory — BridgeVLA đạt… 18.9%.


BridgeVLA++: Spatio-Temporal Memory được Thiết Kế Như Thế Nào?

BridgeVLA++ không thay đổi kiến trúc core của BridgeVLA. Thay vào đó, nó inject hai module memory vào không gian patch-token của VLM, tại hai giai đoạn khác nhau trong pipeline coarse-to-fine.

Kiến trúc BridgeVLA++ với coarse-to-fine pipeline và memory injection — nguồn: bridgevla-plus.github.io
Kiến trúc BridgeVLA++ với coarse-to-fine pipeline và memory injection — nguồn: bridgevla-plus.github.io

Temporal Memory (𝒯ₜ) — "Tiếp Theo Làm Gì?"

Temporal memory hoạt động ở giai đoạn coarse — giai đoạn model quyết định vùng hành động ở mức độ tổng thể. Memory này lưu 3 loại thông tin:

  1. Initial anchor views (𝐀₀): Ảnh chụp từ bước đầu tiên của episode. Đây là "ground truth" về trạng thái ban đầu — trước khi robot đụng vào bất cứ thứ gì.

  2. Neighboring keyframes (ℋₜⁿᵇʳ): N = 2 keyframe gần nhất vừa thực hiện. Giúp model hiểu "vừa rồi tôi đã làm bước nào".

  3. Sub-goal keyframes (ℋₜˢᵘᵇ): Keyframe được chọn adaptively bởi một module học được, đánh dấu các milestone quan trọng trong task. Ví dụ: "đã mở nắp hộp", "đã đặt vật vào trong". Module này được train với binary cross-entropy loss — học cách nhận biết frame nào đáng nhớ.

Tất cả được inject vào VLM qua cross-attention: token hiện tại query memory tokens để "hỏi" lịch sử trước khi quyết định action tiếp theo.

Spatial Memory (𝒮ₜ) — "Làm Chính Xác Ở Đâu?"

Spatial memory hoạt động ở giai đoạn fine — giai đoạn model cần xác định vị trí chính xác để thực hiện action. Vấn đề ở đây là: khi tay robot đang cầm vật thể, chính tay robot có thể che khuất vật thể đó. Observation hiện tại không đủ để biết vật ở đâu.

Giải pháp: lưu colored point cloud từ observation đầu tiên (trước khi robot làm gì cả). Khi cần thực hiện fine-stage action, model re-render point cloud này với cùng zoom và viewpoint như observation hiện tại, tạo ra ảnh tham chiếu hình học. Tay robot không xuất hiện trong ảnh tham chiếu này — vật thể hiện ra rõ ràng.

Minh họa 9 task dual-arm trong RMBench — BridgeVLA++ đạt 96.0% — nguồn: bridgevla-plus.github.io
Minh họa 9 task dual-arm trong RMBench — BridgeVLA++ đạt 96.0% — nguồn: bridgevla-plus.github.io

Overhead Tính Toán

Toàn bộ memory module chỉ thêm 269.77 triệu parameters vào backbone PaliGemma 3B — tương đương 9.2% overhead. Inference latency tăng từ 0.35s lên 0.57s/step trên RTX 4090. Đây là mức overhead rất hợp lý so với lợi ích mang lại.


Cài Đặt và Chuẩn Bị Môi Trường

Clone repository và cài đặt theo benchmark bạn muốn chạy:

git clone https://github.com/BridgeVLA/BridgeVLA.git
cd BridgeVLA
# main branch = BridgeVLA++
# git checkout bridgevla  # để dùng phiên bản gốc NeurIPS 2025

Mỗi benchmark có script cài đặt conda riêng biệt (idempotent — chạy nhiều lần không lỗi):

# RLBench (benchmark phổ biến nhất — 18 tasks)
bash finetune/RLBench/install_rlbench.sh

# COLOSSEUM (test generalization với 14 distribution shifts)
bash finetune/RLBench/install_rlbench.sh   # cài RLBench trước
bash finetune/Colosseum/install_colosseum.sh

# GemBench / MemoryBench
bash finetune/GemBench/install_gembench.sh

# RMBench (dual-arm memory tasks)
bash finetune/RMBench/install_rmbench.sh

# Pre-training (nếu muốn train từ đầu)
bash pretrain/install_pretrain.sh

Tải dataset cho các benchmark cần thiết:

# Tải tất cả 5 benchmark datasets
bash scripts/download_datasets.sh rlbench colosseum gembench memorybench rmbench

# Hoặc từng cái, có extract tự động
bash scripts/download_datasets.sh rlbench --extract
bash scripts/download_datasets.sh rmbench --extract

Lưu ý: RLBench yêu cầu pre-built keyframe caches. Script download_datasets.sh đã bao gồm cả phần này.


Pre-training: Dạy Model Nhìn và Hiểu

BridgeVLA++ dùng pre-training 2 giai đoạn. Giai đoạn 1 là grounding pre-training — dạy backbone PaliGemma học dự đoán 2D heatmap từ instruction ngôn ngữ:

# Pre-training trên 120K RoboPoint object-detection data
# Yêu cầu 8×A100, khoảng 2 tiếng
bash pretrain/pretrain.sh

Dataset pre-training là RoboPoint object-detection split (120K samples) — các cặp (ảnh, text instruction, bounding box). Model học: "khi người dùng nói 'pick up the red cup', hãy dự đoán heatmap tập trung vào vị trí của red cup". Đây là bước alignment quan trọng nhất — sau pre-training, model đã "biết" cách chú ý đúng vào vật thể được đề cập.

Nếu bạn không muốn pre-train từ đầu (mất ~2h, 8 GPU), hãy tải pretrained checkpoint:

bash scripts/download_checkpoints.sh pretrained

Fine-tuning: Dạy Robot Thao Tác Cụ Thể

Sau pre-training, fine-tune cho từng benchmark. BridgeVLA++ chỉ cần 100 demo/task cho simulation — con số rất nhỏ so với nhiều VLA khác:

# Fine-tune trên RLBench (18 manipulation tasks)
bash finetune/RLBench/train.sh

# Fine-tune trên COLOSSEUM (generalization test)
bash finetune/Colosseum/train.sh

# Fine-tune trên GemBench
bash finetune/GemBench/train.sh

# Fine-tune trên MemoryBench (single-arm memory tasks)
bash finetune/memoryBench/train.sh

# Fine-tune trên RMBench (dual-arm memory tasks)
bash finetune/RMBench_vla/train.sh

Trong quá trình fine-tuning, model tối ưu dual loss:

L_total = L_est + λ_check × L_check

Trong đó:

  • L_est: loss dự đoán action (heatmap prediction)
  • L_check: binary cross-entropy loss cho adaptive keyframe selection — dạy module quyết định frame nào đáng lưu vào sub-goal memory
  • λ_check = 0.1 theo mặc định

Data augmentation được áp dụng nhất quán trên observation hiện tại, memory samples, và ground-truth actions — tránh trường hợp augmentation làm lệch giữa memory và observation hiện tại.


Đánh Giá: 5 Benchmark Chứng Minh SOTA

Kết quả real-world BridgeVLA++ trên Franka Research 3 và Dobot CR5A — nguồn: bridgevla-plus.github.io
Kết quả real-world BridgeVLA++ trên Franka Research 3 và Dobot CR5A — nguồn: bridgevla-plus.github.io

Chạy Đánh Giá

# Đánh giá trên RLBench
bash finetune/RLBench/eval.sh

# GemBench và MemoryBench cần 2 terminal (server-client setup)
# Terminal 1:
bash finetune/GemBench/start_server.sh
# Terminal 2:
bash finetune/GemBench/eval.sh

Kết Quả Chi Tiết

Benchmark BridgeVLA BridgeVLA++ Prior SOTA Ghi chú
RLBench (18 tasks) 90.5% 93.7% SAM2Act: 86.8% General manipulation
COLOSSEUM (14 settings) 64.0% 65.2% RVT-2: 56.7% Out-of-distribution
GemBench 50.0% 51.1% ~46% Compositional
RMBench (9 dual-arm) 18.9% 96.0% MemoryWAM: 83.0% Memory-dependent
MemoryBench (3 tasks) 11.3% 99.7% SAM2Act+: thấp hơn Single-arm memory

Số liệu đáng chú ý nhất là RMBench: từ 18.9% lên 96.0% — tăng 77 điểm phần trăm. Đây là minh chứng rõ nhất cho tầm quan trọng của memory. Không có memory, dual-arm coordination gần như không thể (robot không nhớ arm kia vừa làm gì, không nhớ object đã được đặt vào đâu). Với BridgeVLA++, model nhớ được toàn bộ lịch sử episode qua temporal memory.

MemoryBench còn ấn tượng hơn: 99.7% ± 0.3% — gần như perfect. Đây là 3 task single-arm cần nhớ đúng sequence và spatial location của các vật thể đã thao tác trước đó.

Real-World: Franka Research 3 và Dobot CR5A

# Deploy trên robot thực (cần cấu hình IP và camera)
bash real_robot/install_train.sh      # trên GPU server
bash real_robot/install_deployment.sh  # trên robot workstation
bash real_robot/eval_franka.sh        # chạy evaluation

Kết quả real-world:

  • Franka Research 3 (13 manipulation tasks): 96.9% thành công với 10 demo/task
  • Franka với 3 demo/task (few-shot extreme): vẫn đạt 95.4% — cực kỳ data-efficient
  • Dobot CR5A (memory-dependent tasks): 93.3% vs 30.0% của SAM2Act+

Camera dùng: ZED 2i stereo camera đặt tĩnh (static mount). Không cần wrist camera vì point cloud đã cung cấp đủ thông tin 3D.


Bimanual: Khi Hai Tay Phải Phối Hợp

Một trong những tính năng ít được nói đến nhưng rất quan trọng của BridgeVLA++ là hỗ trợ bimanual manipulation. Bằng cách share spatial memory giữa 2 arm (cùng reference point cloud, cùng không gian hình học), 2 arm phối hợp được với nhau mà không cần separate coordination module.

Kết quả trên RMBench (9 task dual-arm):

  • Không có memory: 18.9% (thất bại toàn tập)
  • Với BridgeVLA++: 96.0%

Đây là cross-embodiment scalability thực sự: cùng một framework, cùng một training recipe, hoạt động tốt trên cả single-arm lẫn dual-arm.


So Sánh với Các VLA Khác

Feature BridgeVLA++ RVT-2 SAM2Act ACT
Memory module ✅ Spatio-temporal ❌ Partial ❌
3D input Point cloud → 2D Voxel N/A ❌
Bimanual ✅ Native ❌ ❌ Separate model
Demo số lượng 100 (sim), 10 (real) 100+ 100+ 50+
RLBench 93.7% 82.2% 86.8% N/A
Memory tasks 96.0% ~40% 74% N/A

BridgeVLA++ nổi bật đặc biệt ở memory-dependent tasks — đây là gap lớn nhất với các phương pháp hiện có.


Khi Nào Nên Dùng BridgeVLA++?

BridgeVLA++ là lựa chọn tốt khi:

  • Task cần multi-step planning: nhặt vật → đặt vào hộp → đóng nắp. Memory giúp nhớ đã làm bước nào.
  • Bạn có ít data: 10 demo cho real-world là rất ít. Nếu thu thập dữ liệu khó (robot đắt, thời gian teleop hạn chế), đây là VLA phù hợp.
  • Task có occlusion: khi vật thể bị che khuất bởi tay robot hoặc vật khác, spatial memory giúp duy trì ước lượng vị trí chính xác.
  • Dual-arm coordination: bimanual manipulation với shared memory là điểm mạnh độc đáo.

Cân nhắc khi:

  • Task đơn giản, memoryless: nếu chỉ cần "pick and place" không có multi-step dependency, BridgeVLA gốc (branch bridgevla) đủ dùng và nhanh hơn.
  • Latency cực kỳ quan trọng: 0.57s/step — nếu bạn cần dưới 0.1s, cần architecture khác.

Kết Luận

BridgeVLA++ chứng minh một nguyên tắc đơn giản nhưng thường bị bỏ qua trong thiết kế VLA: robot cần nhớ. Không phải nhớ mọi thứ — mà nhớ đúng thứ cần nhớ. Temporal memory chọn lọc keyframe quan trọng, spatial memory giữ lại hình học ban đầu để giải quyết occlusion. Hai thành phần này cộng tác để robot vừa biết "tiếp theo làm gì" vừa biết "làm chính xác ở đâu".

Với chỉ 9.2% overhead parameter và kết quả SOTA trên 5 benchmark, BridgeVLA++ là một trong những VLA production-ready nhất hiện nay cho 3D manipulation tasks. Code và checkpoint đã public tại github.com/BridgeVLA/BridgeVLA.


Bài Viết Liên Quan

  • ResVLA: Anchor VLA Policy từ Intent với Residual Diffusion Bridge (ICML 2026)
  • FM-VLA: Force Memory Token cho Robot Manipulation Contact-Rich
  • Spatial VLA: Từ Text Instruction đến 3D Action Space
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
FM-VLA: Force Memory Token cho VLA Contact-Rich Manipulation
vlaforce-sensingmanipulation
wholebody-vla

FM-VLA: Force Memory Token cho VLA Contact-Rich Manipulation

FM-VLA dùng VAE nén lịch sử lực thành Force Memory Tokens, giúp VLA vượt giới hạn Markovian — đếm contact, nhớ tiến trình, đạt 83.3% trên robot AgiBot G1.

31/7/202614 phút đọc
NT
Tutorial
LabVLA: VLA Mã Nguồn Mở cho Robot Phòng Lab
lerobotvlaqwen3-vl
wholebody-vla

LabVLA: VLA Mã Nguồn Mở cho Robot Phòng Lab

Hướng dẫn chạy LabVLA — mô hình VLA đầu tiên cho lab khoa học, kết hợp Qwen3-VL-4B với DiT flow-matching và LeRobot v2 format. 71.1% trên LabUtopia benchmark.

12/6/202614 phút đọc
NT
Nghiên cứu
A1 VLA: Deploy VLA SOTA với Latency Giảm 72%
vlarobot-armfranka
wholebody-vla

A1 VLA: Deploy VLA SOTA với Latency Giảm 72%

Hướng dẫn A1 VLA open-source: giảm latency 72% trên Franka/AgiBot nhờ Inter-Layer Truncated Flow Matching, đạt SOTA trên LIBERO 96.6% và VLABench 53.5%.

1/6/202612 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