|
| | DCM () |
| | Default constructor generates DCM as an identity matrix.
|
| | DCM (const floating_point(&initial)[3][3]) |
| | DCM (const DCM &initial) |
| | DCM (const std::array< std::array< floating_point, 3 >, 3 > &initial) |
| | ~DCM () |
| int16 | inverse (DCM &result) const |
| | Function to return the inverse of the matrix.
|
| DCM | inverse () const |
| void | rate (const CartesianVector< 3 > &omega_f1_f2__f1, Matrix< 3, 3 > &dcmdot_f1_f2) |
| | Function to calculate the rate of change in the current representation based on the omega vector.
|
| int16 | toEuler321 (Euler321 &euler_f1_f2) const |
| | Function to convert current attitude to 321 Euler sequence.
|
| Euler321 | toEuler321 () |
| int16 | toQuaternion (Quaternion &q_f1_f2) const |
| | Overloaded functions to convert current attitude to quaternion.
|
| Quaternion | toQuaternion () |
| int16 | toMRP (MRP &mrp_f1_f2) const |
| | Overloaded functions to convert current attitude to MRP.
|
| MRP | toMRP () |
| | Matrix () |
| | Default constructor to initialize a matrix to all zeroes for ease of use.
|
| | ~Matrix () |
| int16 | str (char *output, size_t size) const |
| | Function to dump information on matrix.
|
| int16 | fromStr (const char *val) |
| | Set value of matrix from string in same format as str().
|
| int16 | set (uint32 row, uint32 col, const floating_point &value) |
| | Function to set a single value in the matrix.
|
| int16 | get (uint32 row, uint32 col, floating_point &result) const |
| | Function to get a single value in the matrix.
|
| void | setFromArray (const floating_point *start_ptr, bool column_major=false) |
| | Function to set the values of the matrix row-wise.
|
| void | getAsArray (floating_point *start_ptr, bool column_major=false) const |
| | Function to get the values of the matrix row-wise.
|
| void | getCopy (Matrix< R, C > &result) const |
| | Function to get a copy of the matrix.
|
| Matrix< R, C > & | operator= (const Matrix< R, C > &other) |
| | Equals operator overload for matrix.
|
| floating_point * | operator[] (uint32 idx) |
| | Function to return a matrix row or vector value.
|
| std::pair< uint32, uint32 > | size () const |
| | Function to get the size of the matrix.
|
| void | max (floating_point &result, std::pair< uint32, uint32 > &index) const |
| | Function to return the maximum value in the matrix.
|
| void | min (floating_point &result, std::pair< uint32, uint32 > &index) const |
| | Function to return the minimum value in the matrix.
|
| int16 | det (floating_point &result) const |
| | Function to return the determinant of the matrix.
|
| int16 | chol (Matrix< R, C > &retval) const |
| | Take the cholesky decomposition of this matrix.
|
| int16 | inverse (Matrix< R, C > &result) const |
| | Function to return the inverse of the matrix.
|
| int16 | pseudoinverse (Matrix< C, R > &result) const |
| void | transpose (Matrix< C, R > &result) const |
| | Function to return the transpose of the matrix.
|
| int16 | trace (floating_point &result) const |
| | Function to return the trace of the matrix.
|
| void | setToZeros () |
| | Function to set all elements of the matrix to zero.
|
| int16 | identity () |
| | Function to set matrix to identity, if it is a square matrix.
|
| int16 | eye () |
Class defining a direction cosine matrix inherited from Matrix.
This file defines a simple DCM attitude representation for cartesian coordinate systems. It is largely the same as the base matrix class, with the following exceptions:
- Set to be square, 3x3 (that's where it will primarily be used)
- Default constructor is identity matrix, rather than zeroes
- Inverse is set to account for orthogonal matrix
- Functions defined to convert to other attitude
- Function defined to calculate rate of change as a function of omega
Naming conventions
- All naming conventions and equations are per Analytical Mechanics of Space Systems by Schaub and Junkins
- The omega vector is sometimes denoted by w and assumed frame consistent with the attitude representation. For example, if a DCM represents the relative orientation between two frames [BN] the omega vector is assumed to be w_(B/N)
- The naming convention for all vectors is: variablename_obj1_obj2__frameN (note the double underscore preceding frame) and reads back as: "variable variablename representing the relationship between obj1 and obj2
represented in frameN"
- Unless otherwise noted angles are in RADIANS NOTE: All attitude representations, including DCMs, are assumed to represent a three dimensional, cartesian coordinate system because that is what they are used, and in many cases defined, for.