API to integrate a fleet manager (#505)

Posted by @Cavalletta98:

Hi,
i’m trying to integrate a fleet manager from a vendor of AGV into OpenRMF. I understand that a Full Control integration is not possibile. So, i was trying to understand how to do either a Traffic Light or Read Only integration. While i was looking to the informations on the documentation and the MirFleet adapter, i get confused. In the MirFleet adapter there are some API used to send mission to the fleet manager while in the documentation it is not specified that should be done for the type of integration that i mentioned
My question is: What are the APIs that a fleet manager must expose to integrate it with OpenRMF?
@matteo.carlone99@gmail.com

Posted by @luca-della-vedova:

Hi!

Admittedly all the open source implementation for fleet adapters that we have are for full control robots (list here) so it might be trickier to find examples for traffic light / read only adapters.
Still, we have demo scenarios for traffic light and read only, so depending on which integration you want to go for I would refer to the demo and backtrack to the fleet adapter it is running.

Posted by @Cavalletta98:

Hi @luca-della-vedova, i got your point. To accelerate the activity, is there a way to obtain the list of API that a fleet manager should expose to do either a Traffic Light or Read Only integration?

Posted by @luca-della-vedova:

You can have a look here, generally traffic light fleet robots should feedback information on their state and expected path, and offer an API that allows Open-RMF to pause / resume their navigation (hence the “traffic light” name).
On the other hand, read only robots only need to report their position (and ideally planned path)

Posted by @Cavalletta98:

When we talk about fleet manager and not directly robots, what does it means to pause/resume? How do we refer to the single robot?
All the stuff are managed by the fleet manager and we cannot access to the single robot

Posted by @luca-della-vedova:

I’m a bit confused, what do you want to achieve with Open-RMF then? If your fleet manager doesn’t allow you to control robots in any way you won’t really be able to command them around or make sure they don’t conflict with other robots, if at the very least it allows you to read the robot states you can do a read only integration (use a fleet manager endpoint that allows you to read the position of all robots and feed it into Open-RMF).