All content

This is the list of all content in paseos.

class paseos.ActorBuilder

Bases: object

This class is used to construct actors.

add_comm_device(device_name: str, bandwidth_in_kbps: float)

Creates a communication device.

Parameters
  • device_name (str) – device_name of the communication device.

  • bandwidth_in_kbps (float) – device bandwidth in kbps.

get_actor_scaffold(actor_type: object, position, epoch: epoch)

Initiates an actor with minimal properties.

Parameters
  • name (str) – Name of the actor.

  • actor_type (object) – Type of the actor (e.g. SpacecraftActor)

  • position (list of floats) – Starting position of the actor [x,y,z]

  • epoch (pykep.epoch) – Epoch at this position

Returns

Created actor

set_orbit(position, velocity, epoch: ~pykep.core.core.epoch, central_body: <module 'pykep.planet' from '/home/docs/checkouts/readthedocs.org/user_builds/paseos/conda/readthedocs-support/lib/python3.11/site-packages/pykep/planet/__init__.py'>)

Define the orbit of the actor

Parameters
  • actor (BaseActor) – The actor to define on

  • position (list of floats) – [x,y,z].

  • velocity (list of floats) – [vx,vy,vz].

  • epoch (pk.epoch) – Time of position / velocity.

  • central_body (pk.planet) – Central body around which the actor is orbiting as a pykep planet.

set_power_devices(battery_level_in_Ws: float, max_battery_level_in_Ws: float, charging_rate_in_W: float)

Add a power device (battery + some charging mechanism (e.g. solar power)) to the actor. This will allow constraints related to power consumption.

Parameters
  • actor (SpacecraftActor) – The actor to add to.

  • battery_level_in_Ws (float) – Current battery level in Watt seconds / Joule

  • max_battery_level_in_Ws (float) – Maximum battery level in Watt seconds / Joule

  • charging_rate_in_W (float) – Charging rate of the battery in Watt

class paseos.GroundstationActor(name: str, position, epoch: epoch)

Bases: BaseActor

This class models a groundstation actor.

class paseos.PASEOS(local_actor: BaseActor)

Bases: object

This class serves as the main interface with the user. It is designed as a singleton to ensure we only have one instance running at any time.

add_known_actor(actor: BaseActor)

Adds an actor to the simulation.

Parameters

actor (BaseActor) – Actor to add

advance_time(time_to_advance: float)

Advances the simulation by a specified amount of time

Parameters

time_to_advance (float) – Time to advance in seconds.

emtpy_known_actors()

Clears the list of known actors.

get_cfg() DotMap

Returns the current cfg of the simulation

Returns

cfg

Return type

DotMap

property known_actor_names: list

Returns names of known actors.

Returns

List of names of known actors.

Return type

list

property known_actors: dict

Returns known actors.

Returns

Dictionary of the known actors.

Return type

dict of BaseActor

property local_actor: BaseActor

Returns the local actor.

Returns

Local actor

Return type

BaseActor

perform_activity(name: str, power_consumption_in_watt: float = None, duration_in_s: float = 1.0)

Perform the activity and discharge battery accordingly

Parameters
  • name (str) – Name of the activity

  • power_consumption_in_watt (float, optional) – Power consumption of the

  • None. (activity in seconds if not specified. Defaults to) –

  • duration_in_s (float, optional) – Time to perform this activity. Defaults to 1.0.

Returns

Whether the activity was performed successfully.

Return type

bool

register_activity(name: str, requires_line_of_sight_to: list = None, power_consumption_in_watt: float = None)

Registers an activity that can then be performed on the local actor.

Parameters
  • name (str) – Name of the activity

  • requires_line_of_sight_to (list) – List of strings with names of actors which need to be visible for this activity.

  • power_consumption_in_watt (float, optional) – Power consumption of performing

  • activity (the) –

remove_known_actor(actor_name: str)

Remove an actor from the list of known actors.

Parameters

actor_name (str) – name of the actor to remove.

set_central_body(planet: <module 'pykep.planet' from '/home/docs/checkouts/readthedocs.org/user_builds/paseos/conda/readthedocs-support/lib/python3.11/site-packages/pykep/planet/__init__.py'>)

Sets the central body of the simulation for the orbit simulation

Parameters

planet (pk.planet) – The central body as a pykep planet

class paseos.SpacecraftActor(name: str, position, epoch: epoch)

Bases: BaseActor

This class models a spacecraft actor which in addition to pos, velocity also has additional constraints such as power/battery.

property battery_level_in_Ws

Get the current battery level.

Returns

current battery level in wattseconds.

Return type

float

property battery_level_ratio

Get the current battery level as ratio of maximum.

Returns

current battery level ratio in [0,1].

Return type

float

charge(t0: epoch, t1: epoch)

Charges the actor during that period. Note that it is only verified the actor is neither at start nor end of the period in eclipse, thus short periods are preferable.

Parameters
  • t0 (pk.epoch) – Start of the charging interval

  • t1 (pk.epoch) – End of the charging interval

property charging_rate_in_W

Get the current charging rate.

Returns

current charging rate in W.

Return type

float

discharge(consumption_rate_in_W: float, duration_in_s: float)

Discharge battery depending on power consumption.

Parameters
  • consumption_rate_in_W (float) – Consumption rate of the activity in Watt

  • duration_in_s (float) – How long the activity is performed in seconds