Modify waypoints dynamically using RMF web GUI (#616)

Posted by @sabbysim:

Besides using traffic editor to generate nav graph yaml files, can I use RMF web interface to modify the position of a waypoint (named waypoint where robot will park), so that the end user (without any knowledge of rmf) can dynamically change the parking positions? For example, at a construction site where the loading/unload points are very dynamic, how can the end-user change these points with minimal programming?

Posted by @aaronchongth:

Hi @sabbysim! Unfortunately that is not possible at this time, as the nav graph and all the related information in the building map, arises from the the Building Map Server node, one of the key Open-RMF core nodes.

Some things to note, the nav graph is generated from the .building.yaml via traffic editor or site editor, as the single source of truth. So modifying the nav graph directly without updating the building map file, is not advisable for a deployment.

For example, at a construction site where the loading/unload points are very dynamic, how can the end-user change these points with minimal programming?

There is currently no pipeline to dynamically update navigation graphs and have the changes propagate and reflected to the deployed building map, as well as all other parts of the system. From a deployment’s standpoint, this may have undesired effects too. In the event that there are multiple fleets in a deployment, and their navigation graphs were derived from this common building map, modifying one fleet’s navigation graph to affect the building map might have cascading effects.

The navigation graphs currently used by the fleet adapters are loaded at start-time too, therefore it is not possible to modify them dynamically at this time.


Edited by @aaronchongth at 2025-01-03T08:23:04Z

Posted by @sabbysim:

Hi @aaronchongth Thanks for the quick reply. So the only way to change the rmf waypoints is through the traffic editor?

Posted by @aaronchongth:

@sabbysim, yes that’s right. The overall pipeline should be,

  • update via traffic editor or site editor
  • generate new navigation graphs
  • restart building map server with updated .building.yaml
  • restart fleet adapters with updated navigation graphs