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
Example Python code for building RPi-controlled robotic systems

RPi Example Code Example Python code for building RPi-controlled robotic systems These python files have been compiled / developed by the Neurobionics

Elliott Rouse 2 Feb 04, 2022
USB Rubber Ducky with the Rasberry Pi pico microcontroller

pico-ducky Install Install and have your USB Rubber Ducky working in less than 5 minutes. Download CircuitPython for the Raspberry Pi Pico. Plug the d

AnOnYmOus001100 3 Oct 08, 2022
SPI driven CircuitPython driver for PCA9745B constant current LED driver.

Introduction THIS IS VERY MUCH ALPHA AND IN ACTIVE DEVELOPMENT. THINGS WILL BREAK! THIS MAY ALSO BREAK YOUR THINGS! SPI driven CircuitPython driver fo

Andrew Ferguson 1 Jan 14, 2022
从零开始打造一个智能家居系统

SweetHome 从零开始打造智能家居系统的尝试,主要的实现有 可以扫码添加设备并控制设备的Android App 可以控制亮灭的灯,并可以设置在Android App连接到指定Wifi后自动亮起 可以控制开关的窗帘,机械结构部分自己设计并3D打印出来 树莓派主控,实现Http请求接口和ZigBe

金榜 5 May 01, 2022
EuroPi: A reprogrammable Eurorack project based on the Raspberry Pi Pico

EuroPi The EuroPi is a fully user reprogrammable module based on the Raspberry Pi Pico, which allows users to process inputs and controls to produce o

Allen Synthesis 218 Jan 01, 2023
Real-time Coastal Monitoring at the University of Hawaii at Manoa

Coastal Monitoring at the University of Manoa Source code for Beaglebone/RPi-based data loggers, shore internet gateways, and web server. Software dev

Stanley Lio 7 Dec 07, 2021
Watson-Assistant with integration capabilities

Watson-Assistant-Integration Watson-Assistant with integration capabilities "main.py" should be deployed as Cloud Function (Action) on IBM Cloud. For

Sergey Usachev 1 Dec 20, 2021
Python apps to assist with Gas Blending

Welcome to DiveTools Gas Blending This tool is for testing and educational use. It is not intended to confirm the mix of breathing gases. If this tool

Tucker 7 Sep 18, 2022
A python script for Homeassistant that counts down the days to birthdays, anniversaries etc

Date Countdown A python script for Homeassistant that counts down the days to birthdays, anniversaries etc Important note I no longer use homeassistan

Marc Forth 21 Mar 12, 2022
A DiY holiday project to demonstrate how you can send data from adafruitIO cloud to a balena edge device

holiday-star balena ❤️ adafruitIO Introduction A DiY holiday project to demonstrate how you can send data from adafruitIO cloud to a balena edge devic

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

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

wwy 349 Jan 03, 2023
gdsfactory is an EDA (electronics design automation) tool to Layout Integrated Circuits.

gdsfactory 3.5.5 gdsfactory is an EDA (electronics design automation) tool to Layout Integrated Circuits. It is build on top of phidl gdspy and klayou

147 Jan 04, 2023
Simple Microservice to control 433Mhz wireless sockets over HTTP, e.g. on a RaspberryPi

REST-light is a simple microservice to control 433Mhz wireless sockets over HTTP, e.g. on a RaspberryPi. The main usage is an easy integration of 433M

Pascal Höhnel 1 Jan 09, 2022
LifeSaver automatically, periodically saves USB flash drive data into the PC

LifeSaver automatically, periodically saves USB flash drive data into the PC. Theoriticaly it will work with any any connected drive ex - Hard Disk ,SSD ... But, can't handle Backing up multipatition

siddharth dhaka 4 Sep 26, 2021
Ingeniamotion is a library that works over ingenialink and aims to simplify the interaction with Ingenia's drives.

Ingeniamotion Ingeniamotion is a library that works over ingenialink and aims to simplify the interaction with Ingenia's drives. Requirements Python 3

Ingenia Motion Control 7 Dec 15, 2022
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
E-Ink Magic Calendar that automatically syncs to Google Calendar and runs off a battery powered Raspberry Pi Zero

E-Ink Magic Calendar that automatically syncs to Google Calendar and runs off a battery powered Raspberry Pi Zero

2.8k Dec 30, 2022
Connect a TeslaMate instance to Home Assistant, using MQTT

TeslaBuddy Connect a TeslaMate instance to Home Assistant, using MQTT. It allows basic control of your Tesla vehicle via Home Assistant (currently, ju

4 May 23, 2022
OPNsense integration with Home Assistant

hass-opnsense Join OPNsense with home-assistant! hass-opnsense uses the built-in xmlrpc service of OPNsense for all interactions. This project is curr

Travis Glenn Hansen 54 Jan 03, 2023
Home Assistant custom integration to fetch data from Powerpal

Powerpal custom component for Home Assistant Component to integrate with powerpal. This repository and integration is not affiliated with Powerpal. Th

Lawrence 32 Jan 07, 2023