Skip to content

Obstacle Observer

Berghojo edited this page Mar 30, 2022 · 2 revisions

Obstacle Observer

This component handles the Obstacle retrieved directly from the Perception layer. The callable methods provide Speed Observations and new replanned routes to avoid collisions.

Detect blocking objects

To detect blocking object the algorithm iterates through all object that are stored in the object list and predicts their future trajectory. To simplify this we averaged the tracked trajectory and predcited a linear trajectory according to the detected speed of the obstacle. In the next step we estimate the zone clearance time.

Zone clearing time

Time zone clearence This calculates the time delta between two cars leaving and entering the zone. If the delta is negative or in our case <2 sec a waypoint counts as blocked

Speed Control

The closest blocked point is sent via a Speed Observation connotated with the closest blocking obstacle velocity.

Overtaking

The overtaking algorithm took its inspiration from this paper Like the speed control the algorithm first checks if a overtaking maneuver is necessary by assessing the blocked points. Based on these a overtaking maneuver with the sigmoid function is planned. The values derived from the function are then added to the original positions by moving them with orthogonal vectors of the corrosponding length. Sigmoid Function Its important to note that the the mu factor corresponds to the slope of the overtaking. Also to add a little buffer we extended the safety zone at the end of the overtaking process by 2 * Safety Distance to ensure a safe overtaking.