8. Attitude Determination, Control, and Sensing
ADCS Software Lab: Detumbling Simulation using Magetorquers and Bdot Control
Purpose
- Simulate the dynamics and controls of a cubesatellite tumbling during an orbit
- Analyze performance of Bdot controller subject to simulation input parameters, which represent spacecraft ADCS design
Background and Key Concepts to Consider
Application of: 8.5. Dynamics, 8.6. Sensing, and 8.8 Control
Artemis CubeSat Kit Specific
Artemis CubeSat Kit description of the ADCS system:
- Embedded torque coils within 4 solar panels that span 2 degrees of freedom
- IMU that integrates magnetometer, gyroscope, and accelerometer
- GPS
Required Materials & Setup
- Artemis CubeSat Pointing Budget in Google Sheets/Excel
- Artemis CubeSat Kit Detumbling Simulation Github: https://github.com/hsfl/artemis-detumbling-simulator
- MATLAB, version beyond 2020a
- A student license with default toolboxes + “Aerospace” and “Mapping” Toolboxes
Procedure
Navigate to the directory in which you’ve stored the detumbling simulation scripts.
Open up and modify the matlab main script to match the characteristics of your magnetorquer, magnetometer, IMU, satellite geometry, and orbit.
For Section A of the code, modify the input parameters (bolded) that represent the characteristics of your spacecraft’s magnetorquer. The following code snippet represents the Artemis CubeSat’s embedded torque coils:
For Section B of the code, modify the input parameters (bolded) that represent the characteristics of your spacecraft’s magnetometer. The following code snippet represents the Artemis CubeSat’s magnetometer, taken from the lis3mdl datasheet:
For Section C of the code, modify the input parameters (bolded) that represent the characteristics of your spacecraft’s mass. The following code snippet represents the Artemis CubeSat’s mass:
There’s a section of the code called “Orbit Related Parameters”. Modify the input parameters (bolded) that represent the characteristics of your spacecraft’s orbit. The following code snippet represents the Artemis CubeSat’s orbit:
There’s a section of the code called “Detumble Algorithm Related Parameters”. Modify the input parameters (bolded) that define the initial conditions of your spacecraft, desired spin rate after detumbling, and control policy parameters. The following code snippet represents the Artemis CubeSat’s orbit:
Once you modify these parameters to represent your system, press Run. Expect to wait up to 5 minutes for 10 orbits of propagation. It’s ok to see a warning about the deprecated IGRF model.
The most important plots that we want to generate are about angular rates. We want to see that angular rates go to 0 deg/s and we want to record how much time the spacecraft needs to achieve convergence. In the case of the Artemis CubeSat, the cubesat detumbles after 5.2 orbits or 8 hours. This is important to incorporate into our power budget.
Zooming into the tail end of the angular rate profile, the satellite is able to detumble down to ~.1 deg/s. The result of this simulation analysis is that the satellite still spins very very slowly but could feasibly stay nadir pointing during a ground pass. To be safe, the Artemis CubeSat Kit leverages an omnidirectional antenna because the ADCS subsystem cannot guarantee pointing stability.