scenarioAttitudeFeedbackNoEarth

Overview

Demonstrates how to simulate an attitude control scenario without having any gravity bodies present. In essence, the 3-U cube-sat spacecraft is hovering in deep space. The goal is to stabilize the tumble of a spacecraft and point it towards a fixed inertial direction. This script sets up a 6-DOF spacecraft which is hovering in deep space. The scenario duplicates the scenario in scenarioAttitudeFeedback without adding Earth gravity body to the simulation.

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

python3 scenarioAttitudeFeedbackNoEarth.py

When the simulation completes 3 plots are shown for the MRP attitude history, the rate tracking errors, as well as the control torque vector.

The simulation layout is shown in the following illustration. A single simulation process is created which contains both the spacecraft simulation modules, as well as the Flight Software (FSW) algorithm modules.

../_images/test_scenarioAttitudeFeedbackNoEarth.svg

The spacecraft simulation is identical to scenarioAttitudeFeedback. The primary difference is that the gravity body is not included.

Illustration of Simulation Results

The following simulation runs should output identical results to the scenario runs in scenarioAttitudeFeedback as the attitude pointing goal is an inertial orientation, and thus independent of the satellite being in Earth orbit or hovering in deep space.

show_plots = True, useUnmodeledTorque = False, useIntGain = False, useKnownTorque = False
../_images/scenarioAttitudeFeedbackNoEarth1000.svg ../_images/scenarioAttitudeFeedbackNoEarth2000.svg
show_plots = True, useUnmodeledTorque = True, useIntGain = False, useKnownTorque = False
../_images/scenarioAttitudeFeedbackNoEarth1100.svg ../_images/scenarioAttitudeFeedbackNoEarth2100.svg
show_plots = True, useUnmodeledTorque = True, useIntGain = True, useKnownTorque = False
../_images/scenarioAttitudeFeedbackNoEarth1110.svg ../_images/scenarioAttitudeFeedbackNoEarth2110.svg
show_plots = True, useUnmodeledTorque = True, useIntGain = False, useKnownTorque = True
../_images/scenarioAttitudeFeedbackNoEarth1101.svg ../_images/scenarioAttitudeFeedbackNoEarth2101.svg
scenarioAttitudeFeedbackNoEarth.run(show_plots, useUnmodeledTorque, useIntGain, useKnownTorque)[source]

The scenarios can be run with the followings setups parameters:

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

  • useUnmodeledTorque (bool) – Specify if an external torque should be included

  • useIntGain (bool) – Specify if the feedback control uses an integral feedback term

  • useKnownTorque (bool) – Specify if the external torque is feed forward in the contro