Examples

Examples are located in MDS Solaris installation directory: Help_API & Examples/Examples


MDS 1.4.0 examples

  • Constellation Design and Revisit Time calculations

This example demonstrates the capabilities of MDS to aid in designing a constellation. Two constellations are created, for each of them, the global and overlapping ground coverage is computed, as well as revisit times and ground station visit geometry. The results are exported in the Export folder, they are then visualized for both constellations to allow for direct comparison.

example_compute_fleet_coverage.py

  • Communication, payload and power system integration

Although not utilizing new features, this example demonstrates the capability to integrate power, communications and payload subsystem integration. A mission manager balances between real-time prioritization of data gathering, downlink and maintaining sufficient power.

example_comm_power_manager.py

  • TLE data generation and ingestion

This script shows the (as of MDS 1.4.0 experimental) TLE generation. Orbit raIsing is executed for two satellites and their resulting TLE's are created.

example_generate_tle.py

  • Orbital decay

This example shows two satellites' orbits decaying due to the impact of drag. The satellites are configured to have two reference areas exposed to drag, thus they decay at different rates. Once the higher area satellite reached an altitude of 140km, it burns up and is thus removed from the simulation. This can be seen in the altitude history

example_orbital_decay.py

  • Orbital monitor

This demo shows a two satellites with a stationkeeping manager. Constraints on their semi-major axes and eccentricity are set. Both satellites begin orbiting at kepler elements exceeding their constraints. The orbit monitor detects this, suggests and then commands orbit raising maneuvers, which are executed to resolve the constraint violation.

example_orbit_monitor.py

  • Ground asset modification

This example shows the flexibility to create an entity/ground asset in intertial frame coordinates. Its properties, such as size, position, color can be changed in real-time.

example_add_entity.py

MDS 1.3.0 examples

  • Satellite Docking simulation

This is a broad example/demonstrator of the ability to perform close-proximity in MDS. A chaser satellite approaches a target, running a GNC loop, docks, transfers fuel and retreats. The prompt at the start of the script also allows to perform a failed docking where the chaser collides with the target.

demo_gnc_docking.py

  • Thruster plume visualization

This example shows how to connect visual plumes to the thrusters on a satellite 3D model Thrust is then applied in different directions and the effects are visualized.

example_set_thruster_plumes.py

  • Pose setting tutorial

A tutorial script that shows the blocks of setting/controlling the pose between two satellites. Allowing to vary attitudes, positions and illumination conditions and see how that impacts the view of the target satellite in the camera frame. Useful building blocks for synthetic visual data generation.

tutorial_set_relative_attitude.py * Constellation creation examples

Demonstrates how to create a constellation using Walker-Delta Patterns. And how to establish communication between these satellites.

example_create_walker_constellation.py

Load and save a constellation frm an OMM .xml format example_load_omm.py

  • Power subsystem

Demonstrates how to configure the power subsystem for power budget calculation

example_power_subsystem.py

  • Controller examples

Starts a scenario with a tumbling satellite. After 5 seconds, detumbling is activated. Once this is achieved, a new guidance mode to point the satellite camera to nadir is used.

example_detumble_and_point_nadir.py

  • dV Maneuver example

Demonstrates that dV maneuvers can now be directly applied in LVLH frame. example_thrust_event_lvlh.py

  • Ground assets

Demonstrates how to add different ground assets and control them over time.

example_ground_assets.py


MDS 1.2.0 examples

  • Capstone

Demonstrates how to add satellite to an Earth-Moon transfer orbit.

example_CAPSTONE.py


  • Capture image

Demonstrates how to add satellite, attach a camera and generate the camera image.

example_capture_camera_image.py


  • Event scheduler

Demonstrates how to create time, geolocation, altitude events for the satellite and execute thrust/pointing actions.

example_event_scheduler.py


  • Friendly stations

Demonstrates satellite and ground station communication.

example_friendly_stations.py


  • Get ground station state

Demonstrates how to retrieve geolocation data of a chosen ground station.

example_get_ground_station_state.py


  • Get Link budget

Demonstrates how to set up satellite communication. Retrieves transmission data, Uplink, Downlink budget.

example_get_link_budget.py


  • Get planet state

Demonstrates how to retrieve position data for Mercury and the Moon.

example_get_planet_state.py


  • Get satellite state

Demonstrates how to get pose data for a chosen satellite.

example_get_sat_state.py


  • Rendezvous operation

Demonstrates how to set up and run a closed-loop 6DOF GNC algorithm. The chaser satellite approaches the target satellite and points its camera at the target.

example_gnc_approach.py


  • Match attitude

Demonstrates how to set up and run a closed-loop 3DOF GNC algorithm.

The controller implemented here tries to match the chaser attitude of the target spacecraft.

example_gnc_match_attitude.py


  • Load configuration

Demonstrates how to load configuration (JSON) file.

example_load_config.py


  • Handle MDS network callbacks

Demonstrates how to connect to MDS callback server. Prints various MDS events. Such as satellite maneuver, event scheduler events. Communication link establishment. Add satellites and Mission events through the MDS UI to observe the parsed callbacks.

example_mds_event_handler_client.py


  • Physical camera

Demonstrates how to attach camera to satellite. Sets camera parameters and applies various camera effects, such as lens distortion, bloom, aperture, focus, shutter speed.

example_physical_camera.py


  • Plot ground station passes

Demonstrates how to record satellite-ground station distance from the simulation and plot it via matplotlib.

example_plot_station_pass.py


  • Save configuration

Demonstrates how to save current scene into a JSON file.

example_save_config.py


  • Schedule maneuver

Demonstrates how to schedule a satellite thrust maneuver at a specific julian date.

example_schedule_maneuver.py


  • Set satellite pointing mode

Demonstrates how to set satellite to different pointing modes.

example_set_pointing_mode.py


  • Set satellite rotation

Demonstrates how to instantaneously update satellite attitude.

example_set_sat_rotation.py


  • Set satellite track

Demonstrates how to enable satellite track for a specific satellite.

example_set_sat_tracking.py


  • Set simulation timescale

Show how to set up simulation speed for a whole scene.

example_set_simulation_timescale.py


  • Starlink satellite batch

Demonstrates how to load satellites from CSV format and enable communication between them.

example_starlink_batch.py


  • Satellite cone color

Demonstrates how to add sensor cone to satellite and change its color

example_sat_cone_color.py