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
A dashboard for Raspberry Pi to display environmental weather data, rain radar, weather forecast, etc. written in Python

Weather Clock for Raspberry PI This project is a dashboard for Raspberry Pi to display environmental weather data, rain radar, weather forecast, etc.

Markus Geiger 1 May 01, 2022
A python module for interacting with rolimon's, a roblox value site.

rpi - rolimon's python interaction rpi is an open source python-based rolimon's api wrapper. It provides an end-to-end pipeline in which each componen

Acier 11 Nov 08, 2022
Home Assistant custom components MPK-Lodz

MPK Łódź sensor This sensor uses unofficial API provided by MPK Łódź. Configuration options Key Type Required Default Description name string False MP

Piotr Machowski 3 Nov 01, 2022
Hotplugger: Real USB Port Passthrough for VFIO/QEMU!

Hotplugger: Real USB Port Passthrough for VFIO/QEMU! Welcome to Hotplugger! This app, as the name might tell you, is a combination of some scripts (py

DARKGuy (Alemar) 66 Nov 24, 2022
Quasi-static control of the centroid of quadruped robot

Quasi-static control of quadruped robot   This is a demo of the quasi-static controller for the centroid of the quadruped robot. The Quadratic Program

Junwen Cui 21 Dec 12, 2022
A Fast, Easy, and User Friendly way to control Robotics Actuators.

T-Motor Controller A Fast, Easy, and User Friendly way to control Robotics Actuators. View Demo · Report Bug · Request Feature Table of Contents About

26 Aug 23, 2022
Automate gate/garage door opening via 433.92MHz emitter with Raspberry Pi, Home Assistant and Homekit.

Automate opening your garage door / gate Summary This project sums up how I automated opening my garage door using a Raspberry PI, a 433Mhz emitter, H

Julien Fouilhé 29 Nov 30, 2022
FHEM Connector for FHT Heating devices

home-assistant-fht from: https://github.com/Rsclub22 FHEM Connector for FHT Heating devices (connected via FHEM) Requires FHEM to work You can find FH

5 Dec 01, 2022
Example code to sending USB Gadget multimedia keys via Python

Send Multimedia USB HID Keys via Python As an USB Gadget in Linux This gives a simple script with zero dependencies that can easily run on any Linux d

DevOps Nirvana 2 Jan 02, 2023
Python implementation of ZMP Preview Control approach for biped robot control.

ZMP Preview Control This is the Python implementation of ZMP Preview Control app

Chaobin 24 Dec 19, 2022
Using a GNSS module (Beidou + GPS) and the mapquest static map API

Using a GNSS module (Beidou + GPS) and the mapquest static map API

Kongduino 1 Nov 04, 2021
Small Robot, with LIDAR and DepthCamera. Using ROS for Maping and Navigation

🤖 RoboCop 🤖 Small Robot, with LIDAR and DepthCamera. Using ROS for Maping and Navigation Made by Clemente Donoso, 📍 Chile 🇨🇱 RoboCop Lateral Fron

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

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

wwy 349 Jan 03, 2023
Hook and simulate global mouse events in pure Python

mouse Take full control of your mouse with this small Python library. Hook global events, register hotkeys, simulate mouse movement and clicks, and mu

BoppreH 722 Dec 31, 2022
Hook and simulate global keyboard events on Windows and Linux.

keyboard Take full control of your keyboard with this small Python library. Hook global events, register hotkeys, simulate key presses and much more.

BoppreH 3.2k Dec 30, 2022
2021 Real Robot Challenge Phase2 attemp

Real_Robot_Challenge_Phase2_AE_attemp We(team name:thriftysnipe) are the first place winner of Phase1 in 2021 Real Robot Challenge. Please see this pa

Qiang Wang 2 Nov 15, 2021
Micro Displays for Raspberry Pi

micro-displays Micro Displays for Raspberry Pi Why? I'm super bored in lockdown. Add a Raspberry Pi 400 and a few tiny displays... The top half of the

ig 291 Jul 06, 2022
Various programs in Atari BASIC for #FujiNet for Atari 8-bit

FujiNet Various programs in Atari BASIC for #FujiNet for Atari 8-bit FujiNet-3D Tic Tac Toe In 1978, Scott Adams wrote a 3-D Tic Tac Toe game, for pla

Kay Savetz 2 Jan 01, 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
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