How Do I Create Pointing (Targeted / Scanning / Sweeping / Creeping-line) Sensors in STK?

« Go Back

Information

 
QuestionHow do I create a scanning / sweeping / creeping-line sensor in STK?
Answer
STK provides several methods for defining sensors and sensor pointing. This article shows some of the most common methods, as described below and demonstrated in the attached scenario.

1.  Sensors that don't move (a.k.a., push broom sensors) are very easy to model. For example, if you want to model a fixed, side-looking sensor, you can set the following sensor properties:
• Basic > Definition > Sensor:
          Type = Rectangular (Vertical Half Angle = 5 degrees, Horizontal Half Angle = 15 degrees)
• Basic > Pointing:
          Pointing Type = Fixed (Orientation Method = YPR Angles, Yaw = 0 degrees, Pitch = 0 degrees, Roll = 30 degrees, Sequence = YPR)
User-added image
2.  Sensors that track specific targets are also easy to model. For example, if you want to model a payload that has a gimbal that tracks a target, you can set the following sensor properties:
• Basic > Pointing:
         Pointing Type = Targeted (Double-click any of the Available Objects to add them to Assigned Targets)
User-added image

3.  Sensors that scan back and forth are also relatively easy to model. Copy your fixed sensor and then change the pointing properties:
• Basic > Pointing:
• Pointing Type = Spinning
• Scan Mode = Bidirectional
• Start Angle = 200 degrees
• Stop Angle = 230 degrees
• Spin Rate = 0.5 rev/minute
• Initial Offset Angle = 0 degrees
• Spin Axis Azimuth = 0 degrees
• Spin Axis Elevation = 0 degrees
• Spin Axis Cone Angle = 90 degrees
Note: The spin axis can be confusing, so make sure to refer to the Scan Mode section of the Sensor Pointing Definitions Help topic, which has a great diagram.
 
User-added image

4.  If you want to create more complex "sweeping" patterns (a.k.a., creeping line sensors), you can use the "External" pointing type, which enables you to load a custom ASCII data file. For further details, see the Sensor Pointing File Format help.  

The challenge with this pointing type is that you need to generate the pointing data. Fortunately, there is an example HTML / Javascript tool in the attached scenario that will generate this pointing data based on a variety of parameters you can specify:
User-added image

In order to use this tool, you need to define the sweeping pattern relative to the body X axis of the parent object. In this example, the parent object is a satellite, so the X axis is in the velocity (or "ram") direction. To get the sweeping pattern to be relative to the sensor, you have to first create a duplicate satellite and change the attitude of the satellite to point in the direction of the original sensor. Here are the steps used in the example:
1. Right-click Satellite1 and select Copy. Then right-click again and select Paste.
2. Rename the new satellite "PointSensor".
3. Delete all of the sensors that were also copied.
4. In the "PointSensor" Properties - Attitude page, change the "Type" to Fixed in Axes and set the following properties:
• Type = YPR Angles
• Reference Axes = "Satellite1 Body"
• Yaw = -30 degrees (this is the offset from nadir)
• Pitch = -90 degrees (this is the offset to align the body X of the Satellite to the body Z of the Sensor)
• Roll = 0 degrees
• Sequence = YPR
Now that you have the "PointSensor" satellite object that has the body X pointed in the same direction as the body Z vector of the original fixed sensor, you can create the new sensors.  Start by creating the same fixed sensor using the following properties:
• Basic > Definition:
      Sensor Type = Rectangular (Vertical Half Angle = 5 degrees, Horizontal Half Angle = 15 degrees)
• Basic > Pointing: 
      Pointing Type = Fixed (Orientation Method = Az-El , Azimuth = 0 degrees, Elevation = 0 degrees)
Now that you've verified that our new fixed sensor along the body X is the same as the original fixed sensor, create the sweeping sensor using the sensor scanning utility. Hit F5 to refresh the sensor scanning utility and reload the parent objects; then set the following properties:
• Parent or Sensor Object = Satellite/PointSensor
• Horizontal Scan = 5 degrees
• Vertical Scan = 5 degrees
• Pass Spacing = 2 degrees
• Scan Duration (on time) = 10 seconds
• Reset Duration (off time) = 0 seconds
Click "Create" to finalize the creation of the sweeping sensor.
Note: This utility automatically resets your animation time. Right-click your timeline and select “Set Animation Time Here”; then pause the animation.

This utility automatically sets a range constraint for viewing the sensor, but you want to remove those constraints for both sensors.
• Open FOV properties and select the Constraints - Basic panel to disable the Range Max constraint.
• Repeat the step above for the "FwdScan" sensor.
 
 User-added image

Begin animating to see the "FwdScan" sensor sweep.
 
 
TitleHow Do I Create Pointing (Targeted / Scanning / Sweeping / Creeping-line) Sensors in STK?
URL NameHow-do-I-create-a-scanning-sweeping-sensor

Related Files

ScanningSensor_Sat.vdf