scenarioConstrainedDynamics

Overview

This scenario 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 can be run with gravity to place the set of spacecraft in low Earth orbit or without gravity to simulate a deep space scenario.

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

python3 scenarioConstrainedDynamics.py

The scenario outputs two plots: one for the translational constraint violations, and another for the rotational constraint violations. These constraint violations can be used to evaluate whether the simulation is replicating coupled motion with the desired fidelity and tune gains if the bounds should be changed. Increasing alpha and beta will reduce the magnitude of the constraint violations while increasing run time.

Illustration of Simulation Results

show_plots = True, env = 'Gravity'

Here, two identical spacecraft are connected along their body frame x-axes with a slight tumble rate while in low Earth orbit. The time history for both the holonomic direction and attitude constraint violations are shown below. Note the y-axis log scale showing the order of magnitude of the violations. The initial transient rises from perfect initial setup conditions before settling to an equilibrium. This equilibrium is impacted by how dynamic the scenario is (rotation rate, gravity, thrusting), the mass and inertia of the respective vehicles, and how stiff the gains are driven by the alpha and beta tuning parameters.

../_images/scenarioConstrainedDynamicsDirectionConstraint.svg ../_images/scenarioConstrainedDynamicsAttitudeConstraint.svg
scenarioConstrainedDynamics.run(show_plots, env)[source]

The scenario can be run with the following setup parameters:

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

  • env (str) – Choose whether in Earth orbit Gravity or deep space NoGravity