Posted by @cardboardcode:
Description 
When submitting a basic Automatic Dispatch Type patrol
task through RMF Dashboard (as shown in the video below), the Robot Fleet Adapter does not seem to receive the bid in order to start the cost calculation and submit a Bid Proposal in response.
However, when submitting a basic patrol
task with Robot specified, RMF is able to dispatch the task successfully and Robot Fleet Adapter executes the task successfully.
See video attached for better visualisation.
Screencast from 04-20-2025 02:32:29 PM.webm
Error Abstract
rmf_core_c | [rmf_task_dispatcher-14] [INFO] [1745128036.256038198] [rmf_dispatcher_node]: Task auction for [patrol.dispatch-0] did not received any bids
rmf_core_c | [rmf_task_dispatcher-14] [WARN] [1745128036.256195683] [rmf_dispatcher_node]: Dispatcher Bidding Result: task [patrol.dispatch-0] has no submissions during bidding. Dispatching failed, and the task will not be performed.
Context 
I have created a simple simulated world with a Turtlebot3. All of the following RMF and Robot components are in their own individual docker containers for the sake of modularity:
- RMF Dashboard (ROS 2 Jazzy)
- RMF API Server (ROS 2 Jazzy)
- Robot Fleet Adapter (ROS 2 Jazzy)
- RMF Core (ROS 2 Jazzy)
- Robot REST API Server (ROS 1 Noetic)
- Robot Gazebo Simulation (ROS 1 Noetic)
- Robot Navigation Stack (ROS 1 Noetic)
Expected Behaviour 
When submitting Automatic Dispatch Type patrol
task, RMF should be able to find robot0
which is the simulated TurtleBot3 under Robot Fleet Adapter and successfully award the bid to it to start executing.
Actual Behaviour 
When submitting Automatic Dispatch Type patrol
task, Robot Fleet Adapter seemingly ignores the bid from RMF Traffic. Even though, from the video above, it clearly shows that robot0
can be found and is interactable through a direct patrol task dispatch.
Temporary Workaround 
For now, it seems that, to circumvent this issue, both Robot Fleet Adapter and RMF Core needs to be in the same docker container in order for Automatic Dispatch Type patrol
task to find robot0
.
However, for the sake of modularity, would prefer to keep them apart. Keeping in mind that having the same set-up based in ROS 2 Humble does not face the same issue.
Investigation 
Looking into this issue further in-depth, there are a few odd observations:
-
ROS 2 topic
fleet_markers
from ROS 2 nodefleet_states_visualizer
does not publish any data, even though ROS 2 topic/fleet_states
can be seen publishing robot information. This results in a lack of RViz Marker showing Robot position on RMF Core RViz. See screenshot below:
-
Despite being on the same ROS 2 distribution between RMF Core and Robot Fleet Adapter, the following error is often thrown when attempting to read information of ROS 2 topics:
This error state is being overwritten:
'Unknown QoS durability policy, at ./src/qos.cpp:82'
with this new error message:
'create_publisher() failed setting topic QoS, at ./src/subscription.cpp:599'
rcutils_reset_error() should be called after error handling to avoid this.
Remarks 
Therefore, after much self-debugging, I would like to trouble you for your insights on what critical components/configurations I may be missing in my set-up in order to achieve the Expected Behaviour.
Will provide any further necessary information as required in order to debug.