The collision avoidance microservice is a small microservice running on the OEO server with the sole purpose of predicting collisions between vehicles (UAVs and UGVs) and preventing them. The service performs a forward linear prediction assuming all vehicles maintain constant velocity.
The current requirements to trigger this microservice are:
Vehicles are predicted to be within 5.0 meters in less than 6 seconds (20 time steps are used per second)
If a potential collision is detected, this microservice alerts all vehicles to set their current mode to LOITER, which prompts all vehicles to stop moving (and in the case of UAVs, hover in place). In this phase, the operator will take over manual control to safely land any UAVs.
Use collision arm_collision to re-arm the collision service and allow for vehicles to leave LOITER mode. Alternatively, use restart_cvm in development mode to reset vehicle positions entirely.
If the collision microservice is triggered in development mode, checking the OEO console logs can help identify which vehicles were about to collide to help address the issue.Â
However, if the collision microservice is triggered in the actual field (hopefully not!) the safety pilot can take over control of individual vehicles to land them safely.