Skip to content

Commit

Permalink
changing all non-changing references from navigation2 to Nav2 (ros-na…
Browse files Browse the repository at this point in the history
  • Loading branch information
SteveMacenski authored Feb 4, 2021
1 parent 378d534 commit 6d5e65a
Show file tree
Hide file tree
Showing 26 changed files with 50 additions and 50 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Navigation 2
# Nav2
[![Build Status](https://img.shields.io/docker/pulls/rosplanning/navigation2.svg?maxAge=2592000)](https://hub.docker.com/r/rosplanning/navigation2) [![Build Status](https://img.shields.io/docker/cloud/build/rosplanning/navigation2.svg?label=docker%20build)](https://hub.docker.com/r/rosplanning/navigation2) [![codecov](https://codecov.io/gh/ros-planning/navigation2/branch/main/graph/badge.svg)](https://codecov.io/gh/ros-planning/navigation2)

<p align="center">
Expand Down
2 changes: 1 addition & 1 deletion doc/use_cases/README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@


# Target Use Cases
The Navigation2 system is targeting the following use cases:
The Nav2 system is targeting the following use cases:

[2D Indoor Navigation](indoor_navigation_use_case.md) - example: Warehouse / Logistics robot

Expand Down
2 changes: 1 addition & 1 deletion nav2_behavior_tree/groot_instructions.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,6 @@
To visualize the behavior trees using Groot:
1. Open Groot in editor mode
2. Select the `Load palette from file` option (import button) near the top left corner.
3. Open the file `/path/to/navigation2/nav2_behavior_tree/nav2_tree_nodes.xml` to import all the behavior tree nodes used for navigation.
3. Open the file `/path/to/nav2/nav2_behavior_tree/nav2_tree_nodes.xml` to import all the behavior tree nodes used for navigation.
4. Select `Load tree` option near the top left corner
5. Browse the tree you want to visualize the select ok.
22 changes: 11 additions & 11 deletions nav2_bringup/bringup/README.md
Original file line number Diff line number Diff line change
@@ -1,20 +1,20 @@
# nav2_bringup

The `nav2_bringup` package is an example bringup system for Navigation2 applications.
The `nav2_bringup` package is an example bringup system for Nav2 applications.

### Pre-requisites:
* [Install ROS 2](https://index.ros.org/doc/ros2/Installation/Dashing/)
* Install Navigation2
* Install Nav2

```sudo apt install ros-<ros2_distro>-navigation2```

* Install Navigation2 Bringup
* Install Nav2 Bringup

```sudo apt install ros-<ros2_distro>-nav2-bringup```

* Install your robot specific package (ex:[Turtlebot 3](http://emanual.robotis.com/docs/en/platform/turtlebot3/ros2/))

## Launch Navigation2 in *Simulation* with Gazebo
## Launch Nav2 in *Simulation* with Gazebo
### Pre-requisites:

* [Install Gazebo](http://gazebosim.org/tutorials?tut=install_ubuntu&cat=install)
Expand Down Expand Up @@ -43,15 +43,15 @@ export TURTLEBOT3_MODEL=waffle
ros2 launch turtlebot3_bringup turtlebot3_state_publisher.launch.py use_sim_time:=True
```

### Terminal 3: Launch Navigation2
### Terminal 3: Launch Nav2

```bash
source /opt/ros/dashing/setup.bash
ros2 launch nav2_bringup bringup_launch.py use_sim_time:=True autostart:=True \
map:=<full/path/to/map.yaml>
```

### Terminal 4: Run RViz with Navigation2 config file
### Terminal 4: Run RViz with Nav2 config file

```bash
source /opt/ros/dashing/setup.bash
Expand All @@ -62,15 +62,15 @@ In RViz:
* You should see the map
* Localize the robot using “2D Pose Estimate” button.
* Make sure all transforms from odom are present. (odom->base_link->base_scan)
* Send the robot a goal using “Navigation2 Goal” button.
* Send the robot a goal using "Nav2 Goal” button.
Note: this uses a ROS2 Action to send the goal, and a pop-up window will appear on your screen with a 'cancel' button if you wish to cancel

To view the robot model in RViz:
* Add "RobotModel", set "Description Source" with "File", set "Description File" with the name of the urdf file for your robot (example: turtlebot3_burger.urdf)"

### Advanced: single-terminal launch

A convenience file is provided to launch Gazebo, RVIZ and Navigation2 using a single command:
A convenience file is provided to launch Gazebo, RVIZ and Nav2 using a single command:

```bash
ros2 launch nav2_bringup tb3_simulation_launch.py <settings>
Expand Down Expand Up @@ -102,7 +102,7 @@ ros2 launch nav2_bringup multi_tb3_simulation_launch.py <settings>
```


## Launch Navigation2 on a *Robot*
## Launch Nav2 on a *Robot*

### Pre-requisites:
* Run SLAM with Navigation 2 or tele-op to drive the robot and generate a map of an area for testing first. The directions below assume this has already been done or there is already a map of the area.
Expand All @@ -111,12 +111,12 @@ ros2 launch nav2_bringup multi_tb3_simulation_launch.py <settings>

- [Navigation 2 with SLAM](https://github.com/ros-planning/navigation2/blob/main/doc/use_cases/navigation_with_slam.md)

* _Please note that currently, nav2_bringup works if you provide a map file. However, providing a map is not required to use Navigation2. Navigation2 can be configured to use the costmaps to navigate in an area without using a map file_
* _Please note that currently, nav2_bringup works if you provide a map file. However, providing a map is not required to use Nav2. Nav2 can be configured to use the costmaps to navigate in an area without using a map file_

* Publish all the transforms from your robot from base_link to base_scan


### Terminal 1 : Launch Navigation2 using your map.yaml
### Terminal 1 : Launch Nav2 using your map.yaml

```bash
source /opt/ros/dashing/setup.bash
Expand Down
2 changes: 1 addition & 1 deletion nav2_bringup/bringup/package.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<package format="3">
<name>nav2_bringup</name>
<version>0.4.3</version>
<description>Bringup scripts and configurations for the navigation2 stack</description>
<description>Bringup scripts and configurations for the Nav2 stack</description>
<maintainer email="[email protected]">Michael Jeronimo</maintainer>
<maintainer email="[email protected]">Steve Macenski</maintainer>
<maintainer email="[email protected]">Carlos Orduno</maintainer>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@

def main():
# Get input arguments from user
parser = argparse.ArgumentParser(description='Spawn Robot into Gazebo with navigation2')
parser = argparse.ArgumentParser(description='Spawn Robot into Gazebo with Nav2')
parser.add_argument('-n', '--robot_name', type=str, default='robot',
help='Name of the robot to spawn')
parser.add_argument('-ns', '--robot_namespace', type=str, default='robot',
Expand Down
2 changes: 1 addition & 1 deletion nav2_bringup/nav2_gazebo_spawner/package.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<package format="3">
<name>nav2_gazebo_spawner</name>
<version>0.4.3</version>
<description>Package for spawning a robot model into Gazebo for navigation2</description>
<description>Package for spawning a robot model into Gazebo for Nav2</description>
<maintainer email="[email protected]">lkumarbe</maintainer>
<maintainer email="[email protected]">lkumarbe</maintainer>
<license>Apache-2.0</license>
Expand Down
2 changes: 1 addition & 1 deletion nav2_bt_navigator/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ Using the XML filename as a parameter makes it easy to change or extend the logi

## Behavior Tree nodes

A Behavior Tree consists of control flow nodes, such as fallback, sequence, parallel, and decorator, as well as two execution nodes: condition and action nodes. Execution nodes are the leaf nodes of the tree. When a leaf node is ticked, the node does some work and it returns either SUCCESS, FAILURE or RUNNING. The current Navigation2 software implements a few custom nodes, including Conditions and Actions. The user can also define and register additional node types that can then be used in BTs and the corresponding XML descriptions.
A Behavior Tree consists of control flow nodes, such as fallback, sequence, parallel, and decorator, as well as two execution nodes: condition and action nodes. Execution nodes are the leaf nodes of the tree. When a leaf node is ticked, the node does some work and it returns either SUCCESS, FAILURE or RUNNING. The current Nav2 software implements a few custom nodes, including Conditions and Actions. The user can also define and register additional node types that can then be used in BTs and the corresponding XML descriptions.

## Navigation Behavior Trees

Expand Down
2 changes: 1 addition & 1 deletion nav2_core/package.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<package format="3">
<name>nav2_core</name>
<version>0.4.3</version>
<description>A set of headers for plugins core to the navigation2 stack</description>
<description>A set of headers for plugins core to the Nav2 stack</description>
<maintainer email="[email protected]">Steve Macenski</maintainer>
<maintainer email="[email protected]">Carl Delsey</maintainer>
<license>Apache-2.0</license>
Expand Down
2 changes: 1 addition & 1 deletion nav2_costmap_2d/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ In order to add multiple sources to the global costmap, follow the same procedur

### Overview

Costmap Filters - is a costmap layer-based instrument which provides an ability to apply to map spatial-dependent raster features named as filter-masks. These features are used in plugin algorithms when filling costmaps in order to allow robots to change their trajectory, behavior or speed when a robot enters/leaves an area marked in a filter masks. Examples of costmap filters include keep-out/safety zones where robots will never enter, speed restriction areas, preferred lanes for robots moving in industries and warehouses. More information about design, architecture of the feature and how it works could be found on navigation2 web-site: https://navigation.ros.org.
Costmap Filters - is a costmap layer-based instrument which provides an ability to apply to map spatial-dependent raster features named as filter-masks. These features are used in plugin algorithms when filling costmaps in order to allow robots to change their trajectory, behavior or speed when a robot enters/leaves an area marked in a filter masks. Examples of costmap filters include keep-out/safety zones where robots will never enter, speed restriction areas, preferred lanes for robots moving in industries and warehouses. More information about design, architecture of the feature and how it works could be found on Nav2 website: https://navigation.ros.org.

## Future Plans
- Conceptually, the costmap_2d model acts as a world model of what is known from the map, sensor, robot pose, etc. We'd like
Expand Down
4 changes: 2 additions & 2 deletions nav2_lifecycle_manager/README.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
### Background on lifecycle enabled nodes
Using ROS2’s managed/lifecycle nodes feature allows the system startup to ensure that all required nodes have been instantiated correctly before they begin their execution. Using lifecycle nodes also allows nodes to be restarted or replaced on-line. More details about managed nodes can be found on [ROS2 Design website](https://design.ros2.org/articles/node_lifecycle.html). Several nodes in the navigation2 stack, such as map_server, planner_server, and controller_server, are lifecycle enabled. These nodes provide the required overrides of the lifecycle functions: ```on_configure()```, ```on_activate()```, ```on_deactivate()```, ```on_cleanup()```, ```on_shutdown()```, and ```on_error()```.
Using ROS2’s managed/lifecycle nodes feature allows the system startup to ensure that all required nodes have been instantiated correctly before they begin their execution. Using lifecycle nodes also allows nodes to be restarted or replaced on-line. More details about managed nodes can be found on [ROS2 Design website](https://design.ros2.org/articles/node_lifecycle.html). Several nodes in Nav2, such as map_server, planner_server, and controller_server, are lifecycle enabled. These nodes provide the required overrides of the lifecycle functions: ```on_configure()```, ```on_activate()```, ```on_deactivate()```, ```on_cleanup()```, ```on_shutdown()```, and ```on_error()```.


### nav2_lifecycle_manager
Navigation2’s lifecycle manager is used to change the states of the lifecycle nodes in order to achieve a controlled _startup_, _shutdown_, _reset_, _pause_, or _resume_ of the navigation stack. The lifecycle manager presents a ```lifecycle_manager/manage_nodes``` service, from which clients can invoke the startup, shutdown, reset, pause, or resume functions. Based on this service request, the lifecycle manager calls the necessary lifecycle services in the lifecycle managed nodes. Currently, the RVIZ panel uses this ```lifecycle_manager/manage_nodes``` service when user presses the buttons on the RVIZ panel (e.g.,startup, reset, shutdown, etc.).
Nav2's lifecycle manager is used to change the states of the lifecycle nodes in order to achieve a controlled _startup_, _shutdown_, _reset_, _pause_, or _resume_ of the navigation stack. The lifecycle manager presents a ```lifecycle_manager/manage_nodes``` service, from which clients can invoke the startup, shutdown, reset, pause, or resume functions. Based on this service request, the lifecycle manager calls the necessary lifecycle services in the lifecycle managed nodes. Currently, the RVIZ panel uses this ```lifecycle_manager/manage_nodes``` service when user presses the buttons on the RVIZ panel (e.g.,startup, reset, shutdown, etc.).

In order to start the navigation stack and be able to navigate, the necessary nodes must be configured and activated. Thus, for example when _startup_ is requested from the lifecycle manager's manage_nodes service, the lifecycle managers calls _configure()_ and _activate()_ on the lifecycle enabled nodes in the node list.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ using nav2_msgs::srv::ManageLifecycleNodes;
/**
* @class nav2_lifecycle_manager::LifecycleManager
* @brief Implements service interface to transition the lifecycle nodes of
* Navigation2 stack. It receives transition request and then uses lifecycle
* Nav2 stack. It receives transition request and then uses lifecycle
* interface to change lifecycle node's state.
*/
class LifecycleManager : public rclcpp::Node
Expand Down
4 changes: 2 additions & 2 deletions nav2_map_server/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Map Server

The `Map Server` provides maps to the rest of the Navigation2 system using both topic and
The `Map Server` provides maps to the rest of the Nav2 system using both topic and
service interfaces.

## Changes from ROS1 Navigation Map Server
Expand Down Expand Up @@ -62,7 +62,7 @@ occupied_thresh: 0.65
free_thresh: 0.196
```

The Navigation2 software retains the map YAML file format from Nav1, but uses the ROS2 parameter
The Nav2 software retains the map YAML file format from Nav1, but uses the ROS2 parameter
mechanism to get the name of the YAML file to use. This effectively introduces a
level of indirection to get the map yaml filename. For example, for a node named 'map_server',
the parameter file would look like this:
Expand Down
2 changes: 1 addition & 1 deletion nav2_msgs/README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# nav2_msgs

The `nav2_msgs` package is a set of messages, services, and actions for the `navigation2` stack. The `navigation2` stack still makes use of `nav_msgs` from ROS (1) Navigation.
The `nav2_msgs` package is a set of messages, services, and actions for the `Nav2` system. `Nav2` still makes use of `nav_msgs` from ROS (1) Navigation.

See the ROS 1 to ROS 2 [Migration Guide](https://index.ros.org/doc/ros2/Migration-Guide/#messages-and-services) for details about use of the new message and service types.
2 changes: 1 addition & 1 deletion nav2_msgs/package.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<package format="3">
<name>nav2_msgs</name>
<version>0.4.3</version>
<description>Messages and service files for the navigation2 stack</description>
<description>Messages and service files for the Nav2 stack</description>
<maintainer email="[email protected]">Michael Jeronimo</maintainer>
<maintainer email="[email protected]">Steve Macenski</maintainer>
<maintainer email="[email protected]">Carlos Orduno</maintainer>
Expand Down
2 changes: 1 addition & 1 deletion nav2_rviz_plugins/plugins_description.xml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
<class name="nav2_rviz_plugins/Navigation 2"
type="nav2_rviz_plugins::Nav2Panel"
base_class_type="rviz_common::Panel">
<description>The Navigation2 rviz panel.</description>
<description>The Nav2 rviz panel.</description>
</class>

<class name="nav2_rviz_plugins/ParticleCloud"
Expand Down
2 changes: 1 addition & 1 deletion nav2_rviz_plugins/src/goal_tool.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ GoalTool::~GoalTool()
void GoalTool::onInitialize()
{
PoseTool::onInitialize();
setName("Navigation2 Goal");
setName("Nav2 Goal");
setIcon(rviz_common::loadPixmap("package://rviz_default_plugins/icons/classes/SetGoal.png"));
}

Expand Down
4 changes: 2 additions & 2 deletions nav2_smac_planner/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ We further improve on the Hybrid-A\* work in the following ways:

All of these features (multi-resolution, models, smoother, etc) are also available in the 2D `SmacPlanner2D` plugin.

The 2D A\* implementation also does not have any of the weird artifacts introduced by the gradient wavefront-based 2D A\* implementation in the NavFn Planner. While this 2D A\* planner is slightly slower, I believe it's well worth the increased quality in paths. Though the `SmacPlanner2D` is grid-based, any reasonable local trajectory planner - including those supported by Navigation2 - will not have any issue with grid-based plans.
The 2D A\* implementation also does not have any of the weird artifacts introduced by the gradient wavefront-based 2D A\* implementation in the NavFn Planner. While this 2D A\* planner is slightly slower, I believe it's well worth the increased quality in paths. Though the `SmacPlanner2D` is grid-based, any reasonable local trajectory planner - including those supported by Nav2 - will not have any issue with grid-based plans.

## Metrics

Expand Down Expand Up @@ -148,7 +148,7 @@ sudo apt-get install ros-<ros2-distro>-smac-planner

Many users and default navigation configuration files I find are really missing the point of the inflation layer. While it's true that you can simply inflate a small radius around the walls, the _true_ value of the inflation layer is creating a consistent potential field around the entire map.

Some of the most popular tuning guides for Navigation / Navigation2 even [call this out specifically](https://arxiv.org/pdf/1706.09068.pdf) that there's substantial benefit to creating a gentle potential field across the width of the map - after inscribed costs are applied - yet very few users do this.
Some of the most popular tuning guides for Navigation / Nav2 even [call this out specifically](https://arxiv.org/pdf/1706.09068.pdf) that there's substantial benefit to creating a gentle potential field across the width of the map - after inscribed costs are applied - yet very few users do this.

This habit actually results in paths produced by NavFn, Global Planner, and now SmacPlanner to be very suboptimal. They really want to look for a smooth potential field rather than wide open 0-cost spaces in order to stay in the middle of spaces and deal with close-by moving obstacles better.

Expand Down
2 changes: 1 addition & 1 deletion nav2_system_tests/scripts/ctest_loop.bash
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#!/bin/bash

#
# Simple bash script to loop over the navigation2 "bt_navigator" system test
# Simple bash script to loop over the Nav2 "bt_navigator" system test
#
# options:
# -c <#> - number of times to loop
Expand Down
4 changes: 2 additions & 2 deletions nav2_system_tests/src/system/README.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
# Navigation2 System Tests
# Nav2 System Tests

This is a 'top level' system test which will use Gazebo to simulate a Robot moving from an known initial starting position to a goal pose.

## To run the test
First, you must build navigation2 including this package:
First, you must build Nav2 including this package:
```
colcon build --symlink-install
```
Expand Down
2 changes: 1 addition & 1 deletion nav2_system_tests/src/system_failure/README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
# Navigation2 System Tests - Failure
# Nav2 System Tests - Failure

High level system failures tests
2 changes: 1 addition & 1 deletion nav2_system_tests/src/updown/README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Navigation2 Updown Test
# Nav2 Updown Test

This is a 'top level' system test which tests the lifecycle bringup and shutdown of the system.

Expand Down
Loading

0 comments on commit 6d5e65a

Please sign in to comment.