open-rmf / free_fleet

A free fleet management system.
Apache License 2.0
156 stars 65 forks source link

Free fleet incompatible with Python rmf fleet adapter #121

Closed TheConstructAi closed 1 year ago

TheConstructAi commented 1 year ago

Bug report

We have created a custom adapter based on this: Fleet Adapter

With slotcar plugin in simulation works perfectly.

But when we swap to use the free fleet we have two main issues: 1) Free fleet instead of publishing in the topic ' /robot_state( where slotcar publishes ) it publishes into ' /fleet_states' . This is easily fixed by adapting our fleet adapter to read from/fleet_staes. No big deal there. 2) Here comes the second issue: BUT then when doing this, the fleet adapter starts **ALSO** publishing intofleet_states`. This is quite strange because as far as we understand , it makes no sense that it published the fleet states. And for some reason both publications don't match, so the panner turns crazy. The fleet_states published by the custom fleet adapter publishes the desired position and not the real robot position. Makes sense?

We have seen that in the old full_contrl scripts, this publication into the /fleet_sdtates is deactivated, so we don't quite understand then how free fleet is intended to be used?

Do we have to adapt the free fleet to behave just like the slotcar does?

Required information:

Steps to reproduce the bug

1) Start a free fleet simulation 2) Use the above mentioned fleet adapter to start rmf

Expected behaviour

That it works as a transparent slotcar replacement

Hope to hear you suggestions

aaronchongth commented 1 year ago

Free fleet currently only works with the legacy Full Control fleet adapter, and not the newer python based demo fleet adapters. There will be an upcoming re-work of free fleet, as the legacy Full Control fleet adapter does not possess all the most recent capabilities, and as you have observed we have re-implemented the fleet adapters for our demos as well.