scenarioGroundMapping

Overview

This scenario demonstrates mapping several points on the surface of the Earth.

The script is found in the folder basilisk/examples and executed by using:

python3 scenarioGroundMapping.py

The simulation uses Module: groundMapping to check if a spacecraft has access to any of the mapping points defined on the surface of the Earth. For each mapping point, a AccessMsgPayload is output to the Module: mappingInstrument module, which images the mapping points and sends the simulated data to a Module: partitionedStorageUnit. While this is not representative of the total amount of data collected during mapping, it does store which points have and have not been mapped, which is useful for many operations problems. It is suggested that the user adds a Module: simpleInstrument and Module: simpleStorageUnit if they desire to realistically capture how much data was actually collected.

Illustration of Simulation Results

show_plots = True

The following plots illustrate the attitude error of the spacecraft, a 3D view of the spacecraft trajectory and the mapping points expressed in the planet-centered, planet-fixed frame, and the number of points stored in the data buffer.

../_images/scenarioGroundMapping1.svg../_images/scenarioGroundMapping2.svg../_images/scenarioGroundMapping3.svg
scenarioGroundMapping.generate_mapping_points(num_points, radius)[source]

Generates a number of mapping points on the surface of the body using a Fibonacci sphere Algorithm from: https://stackoverflow.com/questions/9600801/evenly-distributing-n-points-on-a-sphere

scenarioGroundMapping.plot_attitude_error(timeLineSet, dataSigmaBR)[source]

Plot the attitude result.

scenarioGroundMapping.run(show_plots, useCentral)[source]

The scenarios can be run with the followings setups parameters:

Parameters
  • show_plots (bool) – Determines if the script should display plots

  • useCentral (bool) – Flag if the Earth is the central body or not