Use full control adapter for RMF and parse robot specific configs like charging station and home waypoint (#509)

Posted by @Odin-byte:

Hello everyone, im am currently using RMF in combination with Free Fleet. I integrated the doors in our facility and im am able to send the robot to different locations, with doors opening and closing.

Using free fleet I am currently using the full control adapter provided in rmf_ros2 within the fleet adapter pkg. I wrote a custom launch file to hold all the fleet specific / robot type specific parameters. This works fine.

But when I tested the battery control I realized that using the current full control launch file I am not able to parse arguments specific to every single robot within the fleet like: home waypoint or its designated charger.

The adapter launch files in the demos allow to parse all parameters including these as a config file, but from my perspective the full control adapter does not allow for this kind of parsing?

How do I set the parameters specific to the single robots when using free fleet and the full control adapter provided by rmf?

Chosen answer

Answer chosen by @Odin-byte at 2024-09-16T14:54:08Z.
Answered by @Yadunund:

The legacy full_control adapter which works along with free fleet only supports these parameters. The implementation is very different from the rmf_demos_fleet_adapter which is the more modern way of writing fleet adapters.

How do I set the parameters specific to the single robots when using free fleet and the full control adapter provided by rmf?

There’s no good way to do this at the moment without updating the full_control implementation which is not desireable. You may consider refactoring free fleet server to be an implementation of the EasyFullControl API but best to discuss that with @aaronchongth who is more knowledgable on free fleet.

Posted by @Yadunund:

The legacy full_control adapter which works along with free fleet only supports these parameters. The implementation is very different from the rmf_demos_fleet_adapter which is the more modern way of writing fleet adapters.

How do I set the parameters specific to the single robots when using free fleet and the full control adapter provided by rmf?

There’s no good way to do this at the moment without updating the full_control implementation which is not desireable. You may consider refactoring free fleet server to be an implementation of the EasyFullControl API but best to discuss that with @aaronchongth who is more knowledgable on free fleet.


This is the chosen answer.