AERO 421: Spacecraft Attitude, Dynamics, and Control Final Project.

Overview

AERO - 421 Final Project Redevelopment

Spacecraft Attitude, Dynamics, and Control: Simulation to determine and control a satellite's attitude in LEO.

Background

AERO-421, or Spacecraft Attitude, Dynamics, and Controls, is a class taught at the California Polytechnic State University at San Luis Obispo (Cal Poly SLO) which serves as an...

"Introduction to spacecraft attitude dynamics and control... [and] fundamentals of guidance and navigation systems... [with emphasis in] analysis and design of control systems for aerospace vehicles." - Cal Poly Aerospace Engineering Course Catalog

The final project in the course was to develop a simulation to determine a satellite's attitude in Low Earth Orbit (LEO), consider and model detumbling from a launch vehicle, consider and model disturbances due to external forces i.e., Solar Radiation Pressure (SRP), and to consider and model control via onboard reaction wheels.

More information regarding the 6 different parts can be found below.

The initial project was developed in MATLAB, however, the project will be completely redeveloped in Python to showcase controls and software development skillsets.

Part 0: Context and Given Data

The project will explore modeling and simulation of the various stages of a spacecraft mission, specifically simulating the attitude dynamics from initial spacecraft deployment to operation. In this simulation, the spacecraft is an Earth observing satellite and an attitude determination and control system must be designed using reaction wheels to ensure the spacecraft maintains pointing nadir.

Orbital Data:

  • h (angular momentum) = 53335.2 km^2/s
  • e (eccentricity) = 0
  • Ω (Right Ascension of Ascending Node) = 0 deg
  • i (inclination) = 98.43 deg
  • ω (Argument of Perigee) = 0 deg
  • θ (True Anomaly) = 0 deg
  • ϵ-LVLH (Initial Quaternion relating the body to the LVLH frame) = [0, 0, 0]; η = 1

Detumble Phase:

  • Spacecraft is a square box with 2 meters on each edge with total mass of 640 kg
  • Initial Angular Velocity of [-0.05, 0.03, 0.2] rad/s relating the body to the ECI frame

Normal Operations:

  • Spacecraft bus is a 2 meter cube with mass of 500 kg. The center of mass of the spacecraft is located at the geometric center of the bus.
  • A rectangular sensor is attached to the face pointing towards the Earth (+Z-axis) and is 1 meter long and 0.25 meters square. The sensor has a mass of 100 kg.
  • Two solar panels are deployed along the +/- Y-axis and are constrained to rotate about the +/- Y-axis. The solar panels are 3 meters long (in the Y-axis), 2 meters wide, and 0.05 meters thick. Each panel has a mass of 20 kg and the center of mass is located at the geometric center of the panel. The solar panels do not rotate relative to the spacecraft bus.
  • Assume all spacecraft components have uniform density with centers of mass located at the geometric centers of each component
  • Magnetically, the spacecraft residual magnetic dipole moment can be modeled as pointing in the -Z direction with magnitude 0.5 A-m^2
  • See the figure below for the spacecraft schematic
  • Because the thrusters are not actually fully-modulated thrusters, the spacecraft will have a residual angular velocity of [0.001, -0.001, 0.002] rad/s relating the body to the ECI frame after the detumble phase.
  • During operation the spacecraft is required to point at the target on the ground to within 0.001 degrees 3-sigma using the reaction wheels used in the reaction wheels part.

Spacecraft Schematic

Part 1: Mass Properties

Determine the mass and inertial properties of the spacecraft for both the detumble and the normal operations phases.

Outputs:

  • Total mass of the spacecraft
  • Center of mass relative to the spacecraft bus center of mass. The body frame will be located at the center of mass of the whole spacecraft
  • Intertia matrix of the whole spacecraft about the center of mass of the spacecraft

Part 2: Torque Free Motion

Model the torque free orbital and attitude motion of the spacecraft

Outputs: Plots for...

  • Euler angles and quaternions relating body to ECI reference frames
  • Angular velocity of the spacecraft in body components for one orbit of the normal operations phase

Part 3: Detumble

Simulate the motion of the satellite during the detumble phase. Assume fully modulated thrusters and use direct velocity feedback

Outputs: Plots for...

  • Euler angles and quaternions relating body to ECI reference frames
  • Angular velocity of the spacecraft in body components for the detumble phase
  • Torque components in the body frame

Part 4: Disturbance Simulation

Add the four disturbance models to the simulation:

  • Atmospheric Drag
  • Solar Pressure
  • Gravity Gradient
  • Earth Magnetic Field

Use the following model for the atmospheric density. Notice that h is the height above the Earth's surface in kilometers where R_Earth equals 6378km

Disturbance Model

Consider the simulation epoch to be March 20, 2021. Disregard any variations of the ECI representation of the sunlight direction during the simulation.

Outputs: Plots for...

  • Euler angles and quaternions relating the body to the ECI reference frame
  • Euler angles and quaternions relating the body to the LVLH reference frame
  • Angular velocity of the spacecraft relative to the ECI frame expressed in body components
  • Angular velocity of the spacecraft relative to the LVLH frame expressed in body components
  • Torque components for atmospheric drag, solar radiation pressure, gravity gradient, and earth magnetic field

Part 5: Reaction Wheel Control

Determine the control gains for a full state feedback 3-axis reaction wheel control system. Use the requirements of ζ = 0.65 and t_s = 30 sec

The positions of the 3 reaction wheels are [1, 0, 0], [0, 1, 0], and [0, 0, 1]. Each reaction wheel can be modeled as a simple cylinder with radius of 0.3 m and a height of 0.02 m

Outputs: Plots for...

  • Euler angles and quaternions relating the body to ECI reference frame
  • Euler angles and quaternions relating the body to LVLH reference frame
  • Angular velocity of the spacecraft relative to the ECI reference frame expressed in body components
  • Angular velocity of the spacecraft relative to LVLH frame expressed in body components
  • Commanded moment from the determined control law
  • Wheel speed of each reaction wheel

Part 6: Visualization

Determine and animate the quanterions of the spacecraft, from ECI to body frame, for the duration of 1-5 revolutions.

Output:

  • Table of quaternion and time data
  • Video or other animation file to show the revolution of the spacecraft
Owner
Gagandeep Thapar
- (he/they) - 4th year Aerospace Engineering (w/ CS Minor) at Cal Poly SLO - Interested in Launch Vehicle and Spacecraft Controls and Avionics
Gagandeep Thapar
Transform a Raspberry Pi into a network diagnostic machine.

EtherView Last updated jan 30, 2022. Welcome to the EtherView project! This is a project to transform a RaspberryPi into a portable network diagnostic

1 Jan 30, 2022
Provide Unifi device info via api to Home Assistant that will give ap sensors

Unifi AP Device info Provide Unifi device info via api to Home Assistant that will give ap sensors

12 Jan 07, 2023
Raspberry Pi Power Button - Wake/Power Off/Restart(Double Press)

Control Raspberry pi with physically attached button. Wake, Power Off, and Restart (Double Press) . Python3 script runs as a service with easy installation.

Stas Yakobov 16 Oct 22, 2022
ESP32 recording button presses, and serving webpage that graphs the numbers over time.

ESP32-IoT-button-graph-test ESP32 recording button presses, and serving webpage via webSockets in order to graph the responses. The objective was to t

f-caro 1 Nov 30, 2021
Workshop for student hackathons focused on IoT dev

Scenario: The Mutt Matcher (IoT version) According to the World Health Organization there are more than 200 million stray dogs worldwide. The American

Microsoft 15 Aug 10, 2022
Home solar infrastructure (with Peimar Inverter) monitoring based on Raspberry Pi 3 B+ using Grafana, InfluxDB, Custom Python Collector and Shelly EM.

raspberry-solar-mon Home solar infrastructure (with Peimar Inverter) monitoring based on Raspberry Pi 3 B+ using Grafana, InfluxDB, Custom Python Coll

cislow 10 Dec 23, 2022
DNP3 Stalker is a project to analyze and interact with DNP3 devices

DNP3 Stalker Purpose DNP3 Stalker is a project to analyze and interact with DNP3

Cutaway Security, LLC. 2 Feb 10, 2022
LUNA: a USB multitool & nMigen library

LUNA is a full toolkit for working with USB using FPGA technology; and provides hardware, gateware, and software to enable USB applications.

Great Scott Gadgets 750 Dec 28, 2022
Monitor an EnvisaLink alarm module running Honeywell firmware, and set a Nest device to Home/Away depending on whether the alarm is Disarmed/Away.

Nestalarm Monitor an EnvisaLink alarm module running Honeywell firmware, and set a Nest device to Home/Away depending on whether the alarm is Disarmed

1 Dec 30, 2021
智能无人机路径规划仿真系统是一个具有操作控制精细、平台整合性强、全方向模型建立与应用自动化特点的软件

Drone智能无人机路径规划仿真系统是一个具有操作控制精细、平台整合性强、全方向模型建立与应用自动化特点的软件。它以A、B两国在C区开展无人机战争为背景,该系统的核心功能是通过仿真平台规划无人机航线,并进行验证输出,数据可导入真实无人机,使其按照规定路线精准抵达战场任一位置,支持多人多设备编队联合行动。

wwy 349 Jan 03, 2023
Raspberry Pi Pico development platform for PlatformIO

Raspberry Pi Pico development platform for PlatformIO A few words in the beginning Before experimental please Reinstall the platform Version: 1.0.0 Th

Georgi Angelov 160 Dec 23, 2022
CircuitPython library for the CH559 USB to Serial chip

CH559 (USB to Serial) CircuitPython Library Why? Because you might want to get keyboard/mouse/gamepad/HID input into your CircuitPython projects witho

Guy Dupont 3 Nov 19, 2022
Code and build instructions for Snap, a simple Raspberry Pi and LED machine to show you how expensive the electricyty is at the moment

Code and build instructions for Snap, a simple Raspberry Pi and LED machine to show you how expensive the electricyty is at the moment. On row of LEDs shows the cost of the hour, the other row the co

Johan Jonk Stenström 3 Sep 08, 2022
Tool to create 3D printable terrain with integrated path/road part files (Single material 3d printer)

BACKGROUND This has been an ongoing project of mine for a few months now. I run trails a lot and original the goal was to create a function to combine

9 Apr 26, 2022
Parametric open source reconstructions of Voron printed parts

The Parametric Voron This repository contains Fusion 360 reconstructions of various printed parts from the Voron printers

Matthew Lloyd 26 Dec 19, 2022
A Macropad using the Raspberry Pi Pico, programmed with CircuitPython.

A Macropad using the Raspberry Pi Pico, programmed with CircuitPython.

15 Oct 14, 2022
HomeAssistant - Polyaire AirTouch 4 Integration

HomeAssistant - Polyaire AirTouch 4 Integration Custom integration to add an AirTouch 4 AC Controller Installation: Copy contents of custom_components

7 Aug 05, 2022
A iot Bike sytem based on RaspberryPi, Ardiuino

Cyclic 's Kernel ---- A iot Bike sytem based on RaspberryPi, Ardiuino, etc 0x1 What is This? Cyclic 's Kernel is an independent System With self-produ

Retr0mous 2 Oct 09, 2022
Pylorawan is a Micropython wrapper for lorawan devices from RAK Wireless.

pylorawan Pylorawan is a Micropython wrapper for lorawan devices from RAK Wireless. Tested on a Raspberry PI Pico with a RAK4200(H) Evaluation Board (

Peter Houghton 3 Nov 04, 2022
A flexible data historian based on InfluxDB, Grafana, MQTT and more. Free, open, simple.

Kotori Telemetry data acquisition and sensor networks for humans. Documentation: https://getkotori.org/ Source Code: https://github.com/daq-tools/koto

83 Nov 26, 2022