Conclusions

Good

  • Rate control
  • Run-time Plotting Tool
  • Quaternion Attitude
    • Theta Multiplier with Quaternion Vector Balancing
    • Decomposing a Quaternion
    • Quaternion to Moment Conversion
  • Quaternion-Based
    • PID/SMO State Estimation
    • PID/SMC Control
  • Sliding Mode Controller**

Less Good

  • Experimental Attitude Control
    • Actuators
    • CSS, Three-Axis Magnetometer

TSatPy

  • Quaternion Multiplicative Corrections: Ensures numerical stability in rotating systems
  • Adaptive Step Algorithms: Corrects for inconsistent step sizes in simulations or experiments
  • Quaternion Decomposition: Decouples rotation and nutation control
  • Theta Multiplier with Quaternion Vector Balancing: Linearly scales quaternion attitude measures used in state corrections without violating the unit quaternion restriction
  • Euler Axis Based Moments: Utilizes the quaternion's Euler axis and angular displacement to calculate linearly scaled control moments

 

  • Concurrent Estimation/Control Algorithms: Evaluates multiple estimation and control methods
  • "Run-time" interface: Enables access and visualization of the internal state of the control system during a test or simulation
  • Variable System Clock: Alters the speed of simulations to compress long simulations or inspect state changes is slow motion
  • Python: Written in a widely used and expressive language that is easy to learn, comes with "batteries-included", and is viable for high performance applications.
  • Modular Design: Additional estimation or control algorithms or system models can be written and plugged into the existing system
  • Source Agnostic Control System: Observer-based controller logic can be reused to control a variety of rotating system (simulated and physical)
  • MIT License: Software will be released publicly on acceptance of this thesis under as MIT License

Future Work

  • Release the source code at https://github.com/MathYourLife under an MIT license.
  • Port the tPlot library from MATLAB to Python for enhanced visualizations
  • Investigate use of coarse sun sensors for nutation detection.
  • Develop a better filtering method such as an extended kalman filter.
  • Improve the gradient descent algorithm for parameter tuning.
  • Modify the Actuator module to operate pneumatic thrusters and calculate pulse width modulations instead of continuous variable voltages.
  • Complete the configuration of the python ADCS "twisted" daemon to open a RESTful API interface to query the system's state.
  • Upgrade the three-axis magnetometer nutation to one with a less noisy sensor readings.
  • Port the ADCS to a lighter test platform with less friction.
  • Investigate with estimator and/or controller scheduling.
  • Improve the unit test coverage on the TSatPy library.

In [ ]: