scenarioConstrainedDynamicsFrequencyAnalysis
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 analyzes the impact of different gains on the motion of two spacecraft with solar panels. Specifically, it looks at the coupling between the natural frequency of the solar arrays and the fictitious frequency that the constraint effector introduces.
The script is found in the folder basilisk/examples
and executed by using:
python3 scenarioConstrainedDynamicsFrequencyAnalysis.py
The scenario outputs two plots. The first one shows the solar array angle errors for different gains to show how they change for different arm stiffness values. The second one shows the results of an FFT on the spacecraft’s attitude, which highlights the frequencies of the solar arrays and the fictitious frequency introduced for each gain.
Illustration of Simulation Results
show_plots = True, gain_list = [1E1, 1E2, 1E3, 1E4, 1E5], sc_model = 'MEV2'
The time history for the solar array angle errors between the approximate and truth models is shown below for different values of the gains.
The figure below shows the FFT of the attitude error between both spacecraft. Each gain curve has two peaks: one at the solar panel’s natural frequency, and another at a gain-specific frequency, which is fictitious. Note how this frequency is higher for higher gains, as the corresponding dynamics are stiffer. For lower gains, the fictitious frequency resonates with the panel’s natural frequency, which leads to large errors between the approximate and truth model since the fictitious frequency does not appear in the truth model.
- class scenarioConstrainedDynamicsFrequencyAnalysis.SimBaseClass(dynRate=0.001)[source]
Bases:
SimBaseClass
- scenarioConstrainedDynamicsFrequencyAnalysis.run(show_plots, gain_list, sc_model)[source]
- Parameters:
show_plots (bool) – Determines if the script should display plots
gain_list (float) – Choose which gain values to test
sc_model (str) – Choose which spacecraft models to use between
bskSat
,MEV1
, orMEV2