Vertice with dock_name specified is used as intermediary waypoints (#223)

Posted by @cwrx777:

Hi,

Should vertice with dock_name specified be used as intermediary waypoints and passed to follow_new_path?
I am expecting if the vertice has dock_name specified, rmf will call the dock command in the fleet adapter.

Posted by @mxgrey:

I can’t think of a reason that a docking point would be used as an intermediary waypoint by the planner. Intuitively I’d say that’s not supposed to happen. As you said, going to a docking point should always involve a dock command.

Are you able to share a minimal example of a map that reproduces this behavior?

Posted by @cwrx777:

Consider the following map:

VL_marker_3:

Fleet adapter is configured to finishing_request = park

  1. Robot starting position = VL_marker_3
  2. Send dispatch_patrol task:
ros2 run rmf_demos_tasks dispatch_patrol -p patrol_C VL_marker_3 patrol_B  -n 1
  1. Follow path request:
wp[0]:[L1][patrol_C] RMF[23.81, -15.12, -0.50]
wp[1]:[L1][patrol_C] RMF[23.81, -15.12, -0.64]
wp[2]:[L1][VL_marker_3_entry] RMF[24.77, -15.83, -0.64]
wp[3]:[L1][VL_marker_3_entry] RMF[24.77, -15.83, 0.00]
  1. Then at VL_marker_3_entry: the fleet adapter received docking request to VL_marker_3.
  2. after finished docking, the fleet adapter called the following:
self.on_waypoint = self.dock_waypoint_index #(graph index of VL_marker_3)
self.dock_waypoint_index = None
docking_finished_callback()
  1. then the fleet adapter received another path request:
wp[0]:[None][non_index] RMF[26.19, -15.84, 0.00]
wp[1]:[L1][VL_marker_3] RMF[26.22, -15.83, 0.31]  
wp[2]:[L1][VL_marker_3] RMF[26.22, -15.83, -3.14] 
wp[3]:[L1][VL_marker_3_entry] RMF[24.77, -15.83, -3.14]