priyatharsan / Attitude-Control-Module

A Python module to be used for attitude control. Supports a wide array of attitude description types

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Attitude-Control-Module

This attitude module is written to be a broadly useful way to perform simple attitude determination/kinematics/controls tasks in a python environment. For the most part, the module centers around the "att" class, which can take the form:

  • DCM
  • Euler Angles (3-1-3 and 3-2-1 well supported)
  • Principle Rotation Vectors
  • Quaternions
  • Classical Rodriguez Parameters
  • Modified Rodriguez Parameters

with the idea being that this module allows for easy translation from one type of attitude description to another, and includes a host of functions and methods that can apply to any of the types more or less equally.

Basic Arithmetic Functions

The module supports:

  • creation of a tilde (cross) matrix of a vector
  • addition of any two attitude descriptions (of any type with no transformation necessary)
  • subtraction of any two attitude descriptions (of any type with no transformation necessary)
  • attitude description "inversion"

Attitude Determination Functions

This module supports several different methods of determining a reference frame using two attitude measurements. These are:

  • TRIAD Method
  • Devenport's Q-Method
  • QUEST Method
  • OLAE (Batch LLS) Method

All of these are supported for each of the attitude types

Kinematics Functions

This module supports the differential kinematic equations for each of the supported attitude types in both rigid body and general body form. It also includes a built-in integrator that supports RK4 integration special considerations for attitude types such as Modified Rodriguez Parameter "shadow sets"

About

A Python module to be used for attitude control. Supports a wide array of attitude description types

License:MIT License


Languages

Language:Python 100.0%