Why Did STK Miss an Access?

« Go Back

Information

 
QuestionWhy did STK miss an access?
Answer
Background: 
STK uses an adaptive sampling algorithm when computing access. On the Access panel, next to the Graphics section, click the “Advanced…” button and you will see settings that STK uses to calibrate the adaptive sampling. STK will step through time at the “Max” step size. At each timestep, it asks, “Do I have access?” and also, “Has much changed (relative geometry) since I last evaluated access?” If the answer to both questions is no, then STK will move on to the next timestep and repeat the process. If the answer to either question is yes, then STK will stop, subdivide the interval a few times, and continue.

Most access events are easy to detect using adaptive sampling defaults. However, STK can miss them due to the following factors:
• Fast-moving objects
• Narrow and small sensor fields of view
• Area targets
• Any combination of the above factors

Solution A:  You can adjust the Access or Chain Access Advanced Options default Step Size Controls shown below to catch small or difficult-to-detect events. If STK is missing the access because it is not sampling often enough to detect the access, you can force it to sample more often by clicking the “Advanced…” button on the Access Tool (or Chain) > Basic > Advanced page; under Options > Step Size Control, you can lower the adaptive “Max” value.

Potential issues:
• Sampling takes longer, which can be a problem for long scenarios.
• STK applies the settings to all of the access calculations in the scenario or Chain, but some don’t need finer sampling.
• STK does not save access options with the scenario; you must set them each time that you open the scenario. This doesn’t apply to Chain.
Tips:
• Use this solution with short scenarios.
• Use this solution with scenarios with a small number of access calculations.
• Incrementally lower the Max value of 360 seconds and, with each change, refresh your Access to see if STK finds a missed event. In this way, you sample only as much as needed.
• Add points to simple area targets with large spans between the perimeter points.
 
Solution B:  Set MaxStepSize for adaptive sampling at the object level to catch small or difficult-to-detect events. To overcome the issues listed in Solution A, set MaxStepSize for the specific object that is missing an access. You can do this two different ways:
 
1)  Using the API:
  1. In the Object Model:  get/set MaxTimeStep() and MaxRelMotion()
Apply MaxStepSize (and MaxRelMotion) to individual constraints. See the MaxStepSize Property help.
 
      b. Via Connect:
Connect: SetConstraintOptions <objPath> Action [IncludeIntervals|ExcludeIntervals] MaxStepStep <timeInConnectUnits> MaxRelMotion <degrees>
 
           See the SetConstraintOptions help. 

      c. Access Constraint Plugin:  Register() enables you to set the maxtimestep and maxrelmotion.

2)  Object file edit:

Using the API will update the respective object file; an unsupported alternative is to edit the object file while STK is closed. In the example below, a narrow sensor was missing an access to an area target with sufficient detail in its perimeter. The highlighted text was added to the SN file. Upon reopening the scenario and recomputing access, STK found the previously missing access.
 
    BEGIN AccessConstraints
                                AtFieldOfView   IncludeIntervals   MaxTimeStep 0.100000
                                FieldOfView   IncludeIntervals
                                LineOfSight   IncludeIntervals
    END AccessConstraints
 
Tips: 
• The Active Constraints data provider can now report whether or not maxtimestep, maxrelmotion, or both, are set.
• STK evaluates constraints from least to most difficult to compute. You can further improve performance by setting an easy-to-compute constraint that will eliminate expensive samples.
TitleWhy Did STK Miss an Access?
URL NameWhy-did-STK-miss-an-access

Related Files