diff --git a/configuration/packages/configuring-route-server.rst b/configuration/packages/configuring-route-server.rst index de39f50dae..0f5a5bcb85 100644 --- a/configuration/packages/configuring-route-server.rst +++ b/configuration/packages/configuring-route-server.rst @@ -785,3 +785,32 @@ Example 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) 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) prune_goal: true # Whether pruning the goal nodes from the route due to being past the goal pose requested is possible (pose requests only) + + +Configuring the Nav2 Route Server Demo +************************************** + +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. +The `route_example_launch.py `_ file is used to launch the demo, and can be configured in place with the following parameters: + +- ``MAP_TYPE``: + - Set to either ``depot`` or ``warehouse`` to choose the environment. + +- ``MAP_POSES_DICT``: + - A dictionary containing the Gazebo spawn poses for the robot in the depot and warehouse environments. + +- ``ROUTE_POSES_DICT``: + - A dictionary containing the start and goal poses for the robot in the depot and warehouse environments. + +All the graphs files for the depot and warehouse environments are located in the `graphs `_ directory under the ``nav2_bringup`` package. +These are the current visualizations of the route graphs for the depot and warehouse environments: + +.. image:: images/route_server/depot_graph.png + :width: 100% + :align: center +.. centered:: *RViz visualization of the bidirectional route graph for the depot environment.* + +.. image:: images/route_server/depot_graph.png + :width: 100% + :align: center +.. centered:: *RViz visualization of the route graph for the warehouse environment. All nodes are bidirectional, except the ones that are annotated.* diff --git a/configuration/packages/images/route_server/depot_graph.png b/configuration/packages/images/route_server/depot_graph.png new file mode 100644 index 0000000000..b4af990620 Binary files /dev/null and b/configuration/packages/images/route_server/depot_graph.png differ diff --git a/configuration/packages/images/route_server/warehouse_graph.png b/configuration/packages/images/route_server/warehouse_graph.png new file mode 100644 index 0000000000..a705949f77 Binary files /dev/null and b/configuration/packages/images/route_server/warehouse_graph.png differ diff --git a/migration/Jazzy.rst b/migration/Jazzy.rst index 58a5b78ebf..971e27ac9b 100644 --- a/migration/Jazzy.rst +++ b/migration/Jazzy.rst @@ -507,3 +507,34 @@ Controller Server Frequency Removed Dynamic Parameter This is done so that the plugins can identify which parameters belong to itself and not the larger servers to perform dynamic reconfigurations. The controller server would update this value but the internal plugins would not properly so it was removed. If you rely on this behavior, please file a ticket and discuss with maintainers how to re-add. + +Default bringup supports keepout, speed zones, and route planning +***************************************************************** + +In `PR #5125 `_, keepout zones were added to the depot and warehouse maps of the Turtlebot4 simulation in Gazebo. + +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 +entering the surrounding area with the eight pallets to limit entrance from high-movement regions. + +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. + +In `PR #5146 `_, speed zones were added to the depot and warehouse maps of the Turtlebot4 simulation in Gazebo. + +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. + +For the warehouse map, the area around the beams and the middle of the warehouse were limited to 80% of the maximum speed. + +.. image:: ../configuration/packages/images/route_server/depot_graph.png + :width: 100% + :align: center + +.. centered:: *The keepout zones are marked in pink, and the speed zones are marked with grey with proportional opacity to the speed limit.* + +In `PR #5160 `_, graph support was added to the warehouse world of the Turtlebot4 simulation in Gazebo. +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. + +.. image:: ../configuration/packages/images/route_server/warehouse_graph.png + :width: 100% + :align: center + +.. 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.* diff --git a/tutorials/docs/images/Navigation2_route_tool/route_depot_demo.gif b/tutorials/docs/images/Navigation2_route_tool/route_depot_demo.gif new file mode 100644 index 0000000000..d385bbe887 Binary files /dev/null and b/tutorials/docs/images/Navigation2_route_tool/route_depot_demo.gif differ diff --git a/tutorials/docs/images/Navigation2_route_tool/route_homepage_demo.gif b/tutorials/docs/images/Navigation2_route_tool/route_homepage_demo.gif new file mode 100644 index 0000000000..014ba5dd49 Binary files /dev/null and b/tutorials/docs/images/Navigation2_route_tool/route_homepage_demo.gif differ diff --git a/tutorials/docs/images/Navigation2_route_tool/route_warehouse_demo.gif b/tutorials/docs/images/Navigation2_route_tool/route_warehouse_demo.gif new file mode 100644 index 0000000000..752d33faf2 Binary files /dev/null and b/tutorials/docs/images/Navigation2_route_tool/route_warehouse_demo.gif differ diff --git a/tutorials/docs/route_server_tools.rst b/tutorials/docs/route_server_tools.rst index 136366a008..b8da8ced58 100644 --- a/tutorials/docs/route_server_tools.rst +++ b/tutorials/docs/route_server_tools.rst @@ -13,6 +13,12 @@ Unlike free-space planning, route-based navigation ensures that robots follow sp - Multi-robot coordination scenarios where predefined routes help prevent conflicts - Large scale outdoor urban or natural environments +.. image:: ../docs/images/Navigation2_route_tool/route_homepage_demo.gif + :width: 100% + :align: center + +.. centered:: *Demonstration of Nav2 route tool using the Turtlebot4 Gazebo simulation environment visualised through RViz.* + Provided Tools ************** @@ -35,3 +41,32 @@ There are several tools available for creating and editing route graphs for the 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. Choose the tool that best fits your needs based on your workflow and requirements. + +Demonstration +************* + +| A demonstration of the assembled route server is provided to the Turtlebot4 Gazebo simulation for the Depot and Warehouse maps. +| In order to run the demonstration, run the following command: + +.. code-block:: console + + ros2 launch nav2_simple_commander route_example_launch.py + +This will by default initialize the Turtlebot4 in the depot map in the **3rd node** and will navigate to the **13rd node**. + +.. image:: ../docs/images/Navigation2_route_tool/route_depot_demo.gif + :width: 90% + :align: center + +.. centered:: *Turtlebot4 moving from the 3rd node to the 13th node in the depot map.* + +In order to run the demonstration in the warehouse map, you can set the ``MAP_TYPE`` variable in the +`route_example_launch.py `_ file to ``warehouse`` and run the same command as above. + +.. image:: ../docs/images/Navigation2_route_tool/route_warehouse_demo.gif + :width: 90% + :align: center + +.. centered:: *Turtlebot4 moving from the 0th node to the 61th node in the warehouse map.* + +For more information on how to configure the start and goal nodes, or the supported maps, please refer to the `Configuration Guide `_ page.