Source-linked AI summary

The Marathon 2: A Navigation System

Steve Macenski, Francisco Martín, Ruffin White, Jonatan Ginés Clavero

arXiv:2003.00368v2cs.RO

TL;DR

Existing ROS Navigation was widely adopted but had limitations in dynamic environments and ROS1 security and performance. Navigation2 refreshes it with behavior-tree orchestration, modular runtime plugins, and ROS2 infrastructure, then evaluates the system in a long-duration campus experiment. The robots navigated over 37 miles without collisions, dangerous emergency-stop situations, direct assistance, or failed navigation tasks.

  • Problem

    ROS Navigation faced perception and controller issues in highly dynamic environments, lacked a general state estimator, and inherited ROS1 security and performance limitations.

  • Method

    Navigation2 combines configurable behavior-tree orchestration, modular task-specific servers with runtime algorithm plugins, and ROS2 communication and lifecycle management.

  • Results

    The robots successfully navigated over 37 miles in under 23 hours in a dynamic campus environment without collisions, dangerous emergency stops, direct assistance, or failed navigation tasks.

  • Takeaways & Limitations

    Navigation2 reliably navigated alongside students during long-duration campus testing with two industrial-grade robots and no human intervention or collision.

  • Takeaways & Limitations

    The A* planner does not create feasible paths for noncircular non-holonomic robots, limiting complex-geometry and car-like robots.

Abstract

from arXiv · show

Developments in mobile robot navigation have enabled robots to operate in warehouses, retail stores, and on sidewalks around pedestrians. Various navigation solutions have been proposed, though few as widely adopted as ROS Navigation. 10 years on, it is still one of the most popular navigation solutions. Yet, ROS Navigation has failed to keep up with modern trends. We propose the new navigation solution, Navigation2, which builds on the successful legacy of ROS Navigation. Navigation2 uses a behavior tree for navigator task orchestration and employs new methods designed for dynamic environments applicable to a wider variety of modern sensors. It is built on top of ROS2, a secure message passing framework suitable for safety critical applications and program lifecycle management. We present experiments in a campus setting utilizing Navigation2 to operate safely alongside students over a marathon as an extension of the experiment proposed in Eppstein et al. The Navigation2 system is freely available at https://github.com/ros-planning/navigation2 with a rich community and instructions.

I. INTRODUCTION

Navigation2 refreshes the influential ROS Navigation Stack for modular, dynamic-environment operation across more robot types. It combines configurable behavior-tree orchestration with ROS2 and demonstrates long-duration campus navigation.

  • Motivation: ROS Navigation became highly influential but faced dynamic-environment perception and controller issues and lacked a general state estimator.The passage also identifies ROS1 security and performance limitations for safety-critical applications.
  • Motivation: Navigation2 aims to extend Navigation’s success to more robot shapes and locomotion types in complex environments.
  • Contribution: Navigation2 uses configurable behavior trees to orchestrate planning, control, and recovery through remotely served, runtime-selectable algorithm plugins.Each server follows a standard plugin interface for adding and selecting algorithms at runtime.
  • Contribution: Navigation2 is built on ROS2, whose real-time, low-latency architecture provides security, reliability, and lifecycle-management capabilities.
  • Contribution: The system refreshes navigation algorithms around modularity and dynamic-environment operation, including voxel layers, layered costmaps, TEB, and multi-sensor localization.The components support holonomic and non-holonomic robot types and are runtime configurable.

II. RELATED WORK

Prior navigation systems established probabilistic mapping, localization, planning, and obstacle avoidance, while sensing and application needs evolved. Navigation2 responds with a modular behavior-tree framework and extended dynamic-environment experimentation.

  • Earlier systems: Early service robots used sonar or probabilistic occupancy grids with varying planning approaches to navigate office, hallway, and museum environments.
  • Earlier systems: Earlier approaches commonly used A* and DWA for planning and obstacle avoidance, with some systems relying on specialized tilting laser-scanner formulations.
  • Sensor evolution: Inexpensive 3D cameras, laser scanners, and sparse multi-beam scanners created requirements beyond older tilting-2D-laser assumptions.
  • Comparison: A 2013 outdoor experiment covered 7 km with mapping, localization, and simple dynamic-obstacle detection, whereas this work emphasizes modularity and longer experimentation.
  • Behavior trees: Behavior trees are used because they support reusable, runtime-loaded primitives for complex tasks without requiring programmed logic for each modification.

III. NAVIGATION2 DESIGN

Navigation2 is designed as a configurable, modular system for diverse robots and environments, with ROS2 providing reliability-oriented communication and lifecycle control. Its behavior-tree navigator coordinates asynchronous task servers that load algorithm plugins at runtime.

  • Design goals: Navigation2 targets diverse robot types and applications while incorporating safety, security, determinism, and future expansion.
  • A. Reliable: ROS2 uses DDS communication and security features to support strict messaging guarantees and secure information transmission for industrial-grade robots.
  • A. Reliable: Managed Nodes provide explicit lifecycle state transitions and deterministic bringup and shutdown behavior for Navigation2 servers.The design applies managed nodes to program lifecycle management and memory allocation.
  • B. Modular and Reconfigurable: Navigation2 combines a behavior-tree navigator with task-specific asynchronous ROS2 servers hosting dynamically loaded algorithm plugins.
  • B. Modular and Reconfigurable: Behavior trees activate and track planner, controller, and recovery servers, and can be changed at runtime through XML without programming.
  • B. Modular and Reconfigurable: The navigator can call long-running servers on other processor cores or CPUs, while task servers handle requests and forward them to selected plugins using environmental models.

C. Support Feature Extensions

Navigation2’s modular behavior-tree and plugin architecture supports extensions for complex missions, docking, and elevator operation. Docking and elevator integrations are described but were not implemented because vendor standardization was lacking.

  • Mission integration: Navigation2 can serve as a subtree within larger behavior-tree missions through a provided wrapper.
  • Docking and elevators: Docking controllers can be loaded into the controller server and called from a behavior tree, while elevator actions can invoke vendor IoT APIs.
  • Docking and elevators: Docking and elevator extensions were not implemented because vendor standardization was lacking, although instructions are provided to enable them.

IV. NAVIGATION2 IMPLEMENTATION

Navigation2 implements navigation through a behavior-tree navigator and task-specific servers containing replaceable algorithm plugins. Recovery behaviors provide ordered responses to planner, controller, and system failures.

  • Architecture: Navigation2 servers expose algorithm plugins that users can customize or replace at run-time.Each server contains a relevant environmental model, a ROS2 network interface, and algorithm plugins.
  • Behavior Tree Navigator: The behavior-tree navigator hosts user-defined trees and invokes servers to complete navigation tasks.The navigator is the highest-level component, while each tree node calls a server for its task.
  • Behavior Tree Navigator: Figure 3 uses fallback nodes to advance after planner failure and sequence nodes to continue controller or recovery actions.The marathon tree ticks the global planner at 1 Hz and clears environmental obstacles when planning fails.
  • Recovery: Recovery behaviors mitigate navigation failures and are ordered from conservative to aggressive actions.They can be specific to planner or controller subtrees, or operate at the system level.
  • Recovery: The experiment used Clear Costmap, Spin, and Wait recoveries for perception failures, local entrapment, and time-based obstacles.Wait also allows the robot to collect more sensor data.

C. Perception

Navigation2 combines layered costmaps and dynamic 3D perception with configurable planning and control plugins. STVL maintains temporally persistent voxel representations, while TEB supports dynamic constraints and multiple robot types.

  • Perception: Layered costmaps combine data sources and algorithms while allowing customization of sensor modalities, resolutions, and update rates.Each layer can extend or modify the inherited costmap.
  • Perception: STVL maintains a decaying 3D voxel representation to project dynamic obstacles into the 2D planning space.It uses temporal measurement persistence and scales better than raycasting with many high-resolution, long-range sensors.
  • Planning and Control: The global planner computes routes, while the controller uses local information to produce paths and control signals through asynchronous plugin servers.Relevant global and local costmaps are co-located with their respective servers for performance.
  • Planning and Control: TEB combines with STVL for dynamic navigation and can incorporate object detections and tracks as environmental constraints.TEB is suitable for differential, omnidirectional, and ackermann-style robots.
  • Planning and Control: Navigation2 provides A* planning and TEB control, while DWB is available but was not used because of performance in dynamic scenes.A* assumes a 2D holonomic particle; TEB performs time-optimal point-to-point nonlinear model predictive control.

E. State Estimation

Navigation2 estimates robot state using ROS transformation-tree standards, sensor fusion, and separate global localization. Lifecycle and GUI tools manage server activation and real-time navigation commands.

  • State Estimation: Robot Localization fuses arbitrary sensor sources with Extended or Unscented Kalman Filters to provide smoothed base odometry.Typical inputs include wheel odometry, multiple IMUs, and visual odometry.
  • State Estimation: Because local filtering cannot correct integrated odometric drift, Navigation2 also requires a global localization solution.The implementation uses separate global localization tools for navigation.
  • State Estimation: SLAM Toolbox created the static map, while AMCL localizes the robot in an occupancy grid using a particle filter.SLAM Toolbox uses graph-based 2D pose graphs and scan matching; AMCL supports omni-directional or differential motion models.
  • Lifecycle Management: The Lifecycle Manager transitions navigation servers through inactive, active, and finalized states.It can activate all provided servers during system bringup or wait for an activation signal.
  • Lifecycle Management: A GUI manages lifecycle operations, navigation commands, waypoint selection, and real-time task cancellation.Autonomous applications can access these commands through ROS2 interfaces.

G. Quality Assurance

Navigation2 uses unit, simulation, and system-wide integration testing to monitor regressions and algorithm performance across robot platforms. A long-duration campus experiment evaluated two robots navigating around students without intervention.

  • Quality Assurance: Continuous-integration simulation tests emulate complete robot software stacks in Gazebo across static and dynamic scenarios.The quality-assurance process also includes unit tests, code linters, and memory static analysis.
  • Quality Assurance: System tests monitor navigation failures and algorithm performance across trajectories and robot platforms with different locomotion kinematics.This extends testing beyond isolated software components.
  • Experiment: Two professional robots operated without human assistance in a human-filled university environment at near-industrial speeds during an ultramarathon.The Tiago and RB-1 base were used for the long-term robustness experiment.
  • Experiment: The 300-meter route passed a stairwell, high-traffic bridge and hallway, and a narrow doorway while students sometimes blocked the robot.The track ended back in a laboratory without intervention.
  • Experiment: Both robots used differential steering, RGBD cameras, and safety laser scanners, with a 0.45 m/s maximum speed for functional safety.The robots had similar diameters but different heights and sensor ranges and resolutions.
  • Experiment: The experiment recorded pose covariance, commanded speed, recoveries, distance, laser scans, transformations, inertial data, and maps.The robot saved these measurements once per second, including timestamp and odometric distance.

B. Analysis

Navigation2 completed a long-duration campus experiment around students, navigating over a marathon without collisions or direct assistance while using recovery behaviors to handle blocked paths and localization challenges.

  • 37 miles were navigated in under 23 hours in a dynamic campus environment, with an average linear speed of 0.37 m/s.
  • Neither robot collided or required an emergency stop, operated without direct assistance, and completed every navigation task.
  • In a crowded hallway, the robot slowed, navigated around multiple student groups, corrected its trajectory, and exited without collision or stoppage.
  • Rare passive assistance occurred when students occupied a waypoint pose, adding under 1 minute to the 22.8-hour experiment.
  • Recovery behaviors addressed blocked paths by clearing the local costmap or waiting until students moved, while spin recovery restored localization confidence.

VI. LIMITATIONS

Navigation2 has limitations for certain robot geometries and lacks explicit dynamic-obstacle detection in the reported experiments.

  • The A* planner does not create feasible paths for noncircular non-holonomic robots, limiting complex-geometry and car-like robots.
  • Extensions are being developed for arbitrary-shaped non-holonomic robots, while detections and predictive models are intended for future work around humans and other agents.
  • The experiments used no explicit obstacle detection, although the TEB controller can account for dynamic obstacles when computing velocity commands.

VII. CONCLUSION

Navigation2 demonstrated reliable, collision-free campus navigation over marathon-scale testing using configurable behavior-tree orchestration and modern perception and control algorithms.

  • Two industrial-grade robots navigated more than a marathon in a campus environment with students, without human intervention or collision.
  • Behavior trees orchestrated navigation algorithms to provide high configurability and exploit multi-core processors through ROS2 reliable communications.
  • STVL and TEB provided modern perception and control methods for large, dynamic environments while building on the ROS Navigation Stack.
  • Gaps in dynamic-obstacle tracking and planning remain under development, and the open-source framework is intended to support further extensions and algorithms.
Loading 2003.00368v2…