Preventing waypoint from being used for deconfliction (#421)

Posted by @cwrx777:

The pic below shows that pickup location is also used for dropoff.
For pickup, the robot will be performing docking to the cart that is placed in the pickup location.
For dropoff, the robot (with cart) will go to the dropoff location and leave the cart there.
I have also added some waypoints beside the pickup/dropoff points with expectation that they’ll be used for deconfliction.

At 00:00, the first robot is sent to a pickup_03.
At 00:02, the second robot is also sent to pickup_03, however, it is first sent to go to dropoff_04 for deconflict purpose. (in the real life, there may already be a cart in that dropoff point).
How do we configure the pickup and dropoff waypoints so that they are not used for deconfliction?

Posted by @mxgrey:

This is something that we want to add better support for in the next generation, but for now the best workaround we have is to set a very low “speed limit” (e.g. 0.001 m/s) for the lanes that go into the waypoints that you don’t want used for deconfliction. That will strongly discourage the planner from trying to use those points for deconfliction, although it doesn’t currently guarantee that they won’t be used.

In addition to the above, it’s a good idea to engineer your graph in a way that provides the robots with “lower cost” ways to deconflict, especially around crowded areas. That mostly means offering side-by-side lanes whenever space allows.