Skip to content

[Bug]: fleet adapter crashed intermittently while searching for emergency pullover spot #462

@cwrx777

Description

@cwrx777

Before proceeding, is there an existing issue or discussion for this?

OS and version

Ubuntu 22.04

Open-RMF installation type

Source build

Other Open-RMF installation methods

No response

Open-RMF version or commit hash

f41fae5

ROS distribution

Humble

ROS installation type

Binaries

Other ROS installation methods

No response

Package or library, if applicable

No response

Description of the bug

Tested using airport_terminal simulation with multiple robots performing dispatch patrol task.
The emergency signal was triggered using emergency_signal topic to all fleets and it took a few attempts of toggling of the emergency signal before it crashed.

gdb output

Steps to reproduce the bug

Updated rmf_demos_fleet_adapter.launch.xml file with gdb as launch prefix:

  <!-- Fleet adapter -->
  <group if="$(var use_sim_time)">
    <node pkg="rmf_demos_fleet_adapter"
      exec="fleet_adapter"
      args="-c $(var config_file) -n $(var nav_graph_file) -sim"
      output="both"
      launch-prefix="xterm -e gdb -ex=r --args python3"
    >
...

Launched airport_terminal simulation

ros2 launch rmf_demos_gz_classic airport_terminal.launch.xml

Send tasks

ros2 run rmf_demos_tasks dispatch_patrol --use_sim_time -p koi_pond junction_s10 -n 5; \
ros2 run rmf_demos_tasks dispatch_patrol --use_sim_time -p junction_s10 koi_pond -n 5; \
ros2 run rmf_demos_tasks dispatch_patrol --use_sim_time -p junction_s10 koi_pond -n 5; \
ros2 run rmf_demos_tasks dispatch_patrol --use_sim_time -p deliveryRobot_n10 junction_north_east -n 5; \
ros2 run rmf_demos_tasks dispatch_patrol --use_sim_time -p junction_north_east deliveryRobot_n10 -n 5; \
ros2 run rmf_demos_tasks dispatch_patrol --use_sim_time -p junction_north_east deliveryRobot_n10 -n 5;

Toggle emergency signal multiple times

while true; do
  # Trigger emergency = true
  ros2 topic pub /emergency_signal rmf_fleet_msgs/msg/EmergencySignal "
fleet_names: []
is_emergency: true" --once
  
  sleep 10
  
  # Trigger emergency = false
  ros2 topic pub /emergency_signal rmf_fleet_msgs/msg/EmergencySignal "
fleet_names: []
is_emergency: false" --once
  
  sleep 10
done

Expected behavior

Should not crash.

Actual behavior

Fleet adapter crashed

Additional information or screenshots

No response

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions