Distributed Reactive Collision Avoidance - University of Washington
Distributed Reactive Collision Avoidance - University of Washington
Distributed Reactive Collision Avoidance - University of Washington
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)