Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The collision avoidance is based on a vehicle reducing its speed before a potential collision. By default, all vehicles plan to drive with a given maximum speed. When a collision is predicted, the vehicle with ther greater ID reduces its planned speed (in the speed profile) a little prior to the collision. This process is repeated until all predicted collisions are resolved. If it is not possible to resolve all collisions, the program stops. As a result, vehicle 1 never slows down. Vehicle 2 slows to avoid vehicle 1. Vehicle 3 slows to avoid vehicles 1 and 2, and so on. This is a priority based collision avoidance. The speed is increased and decreased in small increments over time, to maintain the maximum acceleration.

Image RemovedImage Added

Sources:
Priorities https://git.rwth-aachen.de/CPM/Project/Lab/software/blob/d48cf9c589cd8375b7ea147d7931ed0f29650278/central_routing_example/src/MultiVehicleTrajectoryPlanner.cpp#L49
Collision prediction https://git.rwth-aachen.de/CPM/Project/Lab/software/blob/d48cf9c589cd8375b7ea147d7931ed0f29650278/central_routing_example/src/VehicleTrajectoryPlanningState.cpp#L121
Speed reduction https://git.rwth-aachen.de/CPM/Project/Lab/software/blob/d48cf9c589cd8375b7ea147d7931ed0f29650278/central_routing_example/src/VehicleTrajectoryPlanningState.cpp#L162

...