The current implementation needs an initial parameter set that points to a valid map during on_reconfigure. If the parameters are not set, on_configure fails and the load_map_service is not started:
https://github.com/ros-planning/navigation2/blob/3e4dd6fa24f4d155d962b1dc9ba92110ef121641/nav2_map_server/src/map_server/map_server.cpp#L97
This imho limits the usability because we can't start the map server until we know which map we want to use.
I could write a short PR that starts the services before checking the parameters and remove the thrown exception if there was no valid parameter set.
The current implementation needs an initial parameter set that points to a valid map during on_reconfigure. If the parameters are not set, on_configure fails and the load_map_service is not started:
https://github.com/ros-planning/navigation2/blob/3e4dd6fa24f4d155d962b1dc9ba92110ef121641/nav2_map_server/src/map_server/map_server.cpp#L97
This imho limits the usability because we can't start the map server until we know which map we want to use.
I could write a short PR that starts the services before checking the parameters and remove the thrown exception if there was no valid parameter set.