MDS API Reference¶
A python API for interactions between a client and the MDS.
- class mds_api.mds_api.AccelerationType(value)¶
Bases:
Enum- Aerodynamic = 3¶
- PointMassGravity = 0¶
- RadiationPressure = 2¶
- RelativisticCorrection = 4¶
- SphericalHarmonicGravity = 1¶
- class mds_api.mds_api.IAUConventions(value)¶
Bases:
Enum- iau_2000_a = 0¶
- iau_2000_b = 1¶
- iau_2006 = 2¶
- class mds_api.mds_api.Integrators(value)¶
Bases:
Enum- Euler = 0¶
- RK4 = 1¶
- RK87_DormandPrince = 15¶
- RKF12 = 11¶
- RKF45 = 12¶
- RKF56 = 13¶
- RKF78 = 14¶
- RKF89 = 16¶
- rungeKuttaFeagin108 = 18¶
- rungeKuttaFeagin1210 = 19¶
- rungeKuttaFeagin1412 = 20¶
- rungeKuttaVerner89 = 17¶
- class mds_api.mds_api.PredefinedPropagationSettings(value)¶
Bases:
Enum- GEO = 4¶
- HJO = 15¶
- HLO = 7¶
- HMO = 9¶
- HMeO = 11¶
- HSO = 17¶
- HVO = 13¶
- HighLEO = 2¶
- InnerSolar = 18¶
- LJO = 14¶
- LLO = 5¶
- LMO = 8¶
- LMeO = 10¶
- LSO = 16¶
- LVO = 12¶
- LowLEO = 1¶
- MEO = 3¶
- MLO = 6¶
- VLEO = 0¶
- class mds_api.mds_api.PropagatorTypes(value)¶
Bases:
Enum- cowell = 0¶
- encke = 1¶
- gauss_keplerian = 2¶
- gauss_modified_equinoctial = 3¶
- unified_state_model_exponential_map = 6¶
- unified_state_model_modified_rodrigues_parameters = 5¶
- unified_state_model_quaternions = 4¶
- class mds_api.mds_api.SphericalHarmonicGravityFieldModels(value)¶
Bases:
Enum- egm96 = 1¶
- gggrx1200 = 7¶
- ggm02c = 2¶
- ggm02s = 3¶
- glgm3150 = 5¶
- goco05c = 4¶
- jgmess160a = 9¶
- jgmro120d = 8¶
- lpe200 = 6¶
- shgj180u = 10¶
- mds_api.mds_api.add_acceleration(satName: str, bodyName: str, acceleration_type: AccelerationType, spherical_harmonic_degree: int = -1, spherical_harmonic_order: int = -1)¶
- mds_api.mds_api.add_battery(sat_name: str, charger_efficiency: float, capacity: float, charge_fraction: float) bytes¶
Add a battery to a spacecraft.
- Parameters:
sat_name (str) – name of the spacecraft, for which to add the battery.
charger_efficiency (float) – efficiency of the battery charging process [-].
capacity (float) – maximum capacity of the battery [Wh].
charge_fraction (float) – current charge level as a fraction of the maximum capacity [-].
- mds_api.mds_api.add_ground_asset(asset_name: str, centralBody: str, longitudeDeg: float, latitudeDeg: float, altitudeMeters: float, canFly: bool = True, maxSpeed: float = 250.0, maxAscentRate: float = 12.0, loopWaypoints: bool = True, waypoints=None, currentWaypointIndex: int = None, tx_frequency: float = 2047000000.0, rx_frequency: float = 8250000000.0, radius: float = 10, r: int = 255, g: int = 255, b: int = 255, assetType: int = 1, print_debug: bool = False) bytes¶
Add ground asset
- Parameters:
asset_name – name of your ground asset (string)
longitudeDeg – longitude, in dgrees (float)
latitudeDeg – latitude, in degrees (float)
altitudeMeters – altitude in meters, above sea level (float)
canFly – is the asset allowed to lift off above 0m altitude? (bool, default=True)
maxSpeed – maximum speed in m/s (float, default=250)
maxAscentRate – maximum speed in m/s, at which the asset can ascend/descend (float, default=12)
loopWaypoints – Whether to loop waypoints. If True, then upon reachng the last waypoint will redirect to the first one. Otherwise will stop at the last waypoint. (bool, default=True)
waypoints – list of waypoints or None. If you provide a list, waypoints will be updated. If you provide None, waypoints are not modified. Create each item in the list using the function create_ground_asset_waypoint. (list or None, default=None)
currentWaypointIndex – index of waypoint that the ground asset is currently heading to. Place the index of waypoint, -1 to make the asset stop or None to not modify current value. (int or None, default=None)
tx_frequency – Tranzsmission frequency in Hz (default = 2047 MHz)
rx_frequency – reception frequency, in Hz (default = 8520 MHz)
r – Color of the spherical marker, as byte from 0 to 255. (default = 255,255,255)
g – Color of the spherical marker, as byte from 0 to 255. (default = 255,255,255)
b – Color of the spherical marker, as byte from 0 to 255. (default = 255,255,255)
assetType – ground asset type. Only affects the icon displayed, does not affect behaviour. Please see mds_api.ground_asset_types for possible values. (default = 1 (Station))
- mds_api.mds_api.add_group_filter_property_and_value_to_satellite_group(sat_name: str, property_name: str, value: str)¶
Function adds property and value to the selected satellite
Args: sat_name (str): name of the satellite property_name (str): name of the property to be added(any string) value (str): value of the property to be added. Multiple values can be added using multiple function calls (any string)
- mds_api.mds_api.add_polygons_from_csv(csv_path: str, r: float, g: float, b: float, a: float)¶
Add polygons from a CSV file.
- Parameters:
csv_path (str) – path to a csv file (on client computer).
r (float) – red component of the polygon color.
g (float) – green component of the polygon color.
b (float) – blue component of the polygon color.
a (float) – alpha component of the polygon color.
- mds_api.mds_api.add_property_and_value_to_satellite_group(group_name: str, property_name: str, value: str)¶
Function adds property and value to satellite group
Args: group_name (str): name of the existing group property_name (str): name of the property to be added (any string) value (str): value of the property to be added. Multiple values can be added with multiple function calls (any string)
- mds_api.mds_api.add_radio(sat_name: str, orientation: list[float], antenna_input_power: float, tx_frequency: float, rx_frequency: float, comms_law: str = 'Nearest', antenna_pattern_path: str = '', friendlyStations: list[str] = [], friendlySpacecraft: list[str] = [], radioMeshSize: float = 1.0) bytes¶
Add a radio subsystem to a spacecraft.
- Parameters:
sat_name (str) – name of the spacecraft, for which to add the radio.
orientation (list[float]) – orientation quaternion w.r.t. the spacecraft.
antenna_input_power (float) – the power fed into the antenna input [W].
tx_frequency (float) – transmission frequency [Hz].
rx_frequency (float) – receive frequency [Hz].
antenna_pattern_path (str, optional) – path to an antenna radiation pattern csv file. path can be absolute, or if it is not absolute, it will be interpreted as relative to /MDS_Solaris_Data/StreamingAssets/.
friendlyStations (list[str], optional) – list of friendly station names. is only relevant if comms_law is “Friendly”.
friendlySpacecraft (list[str], optional) – list of friendly spacecraft names. is only relevant if comms_law is “Friendly”.
radioMeshSize (float, optional) – size of the antenna pattern mesh size visualized for the satellite. Default value 1.0 sets the mesh size relative to sat body size
- mds_api.mds_api.add_sat(sat_name: str, mass: float, local_pos: list[float], local_vel: list[float], central_body: str, referenceArea: float = 1.0, coefficientDrag: float = 2.2, coefficientSRP: float = 1.2, attitude: list[float] = [0, 0, 0, 1], angularVelocity: list[float] = [0, 0, 0], max_ang_rate: float = 2, max_ang_acc: float = 0.1, rigidbody: bool = False, trajectory_display=1, orbit_color=[255, 0, 0], disable_3d_model=False, custom_model_path: str = None, model_rotation_offset: list[float] = [0, 0, 0, 1], print_debug: bool = False, bodyAxisSize: float = 1.0) bytes¶
Instantiate a satellite, orbiting around a specified celestial body.
- Parameters:
sat_name (str) – name of the new spacecraft to be instantiated.
mass (float) – mass of the spacecraft [kg]
local_pos (list[float]) – local position of the spacecraft, relative to the central body, in body centered inertial frame (ICRF aligned) [m].
local_vel (list[float]) – velocity relative to central body, in body centered inertial frame (ICRF aligned) [m/s].
central_body (str) – name of the celestial body, around which the spacecraft will be rotating.
attitude (list[float], optional) – attitude quaternion of the spacecraft, relative to ICRF.
angularVelocity (list[float], optional) – angular velocity [rad/s] of the spacecraft, relative to ICRF.
max_ang_rate (float, optional) – maximum angular rate for the spacecraft pointing maneuvers in degrees per second. defaults to 2 [rad/s].
max_ang_acc (float, optional) – maximum angular acceleration for the spacecraft pointing maneuvers in degrees per second per second. defaults to 0.1 [rad/s/s].
rigidbody (bool, optional) – flag to enable or disable rigidbody 6DOF simulation for this spacecraft. defaults to False.
custom_model_path (str, optional) – path to a custom .glb or .gltf 3D model. path can be absolute, or if it is not absolute, it will be interpreted as relative to /MDS_Solaris_Data/StreamingAssets/.
model_rotation_offset (list[float], optional) – orientation quaternion of the 3D model relative to the spacecraft.
print_debug (bool, optional) – flag to turn debug message printing on/off
bodyAxisSize (float, optional) – size of the body axis visualized for the satellite. Default value 1.0 sets the axis size relative to sat body size
disable_3d_model (bool, optional) – if True, the 3D model functionalities of the satellite will be disabled. Defaults to False.
- mds_api.mds_api.add_sat_from_elements(sat_name: str, mass: float, a: float, e: float, i: float, Omega: float, omega: float, nu: float, central_body: str, referenceArea: float = 1.0, coefficientDrag: float = 2.2, coefficientSRP: float = 1.2, attitude: list[float] = [0, 0, 0, 1], angular_velocity: list[float] = [0, 0, 0], max_ang_rate: float = 2, max_ang_acc: float = 0.1, rigidbody: bool = False, model_rotation_offset: list[float] = [0, 0, 0, 1], ltan: float = None, disable_3d_model=False, trajectory_display=1, orbit_color=[255, 0, 0], custom_model_path: str = None, bodyAxisSize: float = 1.0) bytes¶
Instantiate a satellite with a custom 3d model, orbiting around a specified celestial body.
- Parameters:
sat_name (str) – name of the new spacecraft to be instantiated
mass (float) – mass of the spacecraft [kg]
a (float) – semi-major axis [m]
e (float) – eccentricity [-]
i (float) – inclination [deg]
Omega (float) – right ascension of the ascending node [deg]
omega (float) – argument of periapsis [deg]
nu (float) – true anomaly [deg]
central_body (str) – name of central body
attitude (list[float], optional) – attitude quaternion of the spacecraft, relative to ICRF.
max_ang_rate (float, optional) – maximum angular rate for the spacecraft pointing maneuvers in degrees per second. defaults to 2 [rad/s].
max_ang_acc (float, optional) – maximum angular acceleration for the spacecraft pointing maneuvers in degrees per second per second. defaults to 0.01 [rad/s/s].
rigidbody (bool, optional) – flag to enable or disable rigidbody 6DOF simulation for this spacecraft. defaults to False.
custom_model_path (str, optional) – path to a custom .glb or .gltf 3D model. path can be absolute, or if it is not absolute, it will be interpreted as relative to /MDS_Solaris_Data/StreamingAssets/.
bodyAxisSize (float, optional) – size of the body axis visualized for the satellite. Default value 1.0 sets the axis size relative to sat body size
orbit_color (list[int], optional) – RGB color for the satellite’s orbit trajectory display. Defaults to [255,0,0] (red).
trajectory_display (int, optional) – flag to set trajectory display mode for this satellite. 1 - None, 1 - Kepler 2 - Traced Path
model_rotation_offset (list[float], optional) – orientation quaternion of the 3D model relative to the spacecraft.
disable_3d_model (bool, optional) – if True, the 3D model functionalities of the satellite will be disabled. Defaults to False.
- mds_api.mds_api.add_sensor(sensor_name: str, sat_name: str, sensor_type: str, orientation: list[float], fov: list[float], pixel_dims: list[float], range: float, line_color_r: int = 0, line_color_g: int = 0, line_color_b: int = 255, line_color_a: int = 255, cone_color_r: int = 0, cone_color_g: int = 0, cone_color_b: int = 255, cone_color_a: int = 60, replace: bool = False) bytes¶
Add a sensor to the spacecraft.
- Parameters:
sat_name (str) – name of the spacecraft, for which to add the sensor.
sensor_type (str) – type of the sensor. currently only ‘Optical’.
orientation (list[float]) – orientation quaternion w.r.t. the spacecraft body axes.
fov (list[float]) – field of view angles [deg].
pixel_dims (list[int]) – horizontal and vertical pixel dimensions.
range (float) – range of the sensor [m].
- mds_api.mds_api.add_solar_panel(sat_name: str, position: list[float], rotation: list[float], area: float, max_power: float, efficiency: float, display_axis: bool = True) bytes¶
Add a solar panel to the spacecraft.
- Parameters:
sat_name (str) – name of the spacecraft to which the panel shall be added.
position (list) – local position vector of the solar panel’s center, w.r.t. spacecraft body frame origin [m].
rotation (list) – local rotation quaternion of the solar panel w.r.t. spacecraft body z-axis.
max_power (float) – maximum power that can be generated by this solar panel [W].
area (float) – area of the solar panel [m^2].
efficiency (float) – efficiency of the solar cells [-].
display_axis (bool, optional) – flag to turn the visual aid axis on/off. default True.
- mds_api.mds_api.add_solar_sat(sat_name: str, mass: float, position: list[float], velocity: list[float]) bytes¶
Instantiate a new spacecraft with specified mass, global position and velocity.
- Parameters:
sat_name (str) – name of the spnew spacecraft
mass (float) – mass of the new spacecraft [kg].
position (list[float]) – solar barycentric position of a spacecraft [m].
velocity (list[float]) – velocity of the spacecraft in ICRF coordinates, [m/s]
- mds_api.mds_api.add_thruster(name: str, thrust_max: float, dV_max: float, isp: float, burn_duration_limit: float, fuel_consumption_rate: float)¶
Function to specify thruster parameters for a satellite
- Parameters:
name (str) – satellite name
thrust_max (float) – maximum Thrust limit [N]
dV_max (float) – maximum delta-V capabiliy [m/s]
isp (float) – Specific impulse [s]
burn_duration_limit (float) – firing time limit [s]
fuel_consumption_rate (float) – fuel mass flow [kg/s]
- mds_api.mds_api.add_update_entity(name: str, position_ECI: list[float], radius: float, r: int, g: int, b: int, central_body: str, asset_type: int = 0, update_entity: bool = False)¶
Creates sphere in inertial coordinate system
- Parameters:
name – entity name
position_ECI – position in intertial coordinate system
radius – sphere radius
r – color red
g – color green
b – color blue
central_body – central body “Earth”, “Moon”, “Sun”, etc
asset_type – type of asset marker image 0-UNKNOWN”, 1 - STATION, 2 - SHIP, 3 - SUBMARINE, 4 - GROUNDVEHICLE, 5 - PLANE, 6 - ICONLESS, 7 - MISSILE
update_entity – True or False. if True new entity will be added, if false existing entity will be updated
- Returns:
- mds_api.mds_api.always_show_satellite_labels(show: bool, names: list[str])¶
Turn on of satellite labels for specific satellites
- Parameters:
show – True or False, if true satellite label is always visible
names – satellite list of names which will be affected
- Returns:
- mds_api.mds_api.apply_thrust(sat_name: str, thrust: list[float], inertial: bool = False) bytes¶
Apply a thrust.
- Parameters:
sat_name (str) – name of the spacecraft to which the thrust should be applied.
thrust (list) – thrust vector in ICRF, to be applied during the next simulation step [N].
inertial (bool) – if True, thrust is applied in the inertial ICRF frame.
- mds_api.mds_api.apply_thrust_torque(sat_name: str, thrust: list[float], torque: list[float], inertial: bool = False) bytes¶
Apply a thrust and a torque.
- Parameters:
sat_name (str) – name of the spacecraft to which the thrust and torque should be applied.
thrust (list) – thrust vector in spacecraft body frame, to be applied during the next simulation step [N].
torque (list) – torque vector in spacecraft body frame, to be applied during the next simulation step [Nm].
inertial (bool) – if True, thrust and torque are applied in the inertial ICRF frame.
- mds_api.mds_api.apply_torque(sat_name: str, torque: list[float], inertial: bool = False) bytes¶
Apply a torque
- Parameters:
sat_name (str) – name of the spacecraft, for which the torque will be applied.
torque (list[float]) – torque vector in the spacecraft body frame [Nm].
inertial (bool) – if True, torque is applied in the inertial ICRF frame.
- mds_api.mds_api.attach_bodies(parent_sat_name, child_sat_name)¶
- mds_api.mds_api.attach_camera_to_sat(sat_name: str, attach: bool = True, focal_length: float = 20.78461, distance_from_satellite: float = -3.0, near_plane: float = 0.3, far_plane: float = 10000000000.0, sensor_size_x: float = 36.0, sensor_size_y: float = 24.0, lens_shift_x: float = 0.0, lens_shift_y: float = 0.0, gate_fit: str = 'Horizontal', iso: int = 200, shutter_speed: float = 100, focus_distance: float = 5.0, aperture: float = 16, lens_distortion_intensity: float = 0.0, bloom_intensity: float = 0.0, bloom_scatter: float = 0.0, color_grain_intensity: float = 0.0, color_grain_response: float = 0.0, chromatic_aberration: float = 0.0, enable_lens_flare: bool = False, texture_width: int = 1024, texture_height: int = 1024, enable_capture: bool = False, capture_interval: float = 1.0, camera_quaternion: list[float] = [0, 0, 0, 1], python_server_ip: str = None, python_server_port: int = None, enable_depth_of_field: bool = True, enable_antialiasing: bool = False)¶
Attach a camera to a spacecraft.
- Parameters:
sat_name (str) – name of the spacecraft, to which the camera will be attached.
attach (bool, optional) – True attaches the camera, False detaches it.
focal_length (float, optional) – focal length of the camera [mm].
distance_from_satellite (float, optional) – distance from the satellite [m].
near_plane (float, optional) – near clipping plane of the camera [m].
far_plane (float, optional) – far clipping plane of the camera [m].
sensor_size_x (float, optional) – sensor size in the horizontal dimension [mm].
sensor_size_y (float, optional) – sensor size in the vertical dimension [mm].
lens_shift_x (float, optional) – The lens offset of the camera in the x direction. The lens shift is relative to the sensor size. For example, a lens shift of 0.5 offsets the sensor by half its horizontal size.
lens_shift_y (float, optional) – The lens offset of the camera in the y direction.
gate_fit (str, optional) – Enum used to specify how the sensor gate (sensor frame) defined by sensor_size fits into the resolution gate (render frame). Options are: “Vertical”, “Horizontal”, “Fill”, “Overscan”, “None”.
enable_capture (bool, optional) – Flag to turn frame capture on and off. When True, frames are saved to a local directory every capture_interval. Default is False.
camera_quaternion (list[float], optional) – quaternion of the camera orientation relative to X axis
capture_interval (float, optional) – interval at which to capture frames, if enable_capture is True [s].
python_server_ip (str, optional) – IP of a python server to send the frames to. Default is None.
python_server_port (int, optional) – port of a python server to send the frames to. Default is None.
- mds_api.mds_api.attach_torch(sat_name: str, range: float, spot_angle: float, intensity: float, color: list[float], position: list[float], rotation: list[float])¶
attach a light to the body-frame of a satellite, nominally aligned with the X axis of the satellite.
- Parameters:
sat_name (str) – satellite identifier
range (float) – length of the light [m]
spot_angle (float) – [deg] width of the light cone
intensity (float) – strength of light, defaults to 1
color (list[float]) – RGB color values
position (list[float]) – position of the light in the satellite’s body frame
rotation (list[float]) – quaternion of the light in the satellite’s body frame
- Returns:
_description_
- Return type:
_type_
- mds_api.mds_api.calculate_coverage(resolution=50000, data_index=0, connection_timeout: float = 60)¶
call to take fleet-data, create an Earth-grid and perform a coverage calculation.
- Parameters:
resolution (int, optional) – total propagation time. Defaults to 50000.
data_index (int, optional) – the propagated data’s time index to be used for the
0. (instantaneous coverage calculation. Defaults to)
connection_timeout (float) – timeout for waiting for response from MDS in seconds. Defaults to 60.
view. (If a sensor is added to a satellite the coverage calculation will be performed for that sensor's field of)
chosen. (If multiple sensors are added - the sensor with the lowest FoV will be)
Returns:
- mds_api.mds_api.calculate_gs_pass(prop_time=3600, prop_time_step=60, connection_timeout: float = 60)¶
call to do an offline fleet propagation and compute ground station passes between added satellites and available ground assests If sensors are added to a satellite - the sensor with lowest FoV will be chosen for the calculations. :param prop_time: total propagation time. Defaults to 3600. :type prop_time: int, optional :param prop_time_step: propagation timestep. Defaults to 60. :type prop_time_step: int, optional :param connection_timeout: timeout for waiting for response from MDS in seconds. Defaults to 60. :type connection_timeout: float
Returns:
- mds_api.mds_api.check_constraint(sat_name: str, constraint_type: int, target_str: str = None)¶
Check constraints on satellite for monitoring
- Parameters:
sat_name (str) – sat name
constraint_type (int) – type of constraint
target_str (str) – Target name, which is necessarry for some constraint types. If constraint does not demand it, it may be left as None.
- Returns:
String, whether the constriant was violated. VIOLATED means violated NOT_VIOLATED means not violated. NOT_FOUND means constraint with specified parameters doesn’t exist.
- mds_api.mds_api.clear_objects(object_name_list: list[str])¶
Remove objects from the simulation.
- Parameters:
object_name_list (list[str]) – list of object names to be removed.
- mds_api.mds_api.clear_scene()¶
- mds_api.mds_api.clear_sensors(sat_name: str) bytes¶
Remove all sensors from a satellite.
- Parameters:
sat_name (str) – name of the satellite, from which all sensors will be removed.
- mds_api.mds_api.configure_constraint_prediction(prediction_enabled=None, look_ahead_JD=None, timestep=None, monitor_check_interval=None)¶
Configure constraint prediction and monitoring settings.
- Parameters:
prediction_enabled (bool, optional) – Enables or disables constraint violation future prediction.
look_ahead_JD (float, optional) – Prediction look-ahead window in Days.
timestep (float, optional) – Time step used for constraint prediction calculations [s].
monitor_check_interval (float, optional) – Interval at which the constraint monitor checks for violations [s].
- mds_api.mds_api.create_ground_asset_waypoint(name: str, longitudeDeg: float, latitudeDeg: float, altitudeMeters: float, speed: float = -1, ascendAndHold: bool = True) dict¶
Create a dict, representing a waypoint for a ground asset.
- Parameters:
name – name for the waypoint (str).
latitudeDeg – latitude, in degrees. Can be given as a float, or a string of format [deg]o[minutes]’[seconds]’’[N/S]. For example “55o32’29’’N”. (float or str)
longitudeDeg – longitude, in degrees. Can be given as float or a sting of format [deg]o[minutes]’[seconds]’’[N/S]. For example “23o59’17’’N”. (float or str)
altitudeMeters – altitude above sea level, in meters. (float)
speed – maximum speed at which approacinh this waypoint is allowed. If set to -1, then the ground asset’s own maximum speed is used. (float, default: -1);
ascendAndHold – manner, in which the ground asset ascends to the waypoin’t altitude. only affects ground assets that can fly. If ascendAndHold is true, then the asset ascends at maximum allowed ascent rate and continues to the waypoint at the waypoint’s altitude. If this parameter is false, then the asset ascends/descends gradually to the waypoint. (bool, default=True)
- mds_api.mds_api.create_satellite_group(group_name: str)¶
Function creates empty group
- Parameters:
group_name (str) – group name to be created
- mds_api.mds_api.create_scenario(scenario_index: int, name='')¶
Create a new scenario, which will copy the current satellites added to the simulation for background calculations. Can be used for comparing the results of the same constellation with different parameters, e.g. different maneuvers, propagators, etc. scenario_index (int, optional): index of the scenario type. 0 -> General use, 1 -> Maneuver Application, 2 -> Constraint Monitoring prediction 3-> Report Generation
Custom naming is also available.
- mds_api.mds_api.de_attach_bodies(parent_sat_name, child_sat_name)¶
- mds_api.mds_api.deattach_torch(sat_name: str)¶
- mds_api.mds_api.delete_satellite_group(group_name: str)¶
Function deletes group
- Parameters:
group_name (str) – name of the group to be deleted
- mds_api.mds_api.disable_API_synchronization()¶
- mds_api.mds_api.disable_collisions()¶
- mds_api.mds_api.disable_reentry_check()¶
Reentry limit no longer checked for satellite
- mds_api.mds_api.disable_sat_thruster_effects(name)¶
- mds_api.mds_api.enable_API_synchronization()¶
Command MDS to only progress dynamics after API commands it via step_sim() function
- mds_api.mds_api.enable_collisions(connection_timeout: float = 30)¶
- mds_api.mds_api.enable_reentry_check()¶
Reentry limit checked for satellite
- mds_api.mds_api.enable_sat_thruster_effects(name)¶
- mds_api.mds_api.evaluate_scenario(scenario_index: int)¶
Evaluate a scenario with the specified maneuvers assigned to each satellite. The maneuvers will be executed in the scenario at the same time as the main scenario, allowing for direct comparison of the results.
scenario_index (int, optional): index of the scenario type. 0 -> General use, 1 -> Maneuver Application, 2 -> Constraint Monitoring prediction 3-> Report Generation
- mds_api.mds_api.export_csv()¶
- mds_api.mds_api.generate_report(mission_report_path, output_dir=None, cdm_dir_override=None, make_pdf=True, now_utc=None, include_logo=True, logo_path=None)¶
Build an HTML (and optional PDF) report from a Mission-Report-*.json file.
- Parameters:
mission_report_path – path to a Mission-Report-*.json written by MDS. May also be a directory containing one (e.g. a ReportGenerated event’s DirectoryPath).
output_dir – directory to write the HTML/PDF into. Defaults to the folder that contains the mission-report JSON (files are written directly alongside it, no sub-folder).
cdm_dir_override – override the
StoredCDMPathfrom the mission report (useful if the JSON’s absolute path differs from your local copy).make_pdf – if True (default), also render a PDF. Tries weasyprint then falls back to the pure-Python xhtml2pdf backend. If no backend is available the HTML is still written and the failure is reported under
errors(does not raise).now_utc – UTC datetime used as the cutoff for “upcoming” CDMs. Defaults to
datetime.now(timezone.utc).include_logo – include the company logo in the document header and the repeating PDF page header/footer. Set False for an unbranded report.
logo_path – path to a custom logo image. Defaults to the bundled Black Swan Space logo when None.
- Returns:
report_name,html_path,pdf_path(or None),errors(list of per-section error strings).- Return type:
dict with keys
- Raises:
mds_api.report_generator.ReportGenerationError – invalid input JSON, missing CDM directory when needed, etc.
mds_api.report_generator.ReportExportError – HTML could not be written.
- mds_api.mds_api.get_camera_depth_frame(sat_name: str) bytes¶
Get the current depth data frame from a camera attached to satellite.
- Parameters:
sat_name (str) – name of the spacecraft with the camera of interest
- mds_api.mds_api.get_camera_frame(sat_name: str, delay: bool = False) bytes¶
Get the current frame from a camera attached to satellite.
- Parameters:
sat_name (str) – name of the spacecraft with the camera of interest
delay (bool) – Deprecated workaround in MDS1.3.0 to make sure camera image matches camera UI. Fixed since MDS 1.4.1
- mds_api.mds_api.get_celestial_body_data(*names: str) tuple[float, dict]¶
Get data about specified celestial bodies.
- Parameters:
names (str) – names of the celestial bodies.
- mds_api.mds_api.get_config() str¶
Retrieve the full current simulation config from MDS.
- mds_api.mds_api.get_config_part(part_name: str) tuple[float, str]¶
Retrieve a specified part of the simulation config from MDS.
- Parameters:
part_name (str) – the name of the CelestialBody, PropagatedBody or GroundStation to get the config of.
- mds_api.mds_api.get_ground_asset_data(*names: str) tuple[float, dict]¶
Get data about a specified ground station(s).
- Parameters:
names (str) – names of the ground stations.
- mds_api.mds_api.get_group_satellites(group_name: str)¶
- mds_api.mds_api.get_julian_date()¶
Get the current Julian date TDB of the simulation.
- mds_api.mds_api.get_maneuver_plans()¶
Return current maneuver plans as a dict. Top-level keys: ‘calculating’, ‘plans’.
- mds_api.mds_api.get_sat_data(*names: str) tuple[float, dict]¶
Get data about a specified satellite/spacecraft.
- Parameters:
names (str) – names of the spacecraft
- mds_api.mds_api.get_sat_elements(*names: str) tuple[float, list[float]]¶
Get osculating Kepler elements of a specified satellite/spacecraft.
- Parameters:
names (str) – names of the spacecraft
- mds_api.mds_api.get_sat_names() list[str]¶
- mds_api.mds_api.get_sat_pos_vel(*names: str) tuple[float, list[float], list[float]]¶
Get local position and velocity of a specified satellite/spacecraft.
- Parameters:
names (str) – names of the spacecraft
- mds_api.mds_api.get_spacecraft_constraints(*names: str) tuple[float, dict]¶
Get spacecraft constraints in form of a json
- Parameters:
names (str) – names of the spacecrafts.
- mds_api.mds_api.get_time_scale()¶
Get the timescale of simulation.
- mds_api.mds_api.get_utc_date()¶
Get the current UTC TDB date of the simulation.
- mds_api.mds_api.listen_for_report_generated(timeout: float = 600.0) str¶
Block until MDS fires a
ReportGeneratedevent, then return the Mission-Report JSON file path it announced.Raises
mds_api.report_generator.ReportGenerationErrorif the event server cannot be reached or the timeout elapses.
- mds_api.mds_api.load_config(cfg_path: str) bytes¶
Order MDS to load a new configuration. Loads configurationn from a specified file and sends to MDS.
- Parameters:
cfg_path (str) – path to config file (on client machine)
- mds_api.mds_api.load_config_from_json_str(json_str: str) bytes¶
Order MDS to load a new configuration. Loads configurationn from a specified file and sends to MDS.
- Parameters:
cfg_path (str) – path to config file (on client machine)
- mds_api.mds_api.load_constraint_template(sat_names, template_json)¶
- mds_api.mds_api.load_custom_model_for_satellite(sat_name: str, custom_model_path: str)¶
change satellite model in simulation after adding the body
- Parameters:
sat_name (str) – satellite identifier
custom_model_path (str) – model path, see add_sat() function for examples
- mds_api.mds_api.load_orbits_from_csv(csv_path: str)¶
Load a list of spacecraft from a CSV file.
- Parameters:
csv_path (str) – a path to the csv file, on client computer.
- mds_api.mds_api.load_scenario_from_file(file_path: str)¶
Load a scenario from a JSON file into the scenario list for offline evaluation. This scenario becomes the currently loaded scenario for propagation or coverage calculations.
- Parameters:
file_path (str) – path to the JSON file containing the scenario. Can be absolute or relative
- mds_api.mds_api.login_space_track(login='', password='')¶
Log into the space-track. Provide your password and username.
- mds_api.mds_api.modify_central_body_radiation_source_model(satName: str, bodyName: str, radiationSourceModelType: RadiationSourceModelTypes, includeAlbedoRadiation: bool = True, includeThermalRadiation: bool = True)¶
- mds_api.mds_api.modify_gravity_field_variations_model(satName: str, bodyName: str, gravityFieldVariationModelType: GravityFieldVariationsModelTypes)¶
- mds_api.mds_api.modify_integrator_numerical_scheme(satName: str, numericalScheme: Integrators, orderToUse: IntegratorOrderToUse = IntegratorOrderToUse.lower)¶
- mds_api.mds_api.modify_integrator_type(satName: str, useVariableStepIntegrator: bool)¶
- mds_api.mds_api.modify_reentry_altitude(satName: str, altitude: float)¶
Modify the re-entry altitude for all satellites.
- Parameters:
satName (str) – Name of the satellite.
altitude (float) – Re-entry altitude in km.
- Returns:
Response from the server
- mds_api.mds_api.modify_simulation_reference_frame(satName: str, referenceFrame: ReferenceFrames)¶
- mds_api.mds_api.modify_spherical_harmonics_model(satName: str, bodyName: str, sphericalHarmonicsModel: SphericalHarmonicGravityFieldModels)¶
- mds_api.mds_api.modify_translational_propagator_type(satName: str, propagatorType: PropagatorTypes)¶
- mds_api.mds_api.modify_variable_step_integrator_extra_parameters(satName: str, absoluteTolerance: float, relativeTolerance: float, minTimeStep: float, maxTimeStep: float, usePerElementStepSizeControl: bool = False)¶
- mds_api.mds_api.optimize_transfer(sat_name: str, a: float, e: float, i: float, Omega: float, omega: float, alpha1: float = None, alpha2: float = None, mode: str = 'OPTIMIZE_DELTAV', maxDeltaT: float = None, maxDeltaV: float = None)¶
Order an optimal orbit transfer.
- Parameters:
sat_name (str) – name of the spacecraft, which will perform the transfer.
a (float) – desired semi-major axis in meters.
e (float) – desired eccentricity.
i (float) – desired inclination in degrees.
Omega (float) – desired ascending node longitude in degrees.
omega (float) – desired argument of periapsis in degrees.
alpha1 (float) – initial orbit exit point true anomaly in degrees (TA in your first orbit where you apply maneuver)
alpha2 (float) – target orbit entry point true anomaly in degrees (TA in transfer orbit, where the second maneuver will be applied)
mode (enum) – desired optimization goal: (default) ‘OPTIMIZE_DELTAV’, ‘OPTIMIZE_TRANSFER_TIME’, ‘OPTIMIZE_TIME’.
maxDeltaT (float) – DeltaV constraint: Maximum allowed DeltaV. Used when you do time optimization.
maxDeltaT – Time constraint: Maximum allowed time for transfer, when you optimize for deltaV.
- mds_api.mds_api.read_fuel(name)¶
- mds_api.mds_api.remove_constraint(sat_name: str, constraint_type: int, target: str = '')¶
Check constraints on satellite for monitoring
- Parameters:
sat_name (str) – sat name
constraint_type (int) – enum type for constraint 1 - semi_major axis 2 - eccentricity 3 - inclination 4 - ltan
limits (list[float]) – [min, max] limits for constraint
target (str, optional) – when applicable - relative target. Defaults to “”.
Returns:
- mds_api.mds_api.remove_entity(name: str)¶
- Parameters:
name – removes created entity from the scene
- Returns:
- mds_api.mds_api.remove_group_filter_property_from_satellite(sat_name: str, property_name: str)¶
Function removes selected satelites property
Args: sat_name (str): name of the existing satellite property_name (str): name of the existing property to be removed
- mds_api.mds_api.remove_group_filter_value_from_satellite(sat_name: str, property_name: str, value: str)¶
Function removes value from the selected satelites property
Args: sat_name (str): name of the existing satellite property_name (str): name of the existing property value (str): value of the existing property to be removed
- mds_api.mds_api.remove_property_from_satellite_group(group_name: str, property_name: str)¶
Function removes property and all it’s values from the satellite group
Args: group_name (str): name of the existing group property_name (str): name of the existing property to be removed
- mds_api.mds_api.remove_thruster(name: str)¶
- mds_api.mds_api.remove_value_from_satellite_group(group_name: str, property_name: str, value: str)¶
Function removes existing property value from satellite group
Args: group_name (str): name of the existing group property_name (str): name of the property value (str): existing value to be removed
- mds_api.mds_api.rename_spacecraft(name, rename_to)¶
Rename a spacecraft.
- Parameters:
name – original spacecraft name
rename_to – new spacecraft name
- mds_api.mds_api.request_continuous_maneuver(spacecraft_name: str, r_0, r_f, v_0, v_f, duty_cycle)¶
Request a continuous maneuver, which will produce a continuous thrust profile to reach the target orbit in the specified time.
- mds_api.mds_api.request_tle(norad_id: list, source: str = 'celestrak')¶
Request TLE for specified NORAD ID
- Parameters:
norad_id (list) – list of Satellite identifiers, ie [25544, 40967] or just [25544]
source (str, optional) – source of TLE data. Defaults to “celestrak”. Possible values are “celestrak” and “space-track”.
- mds_api.mds_api.save_constraint_template(sat_name)¶
- mds_api.mds_api.schedule_maneuver_at_date(sat_name: str, julian_date: float, delta_v: list[float], burn_time: float) bytes¶
Schedule a maneuver for a specified date.
- Parameters:
sat_name (str) – name of the spacecraft, for which the maneuver will be scheduled.
julian_date (float) – julian date, for which the maneuver is scheduled.
delta_v (list[float]) – a vector of 3 components - delta V in inertial frame [m/s].
burn_time (float) – time, which wil be taken to complete the maneuver [s].
- mds_api.mds_api.select_planetary_body(planetary_body: str)¶
Function to set camera pointing to planetary body
- Parameters:
planetary_body (str) – planetary body name
names (Available planetary body) – Mercury, Venus, Earth, Mars, Jupiter, Saturn, Uranus, Neptune, Pluto, Moon, Sun
- mds_api.mds_api.select_satellite(name)¶
- mds_api.mds_api.send_log_message(message: str)¶
Send a message to be inserted to the mission log.
- Parameters:
message (string) – message to be added to the mission log.
- mds_api.mds_api.setPredefinedPropagationSettings(satName: str, predefinedSettings: PredefinedPropagationSettings)¶
- mds_api.mds_api.set_attitude_covariance(sat_name: str, covariance_matrix: list[list[float]]) bytes¶
Set the attitude covariance matrix of a spacecraft.
- Parameters:
sat_name (str) – name of the spacecraft, for which the attitude covariance belongs.
covariance_matrix (list[list[float]]) – 4x4 covariance matrix specified as list of lists.
- mds_api.mds_api.set_attitude_parameters(sat_name: str, max_rotation_rate: float, max_rotation_accel: float) bytes¶
Set the attitude control constraints for a spacecraft.
- Parameters:
sat_name (str) – name of the spacecraft, for which to set the attitude parameters.
max_rotation_rate (float) – maximum possible rotation rate magnitude in [deg/s].
max_rotation_accel (float) – maximum possible angular acceleration magnitude in [deg/s/s].
- mds_api.mds_api.set_constraint(sat_name: str, constraint_type: int, limits: list[float], target: str = '')¶
Check constraints on satellite for monitoring
- Parameters:
sat_name (str) – sat name
constraint_type (int) – enum type for constraint 1 - semi_major axis 2 - eccentricity 3 - inclination 4 - ltan 5 - RAAN 6 - Range To Target 7 - Cross-Track separation 8 - In-Track separation
limits (list[float]) – [min, max] limits for constraint
target (str, optional) – when applicable - relative target. Defaults to “”.
Returns:
- mds_api.mds_api.set_earth_light_intensity(intensity: float)¶
It’s possible to set specificaly earth light intensity :param intensity: float from 0 to n works as color multiplier
- Returns:
- mds_api.mds_api.set_fuel(sat_name: str, fuel: float)¶
- mds_api.mds_api.set_inertia_tensor(sat_name: str, inertia_tensor: list[float]) bytes¶
- mds_api.mds_api.set_julian_date(julian_date: float)¶
Set the simulation date as Julian date TDB.
- mds_api.mds_api.set_manual_thrust_torque(name: str, thrustRight: bool = False, thrustLeft: bool = False, thrustUp: bool = False, thrustDown: bool = False, thrustForward: bool = False, thrustBackward: bool = False, torqueLeft: bool = False, torqueRight: bool = False, torqueUp: bool = False, torqueDown: bool = False, torqueForward: bool = False, torqueBackward: bool = False)¶
- mds_api.mds_api.set_mass(sat_name: str, mass: float)¶
- mds_api.mds_api.set_pointing_mode(sat_name: str, mode_name: str, target_name: str = None, target_type: str = None, pointingQuaternion=None) bytes¶
Set the pointing mode of satellite.
- Parameters:
sat_name (str) – name of the spacecraft.
mode_name (str) – a string that represents the pointing mode. available modes are: Idle, Nadir, Sun, Earth,
CustomQuaternion
ClosestStation
CustomTarget.
target_name (str) – Name of the target object. Only relevant for CustomTarget mode. If not specified, the target is unchanged.
target_type (str) – Type of the target. Can be GroundAsset, Spacecraft or CelestialBody. Defaults to GroundAsset. If not specified, Target type remians unchanged.
pointingQuaternion – list[4]: Quaternion in form [x,y,z,w], only relevant for CustomQuaternion pointing mode
- mds_api.mds_api.set_pointing_target(sat_name: str, quaternion: list[float]) bytes¶
Set a custom pointing target quaternion for a spacecraft.
- Parameters:
sat_name (str) – name of spacecraft
quaternion ([float]) – list of [x,y,z,w] quaternion values representing ICRF to body frame rotation.
- mds_api.mds_api.set_postgres_connection(bool_value: bool)¶
- mds_api.mds_api.set_power_consumption(sat_name: str, power_consumption: float)¶
Set spacecraft’s power consumption.
- Parameters:
sat_name (str) – name of the spacecraft, for which to set the power consumption.
power_consumption (float) – total power consumption of the spacecraft [W].
- mds_api.mds_api.set_propagator(sat_name: str, new_propagator: str) bytes¶
Set a propagator for selected spacecraft or globally
- Parameters:
sat_name (str) – name of spacecraft. If None, the propagators will be set globally for all satellites
new_propagator – propagator name. Options: “default”, “Tudat”, “SGP4”
- mds_api.mds_api.set_sat_angular_velocity(sat_name: str, angular_velocity: list[float], attitude: list[float] = None, convert_to_world: bool = False) bytes¶
Hard set the angular velocity of a spacecraft.
- Parameters:
sat_name (str) – name of the spacecraft.
angular_velocity (list[float]) – rad/s the angular velocity vector, specifying the desired angular velocity of the target in either its body frame (if convert_to_world is set to True, default behaviour) or the ICRF world frame (if convert_to_world is set to False).
attitude (optional, list[float]) – the attitude quaternion, specifying spacecraft’s body frame rotation from the inertial ICRF frame. in [x,y,z,w] format. Necessary only when convert_to_world is set to True to convert from body frame to ICRF frame.
convert_to_world (optional, bool) – Whether or not to convert the given angular velocity from body frame to inertial ICRF frame. True by default because MDS expects the angular velocity to be specified in the inertial ICRF frame. If set to False then the attitude parameter can be left out also.
- mds_api.mds_api.set_sat_attitude(sat_name: str, quaternion: list[float]) bytes¶
Hard set the attitude of a spacecraft.
- Parameters:
sat_name (str) – name of the spacecraft.
quaternion (list[float]) – the attitude quaternion, specifying spacecraft’s body frame rotation from the inertial ICRF frame. in [x,y,z,w] format.
- mds_api.mds_api.set_sat_position(sat_name: str, position: list[float]) bytes¶
Hard set the position of a spacecraft.
- Parameters:
sat_name (str) – name of the spacecraft.
position (list[float]) – the position vector, specifying spacecraft’s position in body-centered inertial frame, with origin at the central body’s c.o.g. and axes aligned with ICRF.
- mds_api.mds_api.set_sat_propagation_attributes(sat_name: str, mass: float = 1, area: float = 1, c_d: float = 2.2, c_srp=1.2)¶
Alter satellite mass, surface area expsoed to drag/srp and drag/srp coefficients
- Parameters:
sat_name (str) – satellite name to select
mass (float, optional) – selected mass [kg]. Defaults to 1.
area (float, optional) – selected surface area [m^2]. Defaults to 1.
c_d (float, optional) – Drag coefficient [-]. Defaults to 2.2.
c_srp (float, optional) – Solar radiation pressure coefficient [-]. Defaults to 1.2.
- mds_api.mds_api.set_sat_track(sat_name: str, enabled: bool, new_track_interval: int, r: float, g: float, b: float, a: float)¶
Attach a camera to a spacecraft.
- Parameters:
sat_name (str) – name of the spacecraft, to which the camera will be attached.
enabled (bool) – True enables the sensor track, False disables it.
new_track_interval (int) – simulation interval at which to produce track mark [s].
r (float) – RGBA values ranging from 0 to 1 that set the color of the track.
g (float) – RGBA values ranging from 0 to 1 that set the color of the track.
b (float) – RGBA values ranging from 0 to 1 that set the color of the track.
a (float) – RGBA values ranging from 0 to 1 that set the color of the track.
- mds_api.mds_api.set_sat_velocity(sat_name: str, velocity: list[float]) bytes¶
Hard set the position of a spacecraft.
- Parameters:
sat_name (str) – name of the spacecraft.
velocity (list[float]) – the velocity vector, specifying spacecraft’s velocity in body-centered inertial frame, with origin at the central body’s c.o.g. and axes aligned with ICRF.
- mds_api.mds_api.set_satellite_base_color_factor(name, factor: list[float])¶
Modify color of the satellite
- Parameters:
name (str) – Name of the satellite.
list[float] (factor) – 3 values for multiplying the satellite base color. [1,1,1] is default(no changes)
- Returns:
Response from the server
- mds_api.mds_api.set_satellite_emissive_factor(name, factor: list[float])¶
Modify how much color is reflected to other satellites.
- Parameters:
name (str) – Name of the satellite.
list[float] (factor) – 3 values for multiplying the satellite color reflection. [1,1,1] is default(no changes)
- Returns:
Response from the server
- mds_api.mds_api.set_satellite_light_intensity(name: str, intensity: float)¶
It’s possible to set light intensity for specific satellite param: name (str): satellite name :param intensity: float from 0 to n works as color multiplier
- Returns:
- mds_api.mds_api.set_satellite_metallic_factor(name, factor)¶
Modify how metallic satellite looks, 0 - plastic, 1 - metallic
- Parameters:
name (str) – Name of the satellite.
float (factor) – value 0 to 1
- Returns:
Response from the server
- mds_api.mds_api.set_satellite_roughness_factor(name, factor)¶
Modify how rough satellite looks value 0 to 1
- Parameters:
name (str) – Name of the satellite.
float (factor) – value 0 to 1
- Returns:
Response from the server
- mds_api.mds_api.set_scenario_settings(scenario_index=0, prop_time=3600, prop_time_step=60, connection_timeout: float = 60, maneuver_map: dict[str, int] = None)¶
call to do an offline fleet propagation and compute ground station passes between added satellites and available ground assests
- Parameters:
scenario_index (int, optional) – index of the scenario type. 0 -> General use, 1 -> Maneuver Application, 2 -> Constraint Monitoring prediction 3-> Report Generation
prop_time (int, optional) – total propagation time. Defaults to 3600.
prop_time_step (int, optional) – propagation timestep. Defaults to 60.
connection_timeout (float) – timeout for waiting for response from MDS in seconds. Defaults to 60.
maneuver_map (dict[str, int], optional) – dictionary of satellite names and their corresponding maneuver indices to assign maneuvers to satellites.
Returns:
- mds_api.mds_api.set_simulation_timestep(time_step)¶
Set dynamics propagation step
- Parameters:
time_step (float) – propagation time step. Default is 10 ms
- mds_api.mds_api.set_spacecraft_merge_distance(distance)¶
Control how far a satellite renders in the camera
- Parameters:
distance (float) – max satellite rendering distance [m]
- mds_api.mds_api.set_state_covariance(sat_name: str, covariance_matrix: list[list[float]]) bytes¶
Set the state covariance matrix of a spacecraft.
- Parameters:
sat_name (str) – name of the spacecraft, for which the state covariance belongs.
covariance_matrix (list[list[float]]) – 6x6 covariance matrix specified as list of lists.
- mds_api.mds_api.set_sun_brightness(brightness)¶
Control Sun representation size.
- Parameters:
brightness (float) – sun intensity value [0-n]
- mds_api.mds_api.set_sunlight_strength_factor(factor)¶
Control how bright the sun appears
- Parameters:
factor (float) – factor [0-n]
- mds_api.mds_api.set_time_scale(scale: float)¶
Set the timescale of simulation.
- Parameters:
scale (float) – time multiplier
- mds_api.mds_api.set_utc_date(year: int, month: int, day: int, hour: int, minute: int, second: int, millisecond: int)¶
Set the simulation date as UTC TDB date-time.
- Parameters:
year (int) – the year.
month (int) – the month.
day (int) – the day.
hour (int) – the hour.
minute (int) – the minute.
second (int) – the second.
millisecond (int) – the millisecond.
- mds_api.mds_api.set_velocity(sat_name: str, local_velocity: list[float])¶
- mds_api.mds_api.show_hide_satellite_and_orbit(sat_name: str, visible: bool)¶
- mds_api.mds_api.step_sim(steps=1, waitForPropagationEnd=False)¶
Step the simulation.
- mds_api.mds_api.toggle_Tudat_Propagator(useTudatPropagator: bool)¶
- mds_api.mds_api.toggle_celestial_vector(enabled: bool, celestial_body: str) bytes¶
Toggle celestial vector for a specified celestial body. CelestialBodies values: Mercury, Venus, Earth, Mars, Jupiter, Saturn, Uranus, Neptune, Pluto, Moon, Sun
- Parameters:
enabled (bool) – flag that enables/disables celestial vector.
celestial_body (str) – name of the celestial body that the celestial vector shall point to.
- mds_api.mds_api.toggle_central_body_high_fidelity_atmosphere_model(satName: str, bodyName: str, useNRLMSISE: bool, spaceWeatherFilePath: str = '')¶
- mds_api.mds_api.toggle_central_body_high_fidelity_rotation_model(satName: str, bodyName: str, useHighFidelityRotationModel: bool, iauConvention: IAUConventions = IAUConventions.iau_2006)¶
- mds_api.mds_api.trigger_explosion(spacecraft_name: str)¶
Trigger a satellite explosion, which will show an explosion animation and remove the satellite
- Parameters:
spacecraft_name – Description
- mds_api.mds_api.visualize_thrusters(sat_name, thrust_body, thrust_min=0)¶
visualizes the thrusters by converting body-frame thrust to booleans of whether the positive/negative values exeed the thrust_min_shown threshold
- Parameters:
thrust_body (array) – body-frame thrust [N]
thrust_min (float) – minimum thrust to visualize [N]