AssertionError: Unable to initialize fleet adapter, although the 'rmf_traffic_schedule' node is active. (#647)

Posted by @akshay-ka:

Hello,

I’m integrating free_fleet with rmf-web for my robot (runs on ros2).

Here is the complete stack I’m running:

OS: Ubuntu 24 LTS
ROS2: Jazzy
Build: source
RMW_IMPLEMENTATION: rmw_cyclonedds_cpp

My PC: API server + dashboard + browser + Open-RMF + free fleet adapter
AGX robot: nav2 + zenoh bridge

Currently, I’m facing the following error:
AssertionError: Unable to initialize fleet adapter. Please ensure RMF Schedule Node is running.
Here is the log.

However, I have already launched ros2 launch fleet_adapter_diadem1 diadem_world_rmf_common.launch.xml file which runs the rmf_traffic_schedule node. Here is the log for that.

I’m unclear why the assertion error happens here.

Could anyone provide guidance or clarification on how to move forward?

Chosen answer

Answer chosen by @akshay-ka at 2025-03-24T09:32:11Z.
Answered by @aaronchongth:

The assertion error is due to the fleet adapter failing to find the RMF traffic schedule nodes before the timeout period.

Here is the log.

These errors normally indicate that the topics are on different RMW Implementations, which can cause messages to fail to reach nodes. Can you double check that they match?

Otherwise, after launching rmf_common nodes, before launching your fleet adapter, can you try doing ros2 topic list, ros2 node list, and see if the RMF topics appear. If they do appear, try to listen to some common topics, like ros2 topic echo /map, ros2 topic /rmf_traffic/schedule_startup. These echos should also encounter the same issue.

If all else fails, there are the usual resetting ROS 2 commands, ros2 daemon stop, ros2 daemon start, or trying again after restarting your machine. Let us know how it goes.

Posted by @aaronchongth:

The assertion error is due to the fleet adapter failing to find the RMF traffic schedule nodes before the timeout period.

Here is the log.

These errors normally indicate that the topics are on different RMW Implementations, which can cause messages to fail to reach nodes. Can you double check that they match?

Otherwise, after launching rmf_common nodes, before launching your fleet adapter, can you try doing ros2 topic list, ros2 node list, and see if the RMF topics appear. If they do appear, try to listen to some common topics, like ros2 topic echo /map, ros2 topic /rmf_traffic/schedule_startup. These echos should also encounter the same issue.

If all else fails, there are the usual resetting ROS 2 commands, ros2 daemon stop, ros2 daemon start, or trying again after restarting your machine. Let us know how it goes.


This is the chosen answer.

Posted by @akshay-ka:

@aaronchongth
I have added export RMW_IMPLEMENTATION=rmw_cyclonedds_cpp to .bashrc. It has solved the problem. Thanks for the support.