28.12.2014 Views

Distributed Reactive Collision Avoidance - University of Washington

Distributed Reactive Collision Avoidance - University of Washington

Distributed Reactive Collision Avoidance - University of Washington

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

40<br />

deconfliction group, D, it performs its deconfliction maneuver, broadcasting a conflict-free<br />

velocity to the group. Since it is this broadcasted velocity that is used by the deconfliction<br />

maintenance algorithm until the new vehicle really is conflict-free, the deconfliction group<br />

never sees any new conflicts.<br />

Theorem 4. The deconfliction maintenance controller described above, when implemented<br />

on n vehicles with dynamics (2.1) and inputs constrained by C i , will keep the system collision<br />

free for all time if the system starts conflict-free.<br />

Pro<strong>of</strong>. To measure the distance to a collision, define m as a signed version <strong>of</strong> ‖e‖ (in terms<br />

<strong>of</strong> ṽ from the geometry in Fig. 4.7):<br />

⎧<br />

⎪⎨ ‖ṽ‖ , ĉ T ṽ ≤ 0<br />

m =<br />

⎪⎩ ‖ṽ‖ sin(|β| − α), ĉ T ṽ > 0.<br />

Note that m is negative during conflict and positive during no conflict.<br />

(4.25)<br />

To ensure that a conflicted state is never reached (i.e. m is always greater than zero), it<br />

is sufficient to show that for every pair <strong>of</strong> vehicles there is a neighborhood on the positive<br />

side <strong>of</strong> m = 0 where ṁ ≥ 0. This condition implies that as the boundary <strong>of</strong> a collision cone<br />

approaches, it will either stop approaching or recede before a conflict is formed. The fact<br />

that this is a one-sided neighborhood is important because ṁ does not exist at m = 0 for<br />

the same reason that d ‖ṽ‖ does not exist at ṽ = 0. However, if this condition is satisfied,<br />

dt<br />

then m > 0 for all time, ensuring that m ≠ 0.<br />

For ĉ T ṽ ≤ 0 (using the ij notation again briefly for clarity),<br />

ṁ = eT ˙ṽ<br />

m = êT ˙ṽ, (4.26)<br />

where ê = e<br />

‖e‖ . Expanding u i into its components yields u i = [u ti t i + u ni n i + u bi b i ]. Next<br />

substitute for ṽ ij in (4.26) to get<br />

ê T ij ˙ṽ ij = u ti ê T ijˆt i + u ni ê T ijˆn i + u bi ê T ijˆb i − u tj ê T ijˆt j − u nj ê T ijˆn j − u bj ê T ijˆb j . (4.27)

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!