The Past, Present,and Future ofNavigation
Steve Macenski, Samsung Research America

Steve Macenski
Open-Source Robotics - Engineering Lead
● Your Friendly Neighborhood Navigator!
● ROS Technical Steering Committee Member● Navigation Working Group & Project Lead
● Developed 50+ ROS & ROS 2 Packages

NASA Goddard (2015 - 2017)

Simbe Robotics (2017 - 2019)

Samsung Research America (2019 - Present)Overview

History of ROS Navigation

Motivations for Nav2

Nav2 and Current UsersHistory of ROS Navigation - Initial Creation

Eitan
Marder-Eppstein

Kurt Konolige

Brian Gerkey

Sachin Chitta

Conor McGannHistory of ROS Navigation - Marathon Reliability

Eitan
Marder-Eppstein

Conor McGannHistory of ROS Navigation - Focus on Modularity

Costmap Layers

Base Local Planner → DWA

NavFn → Global Planner

DaveHershberger

David Lu!!

History of ROS Navigation - Willow Closing…
Mike Ferguson

David Lu!!

History of ROS Navigation - Fergs ‘n Fetch

Mike Ferguson

History of ROS Navigation - 2015 to Present2015

2016

2017

2018

2020

Mike Ferguson

David Lu!!

Overview

History of ROS Navigation

Motivations for Nav2

Nav2 and Current Users

Motivations for Nav2 - ROS 2● Lessons Learned in 10+ Years● Product Ready Middleware● Quality and Reliability Focused● Embedded / Real-Time Support● Multi-Robot Teaming Capable● Best in Class Security

Courtesy of DARPA: https://www.digitaltrends.com/cool-tech/darpa-subt-challenge-feature/

Motivations for Nav2 - What’s Changed?

Motivations for Nav2 - What’s Needed?
Quality and Modernization● Testing, Conﬁdence, Reliability, Safety● Professional Support and Documentation● Leverage ROS 2 Features & Philosophies● Re-Centralize Navigation Development● More Independence In The Framework● Updated Algorithms (Localization, Planning, Perception, etc)
● Product Features (docking, keepout zones, map editing, etc)

Overview

History of ROS Navigation

Motivations for Nav2

Nav2 and Current Users

Nav2 Overview
ROS 2’s Production Solution

Waypoint Follower● Behavior-Tree Navigator
BTBT Navigator Server● Designed on Modular Servers● Growing Features and Algorithms● More Run-Time Selectable Plugins● Support for All Robot Types

BT Plugins

TF

mapRecovery
ServerController
ServerPlannerServerLocal Costmap

Global Costmap

dataCostmap Sub.
Footprint Sub.

● Focus on Quality & Testing● Easily Extensible
Robot BaseBehavior Trees(NavigateTo Pose)

ROOT

RecoveryNodeAction
CallElevator
Pick Up
ObjectCondition
Sequence
PipelineIs
CrowdedFallback

Is Door
ClosedDecorator
Trigger
Once

RateController

Recovery
NodeGoalUpdatedControlSequenceStar

Reactive
Fallback

Dock
Robot
...
Is Battery
Low

Message
Received...
Transform
Available

Round
Robin

...
Sequence

Recovery
Node

ComputePath To Pose

Follow
Path

Clear Global
Costmap

Clear Local
Costmap

Clear Local
Costmap...

Clear Global
Costmap

Spin

Wait

Ported From ROS (1)Costmap 2D
AMCL / SLAM Toolbox
NavFn Planner
Map Server

From ROS

DesignAlgorithms

Features

Ease of Use

QualityDesign Characteristics
Cloud

XML Behavior Tree Logic● Behavior Tree Plugins

BT Navigator Server

BT Plugins

Micro-Processor
Main CPU

Easy to Swap Task Servers● Multiple CPUs, Cloud, etc
RecoveryServerMore Plugin Interfaces● With Multiple Instances● Independent Recovery API

From ROS

DesignCostmap Sub.
Footprint Sub.

Algorithms

Features

ServerPlanner
ServerCustom
ServerLocal Costmap

Global Costmap

CustomServer

PyController

Ease
Ease ofof Use
Use

