scenarioConstrainedDynamicsComponentAnalysis
Overview
This scenario further demonstrates the capabilities of Module: constraintDynamicEffector in simulating a dynamic coupling between two spacecraft. The constraint effector allows the simulation of two spacecraft rigid hubs attached through an arm of variable rigidity and is agnostic to the parameters of either vehicle. The scenario compares the motion of two spacecraft with solar arrays or fuel slosh against a truth model to understand whether the constraint effector accurately captures the coupled dynamics between the two spacecraft.
The script is found in the folder basilisk/examples
and executed by using:
python3 scenarioConstrainedDynamicsComponentAnalysis.py
The scenario outputs three plots. The first one describes the translational constraint violations, and the second the rotational constraint violations. These constraint violations ensure the constraints are being enforced to a sufficiently high fidelity for the chosen gains (1E4). The third plot shows the angle (panels) or displacement (slosh) error between the two-spacecraft model with the constraint effector and the one-spacecraft truth model.
Illustration of Simulation Results
show_plots = True, component_list = ['panels'], sc_model = 'MEV2'
Here, each spacecraft have a solar array attached to them. At the beginning of the simulation, the servicer’s panel has an initial angular velocity to induce an excitation that will affect the entire system.
The time history for both the direction and attitude constraint violations are shown below, which demonstrate that the constraint effector is accurately enforcing the rigid direction constraint.
The figure below shows the error between the angle of each panel. The error oscillates at the panels natural frequency, and dampens out with time as expected. Note that the magnitude of the error is much smaller than the initial excitation introduced in the servicer’s panel.
show_plots = True, component_list = ['slosh'], sc_model = 'MEV2'
Here, the servicer has a fuel tank with fuel slosh particles along each of the body axis. At the beginning of the simulation, the servicer’s slosh has an initial linear velocity to induce an excitation that will affect the entire system.
The time history for both the direction and attitude constraint violations are shown below, which demonstrate that the constraint effector is accurately enforcing the rigid direction constraint.
The figure below shows the error between the slosh mass displacement of both models. The error oscillates at the slosh particle’s natural frequency, and dampens out with time as expected. Note that the magnitude of the error is much smaller than the initial excitation introduced in the servicer’s slosh particles.
- class scenarioConstrainedDynamicsComponentAnalysis.SimBaseClass(dynRate=0.001)[source]
Bases:
SimBaseClass
- scenarioConstrainedDynamicsComponentAnalysis.run(show_plots, component_list, sc_model)[source]
- Parameters:
show_plots (bool) – Determines if the script should display plots
component_list (str) – Choose which components to add between
panels
,slosh
orNone
sc_model (str) – Choose which spacecraft models to use between
bskSat
,MEV1
, orMEV2