Ground Imaging

FSW models for ground imaging scenarios.

class ImagingFSWModel(*args, **kwargs)[source]

Bases: BasicFSWModel

Adds instrument pointing and triggering control to FSW.

property c_hat_P

Instrument pointing direction in the planet frame.

property c_hat_H

Instrument pointing direction in the hill frame.

class LocPointTask(fsw, priority=96)[source]

Bases: Task

Task to point the instrument at ground targets.

Parameters:

fsw (FSWModel)

name: str = 'locPointTask'
setup_location_pointing(inst_pHat_B: Iterable[float], **kwargs) None[source]

Set the Earth location pointing guidance module.

Parameters:
  • inst_pHat_B (Iterable[float]) – Instrument pointing direction.

  • kwargs – Passed to other setup functions.

Return type:

None

setup_instrument_controller(imageAttErrorRequirement: float, imageRateErrorRequirement: float, **kwargs) None[source]

Set the instrument controller parameters.

The instrument controller is used to take an image when certain relative attitude requirements are met, along with the access requirements of the target (i.e. imageTargetMinimumElevation and imageTargetMaximumRange as set in setup_imaging_target).

Parameters:
  • imageAttErrorRequirement (float) – [MRP norm] Pointing attitude error tolerance for imaging.

  • imageRateErrorRequirement (float) – [rad/s] Rate tolerance for imaging. Disable with None.

  • kwargs – Passed to other setup functions.

Return type:

None

show_sensor(vizInterface=None, vizSupport=None)[source]

Visualize the sensor in Vizard.

reset_for_action() None[source]

Reset pointing controller.

Return type:

None

action_image(r_LP_P: Iterable[float], data_name: str) None[source]

Decorated with action

Attempt to image a target at a location.

This action sets the target attitude to one tracking a ground location. If the target is within the imaging constraints, an image will be taken and stored in the data buffer. The instrument power sink will be active as long as the task is enabled.

Args:

r_LP_P: [m] Planet-fixed planet relative target location. data_name: Data buffer to store image data to.

Parameters:
  • r_LP_P (Iterable[float])

  • data_name (str)

Return type:

None

Decorated with action

Attempt to downlink data.

This action points the satellite nadir and attempts to downlink data. If the satellite is in range of a ground station, data will be downlinked at the specified baud rate. The transmitter power sink will be active as long as the task is enabled.

Return type:

None

class ContinuousImagingFSWModel(*args, **kwargs)[source]

Bases: ImagingFSWModel

FSW model for continuous nadir scanning.

Instead of imaging point targets, this model is used to continuously scan the ground while pointing nadir.

class LocPointTask(*args, **kwargs)[source]

Bases: LocPointTask

Task to point nadir and trigger the instrument.

setup_instrument_controller(imageAttErrorRequirement: float, imageRateErrorRequirement: float, **kwargs) None[source]

Set the instrument controller parameters for scanning.

As long as these two conditions are met, scanning will occur continuously.

Parameters:
  • imageAttErrorRequirement (float) – [MRP norm] Pointing attitude error tolerance for imaging.

  • imageRateErrorRequirement (float) – [rad/s] Rate tolerance for imaging. Disable with None.

  • kwargs – Passed to other setup functions.

Return type:

None

reset_for_action() None[source]

Reset scanning controller.

Return type:

None

action_nadir_scan() None[source]

Decorated with action

Scan nadir.

This action points the instrument nadir and continuously adds data to the buffer as long as attitude requirements are met. The instrument power sink is active as long as the action is set.

Return type:

None

action_image(*args, **kwargs) None[source]

Decorated with action

Disable action_image from parent class.

meta private:

Return type:

None

class SteeringImagerFSWModel(*args, **kwargs)[source]

Bases: SteeringFSWModel, ImagingFSWModel

Convenience type that combines the imaging FSW model with MRP steering.