Hi everyone.
I recently working with fleet adapter template following this document:
But when i start package using command:
ros2 run fleet_adapter_template fleet_adapter -c -n .
My memory suddenly grew quickly and the computer crashed.
Why does this happened and what the minimum requirements of the memory for fleet adapter.
I’m using ubuntu 22.04 with ros2 humble
Hi @namphn17, that’s a rather strange behavior that we may not have encountered before. Can you provide some way for us to reproduce this behavior? Repositories, instructions, code, logs, any of these would be helpful.
Hi @Aaron_Chong
I’ve been using the rmf‑demos repository from Open‑RMF and launching the Hotel World map. This demo map already contains two robot fleets: deliveryBot and cleanerRobot. My goal is to separate one of these fleets—cleanerRobot—so I can use it with the Fleet Adapter template.
First, I launch the world map using this command:
ros2 launch rmf_demos_gz hotel.launch.xml
After the world has launched successfully, the logs indicate that deliveryBot has registered successfully. On my system monitor, the memory usage is approximately 50.4%.
Next step, I start run the fleet adapter template packages using config and nav-graph of cleanerBot in rmf-demos following this command:
ros2 run fleet_adapter_template fleet_adapter -c fleet_adapter_template/cleanerBotA_config.yaml -n fleet_adapter_template/map/1.yaml
My packages log show that cleanerBot has successfully added:
But on the system monitor, the memory usage begins growing rapidly until it take all the memory usage and my computer start crash
I’m new to the robotics framework and don’t fully understand what happened. Could you help me identify the issues I encountered. Thank you.
Good to know that it is currently isolated to launching the new fleet adapter, since the system seems to be performing normally before launching the cleaning robots’ fleet adapter.
Are you able to share your implementation of the fleet adapter (based on the fleet adapter template)? It might have some clues as to why this is happening
Hi @Aaron_Chong
My fleet‑based implementation is straightforward. Its primary purpose is to fetch the robot’s current position and display it on RMF‑Web. To do this, I simply stimulate an API request to retrieve the robot’s status information using fleet_manager and override the position() method. Below is the code change I made to fetch the robot‑status data and override the position method in the fleet‑adapter template:
I’m not able to send you my source code through this chat. Could you give me your email address, i will send you my source code if needed.
You can provide the source code there and the instructions on how to reproduce it over DM. I’ve sent you a message.
Can you perhaps try your implementation out with ROS 2 Jazzy as well? A substantial number of improvements for RMF have been introduced since the Humble release.