Skip to content

Commit c7f340a

Browse files
Add route server demo (#696)
* Add demo resources on the route server tool landing page. Signed-off-by: Leander Stephen D'Souza <leanderdsouza1234@gmail.com> * Added configuration for route server demo. Signed-off-by: Leander Stephen D'Souza <leanderdsouza1234@gmail.com> * Update migration guide to include route server demo for warehouse. Signed-off-by: Leander Stephen D'Souza <leanderdsouza1234@gmail.com> * Readjust heading and use image heading instead of figure. Signed-off-by: Leander Stephen D'Souza <leanderdsouza1234@gmail.com> * Add information about keepout and speed zones to migration. Signed-off-by: Leander Stephen D'Souza <leanderdsouza1234@gmail.com> * Remove line break for nav2 route configuration section. Signed-off-by: Leander Stephen D'Souza <leanderdsouza1234@gmail.com> * Update configuration/packages/configuring-route-server.rst Signed-off-by: Steve Macenski <stevenmacenski@gmail.com> --------- Signed-off-by: Leander Stephen D'Souza <leanderdsouza1234@gmail.com> Signed-off-by: Steve Macenski <stevenmacenski@gmail.com> Co-authored-by: Steve Macenski <stevenmacenski@gmail.com>
1 parent 22a773d commit c7f340a

8 files changed

Lines changed: 95 additions & 0 deletions

File tree

configuration/packages/configuring-route-server.rst

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -785,3 +785,32 @@ Example
785785
min_prune_dist_from_goal: 0.15 # Min distance from goal node away from goal pose to consider goal node pruning as considering it as being passed (in case goal pose is very close to a goal node, but not exact)
786786
min_prune_dist_from_start: 0.10 # Min distance from start node away from start pose to consider start node pruning as considering it as being passed (in case start pose is very close to a start node, but not exact)
787787
prune_goal: true # Whether pruning the goal nodes from the route due to being past the goal pose requested is possible (pose requests only)
788+
789+
790+
Configuring the Nav2 Route Server Demo
791+
**************************************
792+
793+
The Nav2 Route Server demo is a simulation of a Turtlebot4 robot navigating through a depot or a warehouse environment using the Nav2 Route Server.
794+
The `route_example_launch.py <https://github.com/ros-navigation/navigation2/blob/main/nav2_simple_commander/launch/route_example_launch.py>`_ file is used to launch the demo, and can be configured in place with the following parameters:
795+
796+
- ``MAP_TYPE``:
797+
- Set to either ``depot`` or ``warehouse`` to choose the environment.
798+
799+
- ``MAP_POSES_DICT``:
800+
- A dictionary containing the Gazebo spawn poses for the robot in the depot and warehouse environments.
801+
802+
- ``ROUTE_POSES_DICT``:
803+
- A dictionary containing the start and goal poses for the robot in the depot and warehouse environments.
804+
805+
All the graphs files for the depot and warehouse environments are located in the `graphs <https://github.com/ros-navigation/navigation2/tree/main/nav2_bringup/graphs>`_ directory under the ``nav2_bringup`` package.
806+
These are the current visualizations of the route graphs for the depot and warehouse environments:
807+
808+
.. image:: images/route_server/depot_graph.png
809+
:width: 100%
810+
:align: center
811+
.. centered:: *RViz visualization of the bidirectional route graph for the depot environment.*
812+
813+
.. image:: images/route_server/depot_graph.png
814+
:width: 100%
815+
:align: center
816+
.. centered:: *RViz visualization of the route graph for the warehouse environment. All nodes are bidirectional, except the ones that are annotated.*
101 KB
Loading
131 KB
Loading

migration/Jazzy.rst

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -507,3 +507,34 @@ Controller Server Frequency Removed Dynamic Parameter
507507
This is done so that the plugins can identify which parameters belong to itself and not the larger servers to perform dynamic reconfigurations.
508508
The controller server would update this value but the internal plugins would not properly so it was removed.
509509
If you rely on this behavior, please file a ticket and discuss with maintainers how to re-add.
510+
511+
Default bringup supports keepout, speed zones, and route planning
512+
*****************************************************************
513+
514+
In `PR #5125 <https://github.com/ros-navigation/navigation2/pull/5125>`_, keepout zones were added to the depot and warehouse maps of the Turtlebot4 simulation in Gazebo.
515+
516+
For the depot map, the keepout zones were aimed at preventing the robot from entering under the shelves, blocking the entrance of the stairwell and
517+
entering the surrounding area with the eight pallets to limit entrance from high-movement regions.
518+
519+
For the warehouse map, the keepout zones were aimed at preventing the robot from planning paths through free chairs and a region of high movement in the middle of the warehouse.
520+
521+
In `PR #5146 <https://github.com/ros-navigation/navigation2/pull/5146>`_, speed zones were added to the depot and warehouse maps of the Turtlebot4 simulation in Gazebo.
522+
523+
For the depot map, the shelves were encompassed in a speed zone of 75% of the maximum speed and the area around the pallets were limited to 50% of the maximum speed.
524+
525+
For the warehouse map, the area around the beams and the middle of the warehouse were limited to 80% of the maximum speed.
526+
527+
.. image:: ../configuration/packages/images/route_server/depot_graph.png
528+
:width: 100%
529+
:align: center
530+
531+
.. centered:: *The keepout zones are marked in pink, and the speed zones are marked with grey with proportional opacity to the speed limit.*
532+
533+
In `PR #5160 <https://github.com/ros-navigation/navigation2/pull/5160>`_, graph support was added to the warehouse world of the Turtlebot4 simulation in Gazebo.
534+
This allows users to visualize the route server in action and test the new features of the route server. The demo includes a simple route with a few waypoints and a graph to follow.
535+
536+
.. image:: ../configuration/packages/images/route_server/warehouse_graph.png
537+
:width: 100%
538+
:align: center
539+
540+
.. centered:: *RViz visualization of the route graph for the warehouse environment. All nodes are bidirectional, except the ones that are annotated. Speed zones are marked in grey with proportional opacity of 0.8 to match the speed limit.*
1.55 MB
Loading
8.15 MB
Loading
1.14 MB
Loading

tutorials/docs/route_server_tools.rst

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,12 @@ Unlike free-space planning, route-based navigation ensures that robots follow sp
1313
- Multi-robot coordination scenarios where predefined routes help prevent conflicts
1414
- Large scale outdoor urban or natural environments
1515

16+
.. image:: ../docs/images/Navigation2_route_tool/route_homepage_demo.gif
17+
:width: 100%
18+
:align: center
19+
20+
.. centered:: *Demonstration of Nav2 route tool using the Turtlebot4 Gazebo simulation environment visualised through RViz.*
21+
1622
Provided Tools
1723
**************
1824

@@ -35,3 +41,32 @@ There are several tools available for creating and editing route graphs for the
3541
3. **Manual Route Graph Generation**: For those who prefer direct file editing, route graphs can be created manually in GeoJSON format using QGIS. This method provides the most control over the graph structure but requires understanding of the GeoJSON format.
3642

3743
Choose the tool that best fits your needs based on your workflow and requirements.
44+
45+
Demonstration
46+
*************
47+
48+
| A demonstration of the assembled route server is provided to the Turtlebot4 Gazebo simulation for the Depot and Warehouse maps.
49+
| In order to run the demonstration, run the following command:
50+
51+
.. code-block:: console
52+
53+
ros2 launch nav2_simple_commander route_example_launch.py
54+
55+
This will by default initialize the Turtlebot4 in the depot map in the **3rd node** and will navigate to the **13rd node**.
56+
57+
.. image:: ../docs/images/Navigation2_route_tool/route_depot_demo.gif
58+
:width: 90%
59+
:align: center
60+
61+
.. centered:: *Turtlebot4 moving from the 3rd node to the 13th node in the depot map.*
62+
63+
In order to run the demonstration in the warehouse map, you can set the ``MAP_TYPE`` variable in the
64+
`route_example_launch.py <https://github.com/ros-navigation/navigation2/blob/main/nav2_simple_commander/launch/route_example_launch.py>`_ file to ``warehouse`` and run the same command as above.
65+
66+
.. image:: ../docs/images/Navigation2_route_tool/route_warehouse_demo.gif
67+
:width: 90%
68+
:align: center
69+
70+
.. centered:: *Turtlebot4 moving from the 0th node to the 61th node in the warehouse map.*
71+
72+
For more information on how to configure the start and goal nodes, or the supported maps, please refer to the `Configuration Guide <https://docs.nav2.org/configuration/packages/configuring-route-server.html>`_ page.

0 commit comments

Comments
 (0)