%------------------------------------------------------------------------------ % horizontal_los.pvs % ACCoRD v.1.0 % % Algorithms to horizontally recover from Loss of Separation %------------------------------------------------------------------------------
s : VAR LoS_vect2
vo,vi : VAR Nz_vect2
v,nvo,nvi : VAR Vect2
t,ti,to : VAR posreal % Upper bound to time to recover separation
irt : VAR Sign
MinRelSpeed,
MinGS,MaxGS,
MinRelSpeedo,
MinGSo,MaxGSo,
MinRelSpeedi,
MinGSi,MaxGSi: VAR posreal
%------------% % ALGORITHMS % %------------%
sDs(s): posreal = norm(s)*D-sqv(s)
gs_los(s,vo,vi,MinGS,MaxGS,MinRelSpeed,irt): {nvo | nz_vect2?(nvo) =>
gs_only?(vo)(nvo) AND MinGS <= norm(nvo) AND norm(nvo) <= MaxGS} = LET nv = max_segment_point_in_slice(zero,-vi,(1/norm(vo))*vo,MinGS,MaxGS,s,irt*perpR(s)) IN IF intersects_segment_fun?(zero,-vi,(1/norm(vo))*vo,MinGS,MaxGS,s,irt*perpR(s)) AND norm(nv)>=MinRelSpeed THEN
nv+vi ELSE
zero ENDIF
gs_los_def: LEMMALET nvo = gs_los(s,vo,vi,MinGS,MaxGS,MinRelSpeed,irt) IN
(nvo/=zero IMPLIES
gs_only?(vo)(nvo) AND
MinGS <= norm(nvo) AND
norm(nvo) <= MaxGS AND
s*(nvo-vi)>=0 AND
norm(nvo-vi)>=MinRelSpeed AND
((nvo-vi/=zero OR MinRelSpeed>0) IMPLIES divergent?(s,nvo-vi)) AND
irt*det(s,nvo-vi)<=0) AND
(FORALL (nvo2:Vect2):
gs_only?(vo)(nvo2) AND
MinGS <= norm(nvo2) AND
norm(nvo2) <= MaxGS AND
divergent?(s,nvo2-vi) AND
irt*det(s,nvo2-vi)<=0 AND
norm(nvo2-vi)>=MinRelSpeed IMPLIES
norm(nvo2-vi)<=norm(nvo-vi) AND
nvo/=zero)
trk_los(s,vo,vi,MinRelSpeed,irt): {nvo | nz_vect2?(nvo) =>
trk_only?(vo)(nvo)} = LET nv = max_circle_point_in_slice(zero,-vi,norm(vo),s,irt*perpR(s)) IN IF intersects_circle_fun?(nv,-vi,norm(vo)) AND norm(nv)>=MinRelSpeed THEN
nv+vi ELSE
zero ENDIF
trk_los_def: LEMMALET nvo = trk_los(s,vo,vi,MinRelSpeed,irt) IN
(nvo/=zero IMPLIES
norm(nvo) = norm(vo) AND
s*(nvo-vi)>=0 AND
norm(nvo-vi)>=MinRelSpeed AND
((nvo-vi/=zero OR MinRelSpeed>0) IMPLIES divergent?(s,nvo-vi)) AND
irt*det(s,nvo-vi)<=0) AND
(FORALL (nvo2:Vect2):
norm(nvo2) = norm(vo) AND
divergent?(s,nvo2-vi) AND
irt*det(s,nvo2-vi)<=0 AND
norm(nvo2-vi)>=MinRelSpeed IMPLIES
norm(nvo2-vi)<=norm(nvo-vi) AND
nvo/=zero)
% opt_los(s,vo,vi,t): {nvo | nz_vect2?(nvo) => % optimal?(vo,Vdir(s,vo-vi))(nvo)} = % LET v = vo-vi IN % IF t*(s*v) < sDs(s) THEN % opt_trk_gs_dot(s,vo,vi,sDs(s)/t) % ELSE % vo % ENDIF
los_recovery_coordination : THEOREM
los_recovery?(s,vo,vi,MinRelSpeedo,MinGSo,MaxGSo,MinRelSpeedo)(nvo) AND
los_recovery?(-s,vi,vo,MinRelSpeedi,MinGSi,MaxGSi,MinRelSpeedi)(nvi) AND
horizontal_entry?(s,vo-vi) IMPLIES
(divergent?(s,nvo-nvi) OR nvo-nvi=zero)
%%%
END horizontal_los
¤ Dauer der Verarbeitung: 0.11 Sekunden
(vorverarbeitet)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.