|
| | MRP () |
| | Default constructor initializes to all zeroes.
|
| | MRP (const floating_point(&initial)[3]) |
| | MRP (const MRP &initial) |
| | MRP (const std::array< floating_point, 3 > &initial) |
| | ~MRP () |
| void | shadow () |
| | Function to convert current MRP to its shadow set.
|
| void | rate (const CartesianVector< 3 > &omega_f1_f2__f1, Matrix< 3, 1 > &mrpdot_f1_f2) |
| | Function to calculate the rate of change in the current representation based on the omega vector.
|
| int16 | toDCM (DCM &dcm_f1_f2) const |
| | Function to convert current attitude to DCM.
|
| DCM | toDCM () const |
| int16 | toQuaternion (Quaternion &quat_f1_f2) const |
| | Function to convert current attitude to Quaternion.
|
| Quaternion | toQuaternion () const |
| | CartesianVector () |
| | ~CartesianVector () |
| floating_point & | operator[] (uint32 idx) |
| | Function to return a vector value.
|
| int | set (uint32 idx, floating_point value) |
| | Setter specific to the vector class.
|
| int | get (uint32 idx, floating_point &result) const |
| | Getter specific to the vector class.
|
| int16 | norm (floating_point &result) const |
| | Function to take the norm of a vector.
|
| int16 | normSquared (floating_point &result) const |
| | Function to take the squared norm of a vector.
|
| int16 | unit (CartesianVector< L > &result) const |
| | Function to return the unitized version of the vector.
|
| int16 | unitize () |
| | Function to unitize the current vector.
|
| int16 | normalize () |
| | Function to unitize the current vector.
|
| | 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 () |
Modified Rodrigues Parameter class definiton.
This file defines a simple Modified Rodrigues Parameter attitude representation for cartesian coordinate systems. It is largely the same as the base vector, with the following exceptions:
- Set to be 3 elements
- Functions defined to convert to other attitude representations
- Function defined to calculate rate of change as a function of omega
- Function defined to convert to shadow set of MRPs
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.