Target Scenarios

Target scenarios distribute ground targets with some distribution.

Currently, targets are all known to the satellites a priori and are available based on the imaging requirements given by the dynamics and flight software models.

class Target(name: str, r_LP_P: Iterable[float], priority: float)[source]

Bases: object

Ground target with associated priority and location.

Parameters:
  • name (str) – Identifier; does not need to be unique

  • r_LP_P (Iterable[float]) – Planet-fixed, planet relative location [m]

  • priority (float) – Value metric.

property id: str

Get unique, human-readable identifier.

class UniformTargets(n_targets: int | tuple[int, int], priority_distribution: ~typing.Callable | None = None, radius: float = <MagicMock name='mock.orbitalMotion.REQ_EARTH.__mul__()' id='140715570589568'>)[source]

Bases: Scenario

An environment with evenly-distributed static targets.

Can be used with UniqueImageReward.

Parameters:
  • n_targets (int | tuple[int, int]) – Number of targets to generate. Can also be specified as a range (low, high) where the number of targets generated is uniformly selected low n_targets high.

  • priority_distribution (Callable | None) – Function for generating target priority. Defaults to lambda: uniform(0, 1) if not specified.

  • radius (float) – [m] Radius to place targets from body center. Defaults to Earth’s equatorial radius.

reset_overwrite_previous() None[source]

Overwrite target list from previous episode.

Return type:

None

reset_pre_sim_init() None[source]

Regenerate target set for new episode.

Return type:

None

regenerate_targets() None[source]

Regenerate targets uniformly.

Override this method (as demonstrated in CityTargets) to generate other distributions.

Return type:

None

class CityTargets(n_targets: int | tuple[int, int], n_select_from: int | None = None, location_offset: float = 0, priority_distribution: ~typing.Callable | None = None, radius: float = <MagicMock name='mock.orbitalMotion.REQ_EARTH.__mul__()' id='140715570589568'>)[source]

Bases: UniformTargets

Construct environment with static targets around population centers.

Uses the simplemaps Word Cities Database for population center locations. This data is installed by finish_install.

Parameters:
  • n_targets (int | tuple[int, int]) – Number of targets to generate, as a fixed number or a range.

  • n_select_from (int | None) – Generate targets from the top n_select_from most populous cities. Will use all cities in the database if not specified.

  • location_offset (float) – [m] Offset targets randomly from the city center by up to this amount.

  • priority_distribution (Callable | None) – Function for generating target priority.

  • radius (float) – Radius to place targets from body center.