navigationvlnnavigationllmvision-language

Vision-Language Navigation: Robot đi theo chỉ dẫn

Khám phá VLN -- cách robot hiểu và thực hiện chỉ dẫn ngôn ngữ tự nhiên, từ R2R benchmark đến NaVILA và LLM-based planning.

Nguyen Anh Tuan16 tháng 2, 20269 phút đọc
Vision-Language Navigation: Robot đi theo chỉ dẫn

Từ goal image đến ngôn ngữ tự nhiên

Trong Part 3, chúng ta đã thấy cách GNM, ViNT, và NoMaD sử dụng goal image để chỉ dẫn robot: "hãy đến nơi trông như thế này". Nhưng trong thực tế, con người không giao tiếp bằng ảnh -- chúng ta nói: "đi đến phòng bếp", "rẽ trái ở ngã tư, rồi đi thẳng đến cuối hành lang".

Vision-Language Navigation (VLN) là bài toán robot hiểu và thực hiện chỉ dẫn bằng ngôn ngữ tự nhiên trong môi trường 3D. Đây là một trong những bài toán khó nhất tại giao điểm giữa NLP, Computer Vision, và Robotics.

Tại sao khó? Vì robot cần:

  1. Hiểu ngôn ngữ: parse chỉ dẫn phức tạp, hiểu tham chiếu ("cái bàn bên cạnh cửa sổ")
  2. Nhìn và nhận diện: match ngôn ngữ với những gì nhìn thấy (grounding)
  3. Ra quyết định: chọn hướng đi dựa trên hiểu biết về ngôn ngữ và visual
  4. Xử lý không chắc chắn: ngôn ngữ mơ hồ, môi trường không quen thuộc

Robot nhận chỉ dẫn ngôn ngữ và di chuyển trong môi trường thực

Room-to-Room (R2R) -- Benchmark nền tảng

R2R Dataset

R2R (Anderson et al., CVPR 2018) là benchmark đầu tiên và quan trọng nhất cho VLN. Paper: Vision-and-Language Navigation: Interpreting visually-grounded navigation instructions in real environments.

Setup:

  • Môi trường: 90 buildings từ Matterport3D -- scan 3D của nhà thật, photorealistic
  • Chỉ dẫn: 21,567 instructions, trung bình 29 từ, do người viết
  • Task: agent bắt đầu tại một vị trí, đọc chỉ dẫn, đi đến đích

Ví dụ chỉ dẫn:

"Walk out of the bathroom. Turn left and walk down the hall. Turn left and wait in the doorway of the bedroom."

Metrics:

  • Success Rate (SR): tỷ lệ đến đúng đích (< 3m)
  • SPL (Success weighted by Path Length): SR * (shortest_path / actual_path) -- đánh giá hiệu quả đường đi
  • nDTW: normalized Dynamic Time Warping -- đo mức "đi đúng đường" so với reference path

R2R sử dụng navigation graph -- tập hợp các viewpoints (nodes) được kết nối bởi edges. Tại mỗi bước, agent:

  1. Nhìn panorama 360 độ tại node hiện tại
  2. Chọn node tiếp theo để di chuyển (từ các neighbors)
  3. Lặp lại cho đến khi quyết định dừng lại

Đây là discrete navigation -- agent teleport giữa các nodes, không cần xử lý low-level control. Các benchmark mới (VLN-CE) chuyển sang continuous environments với low-level actions.

Các giai đoạn phát triển của VLN

Giai đoạn 1: Sequence-to-Sequence (2018-2020)

Các models đầu tiên xử lý VLN như bài toán seq2seq: encode chỉ dẫn thành vector, decode thành chuỗi actions.

Speaker-Follower (Fried et al., NeurIPS 2018):

  • Follower: đọc chỉ dẫn, nhìn panorama, chọn action
  • Speaker: nhìn trajectory, sinh chỉ dẫn -- dùng cho data augmentation
  • Speaker generate chỉ dẫn mới cho các paths chưa có annotation -- tăng data gấp 10x

Giai đoạn 2: Transformer-based (2020-2023)

PREVALENTHAMT (History Aware Multimodal Transformer) đưa Transformer vào VLN:

  • Cross-attention giữa instruction tokensvisual features
  • History encoding -- nhớ những gì đã thấy trước đó
  • Pre-training trên image-text-action triplets

HAMT đạt SOTA trên R2R với 65% SR (2022), sử dụng hierarchical history encoding để xử lý long trajectories.

Giai đoạn 3: LLM-based Planning (2023-nay)

Sự bùng nổ của LLMs (GPT-4, LLaMA) mở ra hướng mới: sử dụng LLM như navigation planner.

LLM-based Navigation Planning

Ý tưởng chính

Thay vì train end-to-end model, dùng LLM làm "bộ não" suy luận:

Chỉ dẫn: "Đi đến phòng bếp, lấy cốc nước trên bàn"
    │
    ▼
LLM (GPT-4V / LLaMA)
    │
    ├── Hiểu chỉ dẫn: [đi đến phòng bếp] → [lấy cốc nước] → [trên bàn]
    ├── Nhìn ảnh hiện tại: "Tôi đang ở hành lang, phía trước có cửa"
    ├── Suy luận: "Phòng bếp thường có tủ lạnh, bếp -- chưa thấy → đi tiếp"
    │
    ▼
Action: "Đi thẳng, qua cửa phía trước"

NavGPT (Zhou et al., 2023) là một trong những công trình đầu tiên dùng GPT-4 cho VLN:

  1. Perception module: mô tả scene hiện tại bằng text ("I see a hallway with a door on the left")
  2. LLM reasoning: GPT-4 đọc chỉ dẫn + scene description, suy luận action tiếp theo
  3. Action execution: chuyển LLM output thành navigation action

Điểm mạnh:

  • Zero-shot: không cần train, chỉ cần prompt engineering
  • Reasoning minh bạch: có thể đọc được suy luận của LLM (khác với neural network black box)
  • Common sense: LLM biết "phòng bếp thường ở tầng 1", "toilet thường gần phòng ngủ"

Nhược điểm:

  • Chậm: mỗi bước cần 1 LLM call (~1-2 giây với GPT-4)
  • Hallucination: LLM có thể "tưởng tượng" thấy điều không có
  • Cost: API calls đắt tiền cho real-time navigation

SayNav và Hierarchical Planning

SayNav tiếp cận theo hướng hierarchical: LLM tạo high-level plan, classic planner thực hiện:

LLM: "Để đến phòng bếp, tôi cần: 
      1. Ra khỏi phòng hiện tại
      2. Đi dọc hành lang
      3. Rẽ phải tại ngã tư
      4. Phòng bếp ở cuối hành lang trái"
         │
         ▼
Classical Planner (Nav2): thực hiện từng bước với obstacle avoidance

Paper: NaVILA: Legged Robot Vision-Language-Action Model for Navigation (Cheng et al., RSS 2025)

NaVILA là công trình mới nhất, kết hợp VLA (Vision-Language-Action) model với locomotion skills cho legged robots (robot chân).

Kiến trúc 2 tầng

Tầng 1: VLA Model (low frequency ~2 Hz)
    Input: camera image + language instruction
    Output: mid-level command ("moving forward 75cm")
         │
         ▼
Tầng 2: Locomotion Policy (high frequency ~50 Hz)
    Input: mid-level command + proprioception
    Output: joint torques

Tại sao 2 tầng?

  • VLA model chạy chậm (inference ~0.5s) nhưng hiểu ngôn ngữ tốt
  • Locomotion policy chạy nhanh, xử lý real-time obstacle avoidance
  • Tách biệt cho phép mỗi tầng hoạt động ở tần số phù hợp

Kết quả

  • 88% success rate trên 25 chỉ dẫn thực tế
  • 75% success trên chỉ dẫn phức tạp (nhiều bước)
  • Robot Unitree Go2 đi được trong môi trường cluttered (đầy đồ vật)
  • Hiểu chỉ dẫn như "go to the kitchen and find the red cup on the counter"

So với NoMaD

Tiêu chí NoMaD NaVILA
Input Goal image Language instruction
Robot Wheeled Legged (quadruped)
Architecture ViT + Diffusion VLA + RL locomotion
Speed Fast (~20 Hz) 2 Hz (VLA) + 50 Hz (locomotion)
Terrain Flat Rough terrain
Interaction Image goal Natural language

Robot legged di chuyển theo chỉ dẫn ngôn ngữ trong môi trường phức tạp

VLN trong Continuous Environments

VLN-CE (Continuous Environments)

R2R sử dụng navigation graph (discrete). VLN-CE (Krantz et al., 2020) chuyển sang continuous environments -- robot phải tự điều khiển (linear + angular velocity), xử lý obstacle avoidance, và có thể đi lạc.

Khó hơn nhiều vì:

  • Không có teleportation -- phải tự tránh vật cản
  • Cumulative error -- sai số tích lũy theo thời gian
  • Larger action space -- từ discrete choices sang continuous control

Embodied VLN

EmbodiedGPTLEO (Large Embodied Model) là các công trình gần đây kết hợp:

  • 3D scene understanding: hiểu không gian 3D từ depth/point cloud
  • LLM reasoning: suy luận từ chỉ dẫn ngôn ngữ
  • Continuous control: output trực tiếp velocity commands

Thách thức còn lại

1. Grounding -- Kết nối ngôn ngữ với visual

"Cái bàn bên cạnh cửa sổ" -- robot cần hiểu "bên cạnh" là spatial relation, "cửa sổ" là object, và match với những gì nhìn thấy. Đây là bài toán visual grounding, vẫn chưa được giải quyết hoàn toàn.

2. Ambiguity trong ngôn ngữ

"Đi đến phòng" -- phòng nào? "Rẽ ở ngã tư" -- ngã tư nào? Ngôn ngữ tự nhiên vốn mơ hồ. Robot cần học cách hỏi lại (ask for clarification) hoặc dùng common sense để suy luận.

3. Dynamic environments

Chỉ dẫn "đi qua hành lang" nhưng hành lang đang có người đi lại, xe đẩy hàng. Robot cần adapt real-time -- kết hợp VLN với reactive obstacle avoidance.

4. Long-horizon tasks

Chỉ dẫn dài ("đi đến phòng bếp, lấy cốc, đổ nước, mang đến bàn") cần robot nhớ đã làm gì và kế hoạch những gì còn lại. Đây là vấn đề memory và planning -- LLMs có thể giúp.

Thực hành: Bắt đầu với VLN

Option 1: R2R với Habitat Simulator

# Setup Habitat
pip install habitat-sim habitat-lab

# Clone VLN dataset
git clone https://github.com/peteanderson80/Matterport3DSimulator.git

# Download R2R data
python -c "from habitat.datasets.vln import download_r2r; download_r2r()"

Option 2: VLN-CE với Habitat 3.0

# Habitat 3.0 (continuous environments)
pip install habitat-sim==0.3.0 --extra-index-url https://aihabitat.org/pip

# VLN-CE dataset
python -m habitat.datasets.vln_ce.download

Option 3: Real robot với NaVILA

NaVILA codebase cho phép deploy trên Unitree Go2 hoặc robot tương tự. Cần:

  • NVIDIA Jetson AGX Orin (hoặc GPU server)
  • RGB camera (front-facing)
  • Robot với locomotion controller

Tương lai của VLN

Multimodal Foundation Models

GPT-4o, Gemini 2.0, và các multimodal models đang làm mờ ranh giới giữa VLN và general AI. Tương lai, robot có thể:

  • Hỏi lại khi chỉ dẫn không rõ
  • Giải thích tại sao chọn đường này
  • Học từ feedback: "không phải phòng đó, phòng bên cạnh"

Từ Navigation đến Manipulation

VLN hiện tại chỉ là di chuyển. Bước tiếp theo là di chuyển + thao tác: "đi đến phòng bếp và pha cà phê" -- cần kết hợp VLN với manipulation skills.

Tiếp theo trong series

Đây là Part 4 của series Navigation hiện đại:


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.

Bài viết liên quan

Deep Dive
Mobile Manipulation: Base di chuyển + Arms trên Mobile Robot
lerobotmobile-manipulationnavigationamrPhần 8

Mobile Manipulation: Base di chuyển + Arms trên Mobile Robot

Kết hợp navigation và manipulation trên mobile robot — action space mở rộng, whole-body coordination, và sim environments.

2/4/20269 phút đọc
Deep Dive
Outdoor Navigation và Multi-Robot Coordination
navigationmulti-robotoutdoormapfvda5050Phần 5

Outdoor Navigation và Multi-Robot Coordination

GPS-denied navigation, terrain classification, multi-robot traffic management với VDA5050, và MAPF algorithms cho robot fleet.

20/2/202611 phút đọc
Nghiên cứu
Learning-based Navigation: GNM, ViNT và NoMaD
navigationdeep-learningfoundation-modelsvintPhần 3

Learning-based Navigation: GNM, ViNT và NoMaD

Khám phá foundation models cho robot navigation -- GNM, ViNT, NoMaD từ Berkeley và cách chúng thay đổi cách robot di chuyển.

12/2/202610 phút đọc