QualityNew Plugin Algorithms
Diﬀerential

Omni

Ackermann

LeggedRPP | DWB | TEBDWBTEB

RPP
TEB

RPP
TEB

Theta Star
Smac 2D | NavFn
Smac Hybrid
Smac Lattice

Theta Star
Smac 2DNavFn
Smac Lattice

Smac Hybrid
Smac Lattice

Smac Hybrid
Smac Lattice

From ROS

DesignAlgorithms

Features

Ease
Ease ofof Use
Use

QualityNew Product Features

From ROS

DesignAlgorithms

Features

Ease
Ease ofof Use
Use

QualityNew Product Features - Speed Zones

From ROS

DesignAlgorithms

Features

Ease
Ease ofof Use
Use

QualityNew Product Features - Keepout Zones

From ROS

DesignAlgorithms

Features

Ease
Ease ofof Use
Use

QualityNew Product Features - NavToPose

From ROS

DesignAlgorithms

Features

Ease
Ease ofof Use
UseQuality

New Product Features - NavThroughPoses

From ROS

DesignAlgorithms

Features

Ease
Ease ofof Use
UseQuality

New Product Features - Waypoint Follower + Task Executors

From ROS

DesignAlgorithms

Features

Ease
Ease ofof Use
Use

QualityApplication Developer Resources
Rviz Testing and Basic Operations Panel
Python3 Simple Commander API
Documentation● Build, Install, and Conﬁguration Guides● Plugin Creation and General Tutorials● First-Time Robot Setup Guide● Central List of Known Nav2 Plugins

From ROS

DesignAlgorithms

Features

Ease of Use

Quality

Software Quality
Peer-Reviewed
Academic Papers
Linting & Static Analysis

CI Full Simulation Testing

Extensive Documentation

88% Test Coverage

From ROS

DesignAlgorithms

Features

Ease
Ease ofof Use
Use

Quality

1cS

23M
Kod
Sa eepPr fe oueroc ty t,nes No Sp
Prsi de ee
ng s dod, I , D Zouc
PC oc ntF
, D kin es,em g Asea
os , Dy sistu& nam ted
reDo i Tscu c O ele
Exm bs -Opet
tent ac ,at lendion,SuSuetp
Vi pcpsu opo
al rt hr
SL igtf
AM h-qoruan al3Dd ity
Lo ananca ddliz im
VSat prio ov
LAnesy d2MsDRete ,m 3D
tos,aolndTe
Crrrin eaai
ur clu tenba di swn
Mn, g ap
no co pa
odn- st blel
pl a esan nd en
foar h vi, a ei rorOnd ght nm
utou m endotd ap tal
oo s f moroo
re r dnv pla els
iro n ,nm ar,entsteCSuOm ircu
pplni arordi anre dtf
ct Norio ona nAll, A CirlB
ck culer arasm Desan iffenan rend tia
Le l,Crgg
eaedder
TIR hevi
OS Mcear20 at
Ro20 hobo,F n2
in :tCal Ais Nap
t R avob ig
abaoC tiiliup ontieBe Syssst teEx
Pa m.
peparnsi

Ba

Nav2 Roadmap

45

Nav2 Community
Navigation Working Group● Bi-Weekly Meetings● 7-20 People Per Meeting● 115 Contributors● 500 People on Slack
Why Get Involved?
● Professional Growth● Reduced Risk
● Collaborate on Development● Power to Steer the ProjectInterested in Getting Involved?
Join our Slack: https://bit.ly/3ssxidPRepository, Documentation, and Issue Tracker:
https://github.com/ros-planning/navigation2
https://discourse.ros.org/c/navigation
https://navigation.ros.org

Interested in Getting Involved?
Join our Slack: https://bit.ly/3ssxidP

Steve Macenski
Open Source Robotics - Engineering Leads.macenski@samsung.com
stevenmacenski@gmail.com

History of ROS Navigation - PR1

Motivations for Nav2 - Early Development Team

Matt Hansen

Carlos Orduno

Michael Jeronimo

Brian Wilcox

Steve Macenski

MohammadHaghighipanahRuﬃn WhiteCarl Delsey