Natural-language robot navigation

Natural-Language
to Nav2.

Operational Policies for
Costmap-Based Navigation

Bring operating instructions into robot navigation. A local language model interprets the policy; Nav2 plans and follows the path.

ROS 2 HumbleNav2Local LLMs
Gazebo warehouse with parallel aisles, shelving, and a mobile delivery robot
01 / SimulationGazebo warehouse
Physical maze testbed with white corridor partitions used for TurtleBot3 navigation
02 / Physical robotTurtleBot3 testbed
150English commands
10 × 5Intentions × phrasing levels
4Navigation tasks
2Experimental environments

01 / Capabilities

Instructions beyond
the geometric map.

Destinations, corridor restrictions, and operating conditions become inspectable policies without replacing the Nav2 planner or controller.

01

Choose where to go.

Specify ordered waypoints and required transit zones. Registered map labels connect language to navigation goals.

WaypointsTransit zones
02

Shape the available routes.

Close a corridor or assign relative zone costs. Object rules add configured avoidance regions around detected people.

KeepoutsSoft costsObject regions
03

Let conditions change.

Apply time-limited restrictions and event-dependent permissions. The costmap can change while the destination remains active.

Timed expiryEvent rules
04

Keep policy state explicit.

Inspect accepted updates, queue follow-up missions, and share constraints across namespaced robots with independent Nav2 instances.

ValidationMission queueShared policies

02 / Navigation experiments

Operating policies.
Observable route changes.

Four tasks examine keepout avoidance, zone costs, person-conditioned avoidance, and event-dependent passage in two testbeds.

Gazebo warehouse
A 25.9 × 41.6 m environment with shelves, barriers, and moving obstacles.

Task 1 · Keepout114.009 → 86.125 s

Mean travel time: Baseline → Policy

Simulation results · mean ± sample SD · reported n = 10 per condition
Task / policyComparisonTravel time (s)Travel distance (m)
Task 1KeepoutBaseline → Policy114.009 ± 0.721→ 86.125 ± 0.23048.572 ± 0.108→ 37.245 ± 0.108
Task 2Zone costsBaseline → Policy311.369 ± 1.444→ 238.751 ± 3.643126.152 ± 0.180→ 96.003 ± 0.177
Task 3Person avoidanceBaseline → Policy142.049 ± 0.315→ 115.872 ± 0.79061.185 ± 0.140→ 49.527 ± 0.340
Task 4Event permissionPriority-Off → Priority-On86.170 ± 0.456→ 81.056 ± 0.32837.241 ± 0.186→ 34.699 ± 0.121
View representative Task 1 trajectories
Simulation Task 1 baseline trajectory approaches the blocked corridor before detouring
Baseline
Simulation Task 1 policy-informed trajectory directly takes the alternative corridor
Policy

Tasks 1–3 compare sensor-based Nav2 with the same stack supplied with operating policies. Task 4 compares passage permissions within the policy-enabled stack.

Native keepout control Same region. Five runs per method.

Native KeepoutFilter and custom KeepoutLayer both complete 5/5 runs and support restriction, release, and reapplication in pre-motion checks.

Simulation keepout control · mean ± sample SD
MethodCompletedDistance (m)Time (s)
Native KeepoutFilter5/537.339 ± 0.10386.430 ± 0.236
Custom KeepoutLayer5/537.300 ± 0.13186.351 ± 0.329
Odometry & ground-truth records

03 / Language benchmark

Different words.
The intended policy.

Four local LLMs and a rule-based parser are evaluated on a researcher-authored English benchmark, from direct instructions to indirect expressions.

94.7%

142 / 150 correct accepted policies
Qwen3.5-9B

29.3%

44 / 150 correct accepted policies
Rule-based parser

Correct accepted policies · identical schema and 15 prompt demonstrations for the LLMs
MethodPost-V policy accuracy95% CIGeneration latency
Rule-based parser29.3% (44/150)22.6–37.1%0.175 ms
Llama 3.1-8B71.3% (107/150)63.6–78.0%2.533 s
Qwen2.5-7B81.3% (122/150)74.3–86.8%1.694 s
Qwen3-8B94.0% (141/150)89.0–96.8%1.800 s
Qwen3.5-9B94.7% (142/150)89.8–97.3%3.011 s
View all five processing outcomes
Mutually exclusive counts · each row totals 150
MethodCorrect
accepted
Incorrect
accepted
Interpreter
rejection
Parsing
rejection
Validator
rejection
Rule-based parser44101500
Llama 3.1-8B107200023
Qwen2.5-7B122103015
Qwen3-8B1417101
Qwen3.5-9B1423401

04 / Interface demonstrations

From an instruction
to a robot in motion.

Watch the interface apply map-specific instructions and shared operating rules in Gazebo.

Map-specific policies

New waypoint. New zone. Same interface.

“Please go to WP9 without passing through Zone F.” The command is submitted through the GUI, then Gazebo and RViz show its navigation effect.

Shared policy interface

Separate missions. Shared restrictions.

Three namespaced Nav2 instances receive common zone rules while following independent waypoint missions.

This additional three-robot demonstration is separate from the two-robot demonstration in the paper.

Code & data

Explore the implementation.

Policy Bridge, custom costmap layers, command benchmarks, and keepout run records.

Open GitHub repository