Skip to content

Commit

Permalink
Merge branch 'master' into feat/smac_planner_include_orientation_flex…
Browse files Browse the repository at this point in the history
…ibility
  • Loading branch information
stevedanomodolor committed Jan 25, 2025
2 parents cb5af6f + 306c2c3 commit 3ac4e3f
Show file tree
Hide file tree
Showing 119 changed files with 1,406 additions and 727 deletions.
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1 +1,4 @@
_build
lib/
bin/
pyvenv.cfg
2 changes: 1 addition & 1 deletion 2021summerOfCode/projects/assisted_teleop.rst
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ This will be an excellent chance to make a substantial new feature in the Nav2 s

- `ROS <https://www.ros.org/>`_
- `Gazebo Simulator <http://gazebosim.org/>`_
- `Github ticket <https://github.com/ros-planning/navigation2/issues/2226>`_
- `Github ticket <https://github.com/ros-navigation/navigation2/issues/2226>`_
- `Navigation2 <https://docs.nav2.org/>`_

**Licensing**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ After the items are configured, there should be a preview to see how the paramet

- `QT <https://www.qt.io/>`_
- `Gazebo Simulator <http://gazebosim.org/>`_
- `Original github issue page <https://github.com/ros-planning/navigation2/issues/1721>`_
- `Original github issue page <https://github.com/ros-navigation/navigation2/issues/1721>`_

**Licensing**
- All contributions will be under the Apache 2.0 license.
Expand Down
2 changes: 1 addition & 1 deletion 2021summerOfCode/projects/create_plugins.rst
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ Your task will be to create a high-quality implementation of one of the followin

- `ROS <https://www.ros.org/>`_
- `Gazebo Simulator <http://gazebosim.org/>`_
- `Github issue page <https://github.com/ros-planning/navigation2/issues/1710>`_
- `Github issue page <https://github.com/ros-navigation/navigation2/issues/1710>`_
- `Nav2 <https://docs.nav2.org/>`_

**Licensing**
Expand Down
4 changes: 2 additions & 2 deletions 2021summerOfCode/projects/dynamic.rst
Original file line number Diff line number Diff line change
Expand Up @@ -35,10 +35,10 @@ If time permits, you may also work to also integrate this dynamic information in

**List of relevant open source software repositories and refs**

- `Starting project <https://github.com/ros-planning/navigation2_dynamic/>`_
- `Starting project <https://github.com/ros-navigation/navigation2_dynamic/>`_
- `ROS <https://www.ros.org/>`_
- `Gazebo Simulator <http://gazebosim.org/>`_
- `Github ticket <https://github.com/ros-planning/navigation2/issues/1617>`_
- `Github ticket <https://github.com/ros-navigation/navigation2/issues/1617>`_
- `Navigation2 <https://docs.nav2.org/>`_
- `Some related works <https://alyssapierson.files.wordpress.com/2018/05/pierson2018.pdf>`_

Expand Down
4 changes: 2 additions & 2 deletions 2021summerOfCode/projects/grid_maps.rst
Original file line number Diff line number Diff line change
Expand Up @@ -37,8 +37,8 @@ This will involve porting code from ROS 1 to ROS 2, analyzing uses of the enviro

- `ROS <https://www.ros.org/>`_
- `Gazebo Simulator <http://gazebosim.org/>`_
- `Original github issue 1 <https://github.com/ros-planning/navigation2/issues/1278>`_
- `Original github issue 2 <https://github.com/ros-planning/navigation2/issues/1517>`_
- `Original github issue 1 <https://github.com/ros-navigation/navigation2/issues/1278>`_
- `Original github issue 2 <https://github.com/ros-navigation/navigation2/issues/1517>`_
- `Navigation2 <https://docs.nav2.org/>`_

**Licensing**
Expand Down
2 changes: 1 addition & 1 deletion 2021summerOfCode/projects/localization.rst
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ An optional but recommended feature of this work would be to also accept the inp

- `ROS <https://www.ros.org/>`_
- `Gazebo Simulator <http://gazebosim.org/>`_
- `Original Github Issue <https://github.com/ros-planning/navigation2/issues/1391>`_
- `Original Github Issue <https://github.com/ros-navigation/navigation2/issues/1391>`_
- `Navigation2 <https://docs.nav2.org/>`_

**Licensing**
Expand Down
2 changes: 1 addition & 1 deletion 2021summerOfCode/projects/multithreading.rst
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ This will be an excellent chance to apply (or obtain) C++ parallel computing ski

- `ROS <https://www.ros.org/>`_
- `Gazebo Simulator <http://gazebosim.org/>`_
- `Github ticket <https://github.com/ros-planning/navigation2/issues/2042>`_
- `Github ticket <https://github.com/ros-navigation/navigation2/issues/2042>`_
- `Navigation2 <https://docs.nav2.org/>`_

**Licensing**
Expand Down
2 changes: 1 addition & 1 deletion 2021summerOfCode/projects/navigation_rebranding.rst
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ As such, we would like to initiate a re-branding effort to help differentiate it

**List of relevant open source software repositories and refs**

- `Github issue <https://github.com/ros-planning/navigation2/issues/1485>`_
- `Github issue <https://github.com/ros-navigation/navigation2/issues/1485>`_
- `Navigation2 <https://docs.nav2.org/>`_

**Licensing**
Expand Down
2 changes: 1 addition & 1 deletion 2021summerOfCode/projects/safety_node.rst
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ This will be an excellent chance to make mobile robots and Nav2 users significan

- `ROS <https://www.ros.org/>`_
- `Gazebo Simulator <http://gazebosim.org/>`_
- `Github ticket <https://github.com/ros-planning/navigation2/issues/1899>`_
- `Github ticket <https://github.com/ros-navigation/navigation2/issues/1899>`_
- `Navigation2 <https://docs.nav2.org/>`_

**Licensing**
Expand Down
4 changes: 2 additions & 2 deletions 2021summerOfCode/projects/semantics.rst
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,8 @@ After creating the generic representation, your project will be to create demons

- `ROS <https://www.ros.org/>`_
- `Gazebo Simulator <http://gazebosim.org/>`_
- `Github ticket <https://github.com/ros-planning/navigation2/issues/1595>`_
- `Github ticket2 <https://github.com/ros-planning/navigation2/issues/2229>`_
- `Github ticket <https://github.com/ros-navigation/navigation2/issues/1595>`_
- `Github ticket2 <https://github.com/ros-navigation/navigation2/issues/2229>`_
- `Navigation2 <https://docs.nav2.org/>`_

**Licensing**
Expand Down
4 changes: 2 additions & 2 deletions 2021summerOfCode/projects/spinners.rst
Original file line number Diff line number Diff line change
Expand Up @@ -36,8 +36,8 @@ More details about this project can be supplied if interested, but the tickets l

- `ROS <https://www.ros.org/>`_
- `Gazebo Simulator <http://gazebosim.org/>`_
- `Github ticket <https://github.com/ros-planning/navigation2/issues/2251>`_
- `Github ticket2 <https://github.com/ros-planning/navigation2/issues/816>`_
- `Github ticket <https://github.com/ros-navigation/navigation2/issues/2251>`_
- `Github ticket2 <https://github.com/ros-navigation/navigation2/issues/816>`_
- `Navigation2 <https://docs.nav2.org/>`_
- `Some related works <https://alyssapierson.files.wordpress.com/2018/05/pierson2018.pdf>`_

Expand Down
2 changes: 1 addition & 1 deletion 2021summerOfCode/projects/testing.rst
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ The ROS 2 Navigation Stack has had a focus on testing and reliability as a chara
- `ROS <https://www.ros.org/>`_
- `Gazebo Simulator <http://gazebosim.org/>`_
- `Navigation2 <https://docs.nav2.org/>`_
- `Navigation2 Repo System Tests <https://github.com/ros-planning/navigation2/tree/main/nav2_system_tests>`_
- `Navigation2 Repo System Tests <https://github.com/ros-navigation/navigation2/tree/main/nav2_system_tests>`_

**Licensing**
- All contributions will be under the Apache 2.0 license.
Expand Down
4 changes: 2 additions & 2 deletions 2021summerOfCode/projects/twist_n_config.rst
Original file line number Diff line number Diff line change
Expand Up @@ -41,8 +41,8 @@ In the meantime while you're waiting for PRs to be merged or blocked by reviews

- `ROS <https://www.ros.org/>`_
- `Gazebo Simulator <http://gazebosim.org/>`_
- `Github ticket <https://github.com/ros-planning/navigation2/issues/956>`_
- `Github ticket2 <https://github.com/ros-planning/navigation2/issues/1594>`_
- `Github ticket <https://github.com/ros-navigation/navigation2/issues/956>`_
- `Github ticket2 <https://github.com/ros-navigation/navigation2/issues/1594>`_
- `Navigation2 <https://docs.nav2.org/>`_
- `Some related works <https://alyssapierson.files.wordpress.com/2018/05/pierson2018.pdf>`_

Expand Down
Binary file added about/images/botronics.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added about/images/waratah.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
8 changes: 4 additions & 4 deletions about/related_projects.rst
Original file line number Diff line number Diff line change
Expand Up @@ -27,9 +27,9 @@ This is a community maintained list of related repositories and projects to Navi
| `slam_toolbox`_ | Steve Macenski | Default 2D SLAM library |
+--------------------------------+------------------------+----------------------------------+

.. _Navigation2: https://github.com/ros-planning/navigation2
.. _docs.nav2.org: https://github.com/ros-planning/docs.nav2.org
.. _navigation2_tutorials: https://github.com/ros-planning/navigation2_tutorials
.. _navigation2_dynamic: https://github.com/ros-planning/navigation2_dynamic
.. _Navigation2: https://github.com/ros-navigation/navigation2
.. _docs.nav2.org: https://github.com/ros-navigation/docs.nav2.org
.. _navigation2_tutorials: https://github.com/ros-navigation/navigation2_tutorials
.. _navigation2_dynamic: https://github.com/ros-navigation/navigation2_dynamic
.. _robot_localization: https://github.com/cra-ros-pkg/robot_localization
.. _slam_toolbox: https://github.com/SteveMacenski/slam_toolbox
22 changes: 22 additions & 0 deletions about/robots.rst
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,22 @@ Click on the images below for a link to the drivers or navigation configurations
+------------------------+------------------------+------------------------+
| |tb4| + |tb3| + |rosbot_xl| |
+------------------------+------------------------+------------------------+
| |soon| + |botr| + |soon| |
+------------------------+------------------------+------------------------+

Research Robots
================

+------------------------+------------------------+------------------------+
| |waratah| + |soon| + |soon| |
+------------------------+------------------------+------------------------+


.. |botr| image:: images/botronics.png
:width: 100%
:align: middle
:alt: Botronics
:target: https://botronics.be/

.. |ACFR| image:: images/ACFR.png
:width: 100%
Expand Down Expand Up @@ -219,3 +234,10 @@ Click on the images below for a link to the drivers or navigation configurations
:align: middle
:alt: Husarion ROSbot XL
:target: https://github.com/husarion/rosbot-xl-autonomy

.. |waratah| image:: images/waratah.png
:width: 100%
:align: middle
:alt: Waratah from Monash Nova Rocer
:target: https://www.novarover.space/

29 changes: 29 additions & 0 deletions about/roscon.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
.. _roscon:

ROSCon Talks
############

Below is a list of ROSCon talks that have been given by the Nav2 team and the community which describe important features, tuning and configuration advice, and how to work with them in your applications.

Nav2 Developer Talks
--------------------

- `ROSCon 2024: On Use of Nav2 Docking <https://vimeo.com/1024971348>`_
- `ROSCon FR 2023: Nav2 Whys over What's: Navigating the Philosophies Behind the Features <https://www.youtube.com/watch?v=2W3zWO-msEo>`_
- `ROSCon 2023: On Use of Nav2 MPPI Controller <https://vimeo.com/879001391>`_
- `ROSCon 2023: Bidirectional navigation with Nav2 <https://vimeo.com/879000809>`_
- `ROSCon 2022: On Use of Nav2 Smac Planners <https://vimeo.com/showcase/9954564/video/767157646>`_
- `ROSCon JP 2021: The Past, Present, and Future of Navigation <https://vimeo.com/638041661/a5306a02ab>`_
- `ROSCon 2021: Chronicles of Caching and Containerising CI for Nav2 <https://vimeo.com/649647161>`_
- `ROSCon 2020: Navigation2: The Next Generation Navigation System <https://vimeo.com/showcase/7812155/video/480604621>`_
- `ROSCon 2019: On Use of SLAM Toolbox <https://vimeo.com/378682207>`_
- `ROSCon 2019: Navigation 2 Overview <https://vimeo.com/378682188>`_
- `ROSCon 2018: On Use of the Spatio-Temporal Voxel Layer <https://vimeo.com/292699571>`_

Community's Talks
-----------------

- `ROSCon ES 2024: Navegación robusta en ROS2 <https://vimeo.com/showcase/11453818/video/1029492785>`_
- `ROSCon 2022: BehaviorTree.CPP 4.0. What is new and roadmap <https://vimeo.com/showcase/9954564/video/767160437>`_
- `ROSCon 2024: Mobile Robotics Scale-up Leveraging ROS <https://vimeo.com/1024971160>`_
- `ROSCon 2024: Radar Tracks for Path Planning in the presence of Dynamic Obstacles <https://vimeo.com/1024971565>`_
2 changes: 1 addition & 1 deletion behavior_trees/overview/nav2_specific_nodes.rst
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ Introduction To Nav2 Specific Nodes
- An ``ActionNode`` in the context of BTs is not necessarily connected to an Action Server in the ROS 2 context (but often it is)

There are quite a few custom Nav2 BT nodes that are provided to be used in the Nav2 specific fashion. Some commonly used Nav2 nodes will be described below.
The full list of custom BT nodes can be found in the `nav2_behavior_tree plugins folder <https://github.com/ros-planning/navigation2/tree/main/nav2_behavior_tree/plugins>`_.
The full list of custom BT nodes can be found in the `nav2_behavior_tree plugins folder <https://github.com/ros-navigation/navigation2/tree/main/nav2_behavior_tree/plugins>`_.
The `configuration guide <../../configuration/packages/configuring-bt-xml.html>`_ can also be quite useful.

Action Nodes
Expand Down
13 changes: 8 additions & 5 deletions commander_api/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ Simple Commander API
Overview
********

The goal of the Nav2 Simple (Python3) Commander is to provide a "navigation as a library" capability to Python3 users. We provide an API that handles all the ROS 2 and Action Server tasks for you such that you can focus on building an application leveraging the capabilities of Nav2 (after you've configured it to your liking with your plugins of choice). `We also provide you with demos and examples of API usage <https://github.com/ros-planning/navigation2/tree/main/nav2_simple_commander>`_ to build common basic capabilities in autonomous mobile robotics in the ``nav2_simple_commander`` package.
The goal of the Nav2 Simple (Python3) Commander is to provide a "navigation as a library" capability to Python3 users. We provide an API that handles all the ROS 2 and Action Server tasks for you such that you can focus on building an application leveraging the capabilities of Nav2 (after you've configured it to your liking with your plugins of choice). `We also provide you with demos and examples of API usage <https://github.com/ros-navigation/navigation2/tree/main/nav2_simple_commander>`_ to build common basic capabilities in autonomous mobile robotics in the ``nav2_simple_commander`` package.

A simple demonstration is shown below. Note: ``goToPose()``, ``goThroughPoses()``, ``followWaypoints()`` and similar are **non-blocking** such that you can receive and process feedback in a single-threaded application. As such while waiting for a task to be completed, the ``while not nav.isTaskComplete()`` design is necessary to poll for changes in the navigation completion, and if not complete some tasks of interest to your application (like processing feedback, doing something with the data the robot is collecting, or checking for faults).

Expand Down Expand Up @@ -74,13 +74,16 @@ New as of September 2023: the simple navigator constructor will accept a `namesp
| goal_checker_id='') | ``PoseStamped``, ``nav_msgs/Path``. |
+---------------------------------------+----------------------------------------------------------------------------+
| spin(spin_dist=1.57, | Requests the robot to performs an in-place rotation by a given angle. |
| time_allowance=10) | |
| time_allowance=10, | |
| disable_collision_checks=False) | |
+---------------------------------------+----------------------------------------------------------------------------+
| driveOnHeading(dist=0.15, | Requests the robot to drive on heading by a given distance. |
| speed=0.025, time_allowance=10) | |
| speed=0.025, time_allowance=10, | |
| disable_collision_checks=False) | |
+---------------------------------------+----------------------------------------------------------------------------+
| backup(backup_dist=0.15, | Requests the robot to back up by a given distance. |
| backup_speed=0.025, time_allowance=10)| |
| backup_speed=0.025, time_allowance=10,| |
| disable_collision_checks=False) | |
+---------------------------------------+----------------------------------------------------------------------------+
| assistedTeleop(time_allowance=30) | Requests the robot to run the assisted teleop action. |
+---------------------------------------+----------------------------------------------------------------------------+
Expand Down Expand Up @@ -214,7 +217,7 @@ and calculate the cost of a Footprint in a given map.
Examples and Demos
******************

All of these can be found in the `package <https://github.com/ros-planning/navigation2/tree/main/nav2_simple_commander>`_.
All of these can be found in the `package <https://github.com/ros-navigation/navigation2/tree/main/nav2_simple_commander>`_.

.. image:: readme.gif
:width: 800
Expand Down
2 changes: 1 addition & 1 deletion conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -199,4 +199,4 @@
breathe_default_members = ('members', 'undoc-members', 'content-only')

extlinks = {'projectfile':
('https://github.com/ros-planning/navigation2/blob/main/%s', 'filepath ')}
('https://github.com/ros-navigation/navigation2/blob/main/%s', 'filepath ')}
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ Invokes the AssistedTeleop ROS 2 action server, which filters teleop twist comma
collisions. This is used in nav2 Behavior Trees as a recovery behavior or a regular behavior.
The nav2_behaviors_ module implements the AssistedTeleop action server.

.. _nav2_behaviors: https://github.com/ros-planning/navigation2/tree/main/nav2_behaviors
.. _nav2_behaviors: https://github.com/ros-navigation/navigation2/tree/main/nav2_behaviors


Input Ports
Expand Down
15 changes: 13 additions & 2 deletions configuration/packages/bt-plugins/actions/BackUp.rst
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ Invokes the BackUp ROS 2 action server, which causes the robot to back up by a s
It performs an linear translation by a given distance.
This is used in nav2 Behavior Trees as a recovery behavior. The nav2_behaviors module implements the BackUp action server.

.. nav2_behaviors_: https://github.com/ros-planning/navigation2/tree/main/nav2_behaviors
.. nav2_behaviors_: https://github.com/ros-navigation/navigation2/tree/main/nav2_behaviors
Input Ports
***********
Expand Down Expand Up @@ -67,6 +67,17 @@ Input Ports
Description
Action server timeout (ms).

:disable_collision_checks:

====== =======
Type Default
------ -------
bool false
====== =======

Description
Disable collision checking.

Output Ports
------------

Expand All @@ -86,4 +97,4 @@ Example

.. code-block:: xml
<BackUp backup_dist="-0.2" backup_speed="0.05" server_name="backup_server" server_timeout="10" error_code_id="{backup_error_code}"/>
<BackUp backup_dist="-0.2" backup_speed="0.05" server_name="backup_server" server_timeout="10" error_code_id="{backup_error_code}" disable_collision_checks="false"/>
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ ComputePathThroughPoses
Invokes the ComputePathThroughPoses ROS 2 action server, which is implemented by the nav2_planner_ module.
The server address can be remapped using the ``server_name`` input port.

.. _nav2_planner: https://github.com/ros-planning/navigation2/tree/main/nav2_planner
.. _nav2_planner: https://github.com/ros-navigation/navigation2/tree/main/nav2_planner

Input Ports
-----------
Expand All @@ -23,11 +23,11 @@ Input Ports

:goals:

============================================= =======
Type Default
--------------------------------------------- -------
vector<geometry_msgs::msg::PoseStamped> N/A
============================================= =======
===================================== =======
Type Default
------------------------------------- -------
geometry_msgs::msg::PoseStampedArray N/A
===================================== =======

Description
Goal poses. Takes in a blackboard variable, e.g. "{goals}".
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ ComputePathToPose
Invokes the ComputePathToPose ROS 2 action server, which is implemented by the nav2_planner_ module.
The server address can be remapped using the ``server_name`` input port.

.. _nav2_planner: https://github.com/ros-planning/navigation2/tree/main/nav2_planner
.. _nav2_planner: https://github.com/ros-navigation/navigation2/tree/main/nav2_planner

Input Ports
-----------
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ It is used to select the Controller that will be used by the Controller server.

Any publisher to this topic needs to be configured with some QoS defined as ``reliable`` and ``transient local``.

.. _bt_navigator: https://github.com/ros-planning/navigation2/tree/main/nav2_bt_navigator
.. _bt_navigator: https://github.com/ros-navigation/navigation2/tree/main/nav2_bt_navigator

Input Ports
-----------
Expand Down
Loading

0 comments on commit 3ac4e3f

Please sign in to comment.