WSF_ORBITAL_CONJUNCTION_PROCESSOR

processor WSF_ORBITAL_CONJUNCTION_PROCESSOR

Derives From: WSF_SCRIPT_PROCESSOR

processor <name> WSF_ORBITAL_CONJUNCTION_PROCESSOR
   ... WSF_SCRIPT_PROCESSOR Commands ...

   search_interval <time-value>
   filter_cut_distance <length-value>
   search_step_size <angle-value>
   exclusion_factor <real-value>
   default_variance <length-value>
   default_object_size <length-value>
   prediction_model <string>
   primary <string> end_primary
   debug

   script void on_conjunction_predicted(Array<WsfOrbitalConjunctionReport> aReports)
      ...
   end_script
end_processor

Overview

WSF_ORBITAL_CONJUNCTION_PROCESSOR monitors the containing WsfPlatform’s master track list and predicts over the search_interval if any of the tracked objects might suffer a conjunction with one of the named primary objects. This processor inherits all the functionality of the WSF_SCRIPT_PROCESSOR and adds to it in the following ways.

At the end of each update of the processor the master track list of the owning platform is examined with each track categorized between primary and secondary objects. The generated list of primary tracks correspond to the spacecraft of particular interest to the processor. The secondary tracks are any other tracks in the space spatial domain in the owning platform’s master track list. For each primary track, each other primary and secondary track is examined for possible conjunctions. This prediction is made out to search_interval from the time at which the update is performed.

For each pair, a fast filter is used to quickly remove pairs of tracks that cannot possibly suffer a conjunction using the geometry of the orbits. The cut is performed by examining the periapsis and apoapsis of the two orbits. If the closest possible approach is larger than filter_cut_distance, then the pair is ignored.

Close approaches are predicted by taking a series of steps along the orbit and interpolating between the start and end of the step. This allows for relatively large steps to be taken, reducing the computational burden of this processor. The size of the steps is set by search_step_size.

For each pair, when a close approach is predicted, the processor will compute a number of quantities including, the maximum probability of conjunction, the time and miss distance of the point of closest approach, and the times that the two objects enter into the encounter region, defined to be the combined error ellipsoid, scaled by the exclusion_factor.

After all possible conjunctions are found, the processor will call the script defined on the processor named on_conjunction_predicted, if it exists. The arguments to this function will be a collection of WsfOrbitalConjunctionReport objects containing the details of the possible conjunctions. These reports will be sorted so that the earlier conjunctions appear earlier in the Array<T>.

Commands

search_interval <time-value>

Declares the time tracked objects will be predicted into the future to search for conjunctions. This search is performed anew during each update, and this duration begins at the time of the update. The means that a conjunction can be predicted during more than one update if this interval is long enough.

filter_cut_distance <length-value>

Declares the distance used in the fast filter.

Default: 10 km.

search_step_size <angle-value>

Declares the step size used in prediction. As this angle is made larger, the amount of computation needed by the processor is decreased, at the cost of some additional error.

Default: 3 deg.

exclusion_factor <real-value>

Declares the size of the exclusion zone as the combined covariance ellipsoid scaled by this factor.

Default: 8.0.

default_variance <length-value>

Declares a default position variance for cases where the track does not have state covariance data. In those cases, the covariance ellipsoid is taken to be a sphere with this radius.

Default: 10.0 m.

default_object_size <length-value>

Declares an object size used in the computation of the conjunction probability. The probability estimate is sensitive to the size of the object, so reasonable values should be used.

Default: 1.0 m.

prediction_model <string>

Declares the prediction model used by the processor, which can be one of the following:

default

Use the propagator as in the WSF_SPACE_MOVER. This is the most appropriate choice when tracking platforms with a WSF_SPACE_MOVER. This is the default value.

norad

Use the propagator as in the WSF_NORAD_SPACE_MOVER. This is the most appropriate choice when tracking platforms with a WSF_NORAD_SPACE_MOVER.

Note that this processor works on tracks, and so the predictions produced will be slightly less accurate than if the processor used truth information.

primary <string> … end_primary

Declare a list of objects by name to be considered as primary objects.

debug

Turn on additional output concerning the operation of this processor.

Script Interface

All of the methods defined in WsfProcessor are available to scripts defined within this processor.

on_conjunction_predicted
script void on_conjunction_predicted(Array<WsfOrbitalConjunctionReport> aReports) ... end_script

This is an optional script that can be defined that allows one to react to the discovery of a possible conjunction. If defined, this script is only called if conjunctions are discovered, so the input Array will always have at least one entry.