tuw-robotics / tuw_multi_robot

BSD 3-Clause "New" or "Revised" License
233 stars 113 forks source link

Crossing + Start/End Collision #19

Open v-lopez opened 4 years ago

v-lopez commented 4 years ago

First of all thanks for publishing this, it's a great planner, congratulations on the work you've done.

I've run into some kind of a corner case I believe, at least I don't understand if it's covered by the cases described in your Thesis or at least implemented in the code.

Given the following graph: image

I've got two robots, one at 137 (R0) and the other at 140 (R1). And they want to exchange positions. The segments are not wide enough to be shared. A solution I could think of would be something like: R0: 137 -> 110 -> 111 -> wait until R1 at 137 -> 140 140 -> 114 -> wait until R0 at 111 -> 113 -> 137

Other solutions I can think are similar to this, where there's not enough with one robot waiting for the other. But if I understood correctly your work, the first planned robot will never have any precondition.

Am I missing something?