See Sensor Obstructions Over Time with MATLAB Automation

In STK, sensors are frequently used to constrain the field-of-view of an object and to perform various calculations using the sensor’s field-of-view. Occasionally a sensor’s field-of-view will be obscured by some other object, this could be anything: a satellite, a building, the spacecraft’s own solar panels, an aircraft wing, etc. STK has the ability to implement a sensor body mask that accounts for obscurations in the sensor’s field-of-view through the sensor AzElMask tool. However the sensor body mask file only accounts for obscurations at a moment in time. But what if the geometry of the obscuration changes over time? That is where automation using STK Integration comes in.

To simulate a “dynamic body mask” an automation approach was taken. Using MATLAB, a script was created that attaches to an open STK scenario, then generates multiple sensor body mask files and interval lists which can be used in Analysis Workbench. The script is set up so that all you have to do is specify a few things. You must select a folder path to store the body mask files, the sensors of interest, the obscuration objects and the objects for access calculation. Then you select the time span over which to generate the body mask files and the frequency (given as a time step) to update the body mask file. After configuring the script to your specific needs all you have to do is click Run!

Here’s how it works:

  1. the script attaches to the open instance of STK.
  2. It creates handles for the specified objects in the scenario.
  3. For each sensor a body mask file is generated using the selected obscuring object at a specified frequency.
  4. Access is computed using the body mask files from the sensor to each of the objects over interest
  5. An interval list is created for sensor-object pair.

The end results are interval lists containing times of access accounting for dynamic obscurations for as many sensors to as many objects as you would like!

Attached is a scenario where access needs to be computed between two sensors and three “potential” landing sites for the Mars 2020 rover mission, but there is a solar panel in the way. The picture below is an access report from the first sensor to the first potential landing site. There is one continuous access over ten (10) minutes.


However using the access interval list generated from the MATLAB script, which accounts for the moving solar panel shows a two (2) minute gap in the access time as seen below.

The picture at the top of the blog shows the sensor regaining line of site access to the first landing site as the edge of the solar panel passes by at 320 EpSec. For a more detailed description on how to use the scripts, please see the following FAQ.



Automate Systems Tool Kit (STK) and integrate it with other applications to extend its capabilities.

Analysis Workbench

Create custom functions and calculations relative to times, positions, and reference frames.