From e7496c7637d42b004cf3c83635048d845e14c3f6 Mon Sep 17 00:00:00 2001 From: Steve Macenski Date: Fri, 24 Apr 2020 13:08:37 -0700 Subject: [PATCH] Adding map server migration guide Via https://github.com/ros-planning/navigation2/pull/1650/ --- sphinx_doc/migration/Eloquent.rst | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/sphinx_doc/migration/Eloquent.rst b/sphinx_doc/migration/Eloquent.rst index 356c032f78..58a444878b 100644 --- a/sphinx_doc/migration/Eloquent.rst +++ b/sphinx_doc/migration/Eloquent.rst @@ -42,3 +42,19 @@ Many new behavior tree nodes were added. These behavior tree nodes are now BT plugins and dynamically loadable at run-time using behavior tree cpp v3. See ``nav2_behavior_tree`` for a full listing, or :ref:`plugins` for the current list of behavior tree plugins and their descriptions. These plugins are set as default in the ``nav2_bt_navigator`` but may be overrided by the ``bt_plugins`` parameter to include your specific plugins. + + +Map Server Re-Work +****************** + +``map_saver`` was re-worked and divided into 2 parts: CLI and server. +CLI part is a command-line tool that listens incoming map topic, saves map once into a file and finishes its work. This part is remained to be almost untouched: CLI executable was renamed from ``map_saver`` to ``map_saver_cli`` without changing its functionality. +Server is a new part. It spins in the background and can be used to save map continuously through a ``save_map`` service. By each service request it tries to listen incoming map topic, receive a message from it and write obtained map into a file. + +``map_server`` was dramatically simplified and cleaned-up. ``OccGridLoader`` was merged with ``MapServer`` class as it is intended to work only with one ``OccupancyGrid`` type of messages in foreseeable future. + +Map Server now has new ``map_io`` dynamic library. All functions saving/loading ``OccupancyGrid`` messages were moved from ``map_server`` and ``map_saver`` here. These functions could be easily called from any part of external ROS2 code even if Map Server node was not started. + +``map_loader`` was completely removed from ``nav2_util``. All its functionality already present in ``map_io``. Please use it in your code instead. + +Please refer to the `original GitHub ticket `_ and `Map Server README `_ for more information.