#include <COENaaszController.h>
Inheritance diagram for COENaaszController:
Public Member Functions | |
COENaaszController () | |
Constructors. | |
COENaaszController (Whorl *ptr_whorl) | |
virtual | ~COENaaszController () |
Destructor. | |
int | Run () |
int | Initialize () |
Vector | Gains (Vector ECI, Vector VECI, Vector eHAT, double dt) |
Determination of Feedback Control Gains based on Naasz and Hall. | |
Vector | COENaasz (Vector ECI, Vector VECI, Vector de, Vector eHAT, Vector gains, double tru) |
Classical Orbit Element Controller using mean orbit elements Based on Naasz and Hall [Current State - Desired State] = de = [d(a) de di dOmega domega dM0). | |
CAMdoubleMatrix | DirectionCosMatrix1Axis (double _angle) |
Direction Cosine Matrix about the 1 axis. | |
CAMdoubleMatrix | DirectionCosMatrix2Axis (double _angle) |
Direction Cosine Matrix about the 2 axis. | |
CAMdoubleMatrix | DirectionCosMatrix3Axis (double _angle) |
Direction Cosine Matrix about the 3 axis. | |
CAMdoubleVector | WGS2ECEFPosition (double _latitude, double _longitude, double _altitude) |
Convert from WGS84 ( latitude (rad), longitude (rad), altitude (m) ) to ECEF poisiton (m) ). | |
CAMdoubleVector | NED2ECEFVelocity (double _latitude, double _longitude, double _altitude, double _velocityNorth, double _velocityEast, double _velocityDown) |
Convert from NED velocity (m/s) to ECEF velocity (m/s). | |
CAMdoubleVector | WGS842ECEF (double _latitude, double _longitude, double _altitude, double _velocityNorth, double _velocityEast, double _velocityDown) |
Convert from WGS84 ( latitude (rad), longitude (rad), altitude (m) ) to ECEF poisiton (m) and velocity (m/s). | |
CAMdoubleVector | ECEFPosition2WGS84 (double _x, double _y, double _z) |
Convert from ECEF position (m) to WGS84 ( latitude (rad), longitude (rad), altitude (m) ). | |
CAMdoubleVector | ECEF2NEDVelocity (double _latitude, double _longitude, double _altitude, double _Vx, double _Vy, double _Vz) |
Convert from ECEF velocity (m/s) to NED velocity (m/s). | |
CAMdoubleVector | ECEF2WGS84 (double _x, double _y, double _z, double _Vx, double _Vy, double _Vz) |
Convert from ECEF position (m) and velocity (m/s) to WGS84 ( latitude (rad), longitude (rad), altitude (m) ). | |
CAMdoubleVector | ECEF2ECI (CAMdoubleVector _ECEFVector, double _jDay) |
Convert from ECEF position (m) and velocity (m/s) to ECI position (m) and velocity (m/s). | |
CAMdoubleVector | ECI2ECEF (CAMdoubleVector _ECIVector, double _jDay) |
Convert from ECI position (m) and velocity (m/s) to ECEF position (m) and velocity (m/s). | |
double | lat_lon (double latlon, char sector) |
Convert Latitude and Longitude in the form of DEG 'N/S' 'E/W' to +/-RAD. | |
void | TangentPlaneState (AshtechG12_GPS_PhysicalDevice::Position recPos, CAMdoubleVector &_WGS84Vector) |
Determine Tangent Plane Velocities (North, East, Down) (m/s). | |
Vector | thruster (Vector udesired) |
Thruster Logic Routine. | |
void | cals (Vector ECI, Vector VECI, double a, double &H, double &p, double &b, double &r) |
Calculate h, p, b, and r. | |
void | ECI2COE (Vector ECI, Vector VECI, Keplerian &myCOE, double &a, double &e, double &i, double &Lon, double &Arg, double &tru) |
Protected Attributes | |
Vector | m_Gains |
ssfTime | m_initialTime |
AccelerationMessage * | accelerationVector |
Whorl * | m_whorl |
Member object in Controller Class. | |
int | m_vehicleID |
double | m_duration |
double | m_mass |
ssfTime | m_vehicleTime |
AccelerationMessage * | m_accelerationVector |
|
Constructors.
Definition at line 15 of file COENaaszController.cpp. |
|
Definition at line 19 of file COENaaszController.cpp. References Initialize(). |
|
Destructor.
Definition at line 27 of file COENaaszController.cpp. |
|
Calculate h, p, b, and r.
Definition at line 385 of file OrbitController.cpp. References O_SESSAME::crossP(), O_SESSAME::norm2(), and O_SESSAME::Vector. Referenced by COENaasz(), and Gains(). |
|
Classical Orbit Element Controller using mean orbit elements Based on Naasz and Hall [Current State - Desired State] = de = [d(a) de di dOmega domega dM0).
Definition at line 196 of file COENaaszController.cpp. References OrbitController::cals(), OrbitController::thruster(), and O_SESSAME::Vector. Referenced by Run(). |
|
Direction Cosine Matrix about the 1 axis.
Definition at line 27 of file OrbitController.cpp. Referenced by OrbitController::ECEF2NEDVelocity(), and OrbitController::NED2ECEFVelocity(). |
|
Direction Cosine Matrix about the 2 axis.
Definition at line 43 of file OrbitController.cpp. Referenced by OrbitController::ECEF2NEDVelocity(), and OrbitController::NED2ECEFVelocity(). |
|
Direction Cosine Matrix about the 3 axis.
Definition at line 59 of file OrbitController.cpp. Referenced by OrbitController::ECEF2ECI(), OrbitController::ECEF2NEDVelocity(), OrbitController::ECI2ECEF(), and OrbitController::NED2ECEFVelocity(). |
|
Convert from ECEF position (m) and velocity (m/s) to ECI position (m) and velocity (m/s). _ECEFVector [x, y, z, Vx, Vy, Vz] (m & m/s)
Determine thetaGMST Derivative of rotation matrix (R3) Definition at line 257 of file OrbitController.cpp. References _, OrbitController::DirectionCosMatrix3Axis(), and PI. |
|
Convert from ECEF velocity (m/s) to NED velocity (m/s).
Definition at line 216 of file OrbitController.cpp. References _, OrbitController::DirectionCosMatrix1Axis(), OrbitController::DirectionCosMatrix2Axis(), OrbitController::DirectionCosMatrix3Axis(), and PI. Referenced by OrbitController::ECEF2WGS84(). |
|
Convert from ECEF position (m) and velocity (m/s) to WGS84 ( latitude (rad), longitude (rad), altitude (m) ).
Definition at line 242 of file OrbitController.cpp. References _, OrbitController::ECEF2NEDVelocity(), and OrbitController::ECEFPosition2WGS84(). |
|
Convert from ECEF position (m) to WGS84 ( latitude (rad), longitude (rad), altitude (m) ).
![]()
Definition at line 164 of file OrbitController.cpp. References f(). Referenced by OrbitController::ECEF2WGS84(). |
|
|
|
Convert from ECI position (m) and velocity (m/s) to ECEF position (m) and velocity (m/s). _ECIVector [x, y, z, Vx, Vy, Vz] (m & m/s)
Determine thetaGMST Derivative of rotation matrix (R3) Definition at line 288 of file OrbitController.cpp. References _, and OrbitController::DirectionCosMatrix3Axis(). |
|
Determination of Feedback Control Gains based on Naasz and Hall.
Definition at line 157 of file COENaaszController.cpp. References OrbitController::cals(), and O_SESSAME::Vector. Referenced by Initialize(). |
|
Initializes the default controller Implements OrbitController. Definition at line 30 of file COENaaszController.cpp. References _, Gains(), Whorl::GetCOE(), Whorl::GetECI(), CAMdoubleVector::initialize(), m_Gains, m_initialTime, AccelerationMessage::ResetValues(), and O_SESSAME::Vector. Referenced by COENaaszController(). |
|
Convert Latitude and Longitude in the form of DEG 'N/S' 'E/W' to +/-RAD.
Definition at line 321 of file OrbitController.cpp. References O_SESSAME::Deg2Rad(). Referenced by OrbitController::TangentPlaneState(). |
|
Convert from NED velocity (m/s) to ECEF velocity (m/s).
Definition at line 108 of file OrbitController.cpp. References _, OrbitController::DirectionCosMatrix1Axis(), OrbitController::DirectionCosMatrix2Axis(), OrbitController::DirectionCosMatrix3Axis(), and PI. Referenced by OrbitController::WGS842ECEF(). |
|
Runs the default controller Implements OrbitController. Definition at line 98 of file COENaaszController.cpp. References _, COENaasz(), Whorl::GetCOE(), Whorl::GetECI(), O_SESSAME::ssfTime::GetSeconds(), m_Gains, m_initialTime, AccelerationMessage::SendAccelerationMessage(), Whorl::SetOrbitControl(), and O_SESSAME::Vector. |
|
Determine Tangent Plane Velocities (North, East, Down) (m/s).
Definition at line 334 of file OrbitController.cpp. References O_SESSAME::Deg2Rad(), OrbitController::lat_lon(), AshtechG12_GPS_PhysicalDevice::Position::m_altitude, AshtechG12_GPS_PhysicalDevice::Position::m_groundSpeed, AshtechG12_GPS_PhysicalDevice::Position::m_groundTrack, AshtechG12_GPS_PhysicalDevice::Position::m_latitude, AshtechG12_GPS_PhysicalDevice::Position::m_latitudeSector, AshtechG12_GPS_PhysicalDevice::Position::m_longitude, AshtechG12_GPS_PhysicalDevice::Position::m_longitudeSector, and AshtechG12_GPS_PhysicalDevice::Position::m_verticalVelocity. |
|
Thruster Logic Routine.
Definition at line 353 of file OrbitController.cpp. References A, O_SESSAME::norm2(), and O_SESSAME::Vector. Referenced by COENaasz(). |
|
Convert from WGS84 ( latitude (rad), longitude (rad), altitude (m) ) to ECEF poisiton (m) ).
Definition at line 77 of file OrbitController.cpp. References f(). Referenced by OrbitController::WGS842ECEF(). |
|
Convert from WGS84 ( latitude (rad), longitude (rad), altitude (m) ) to ECEF poisiton (m) and velocity (m/s).
Definition at line 133 of file OrbitController.cpp. References _, OrbitController::NED2ECEFVelocity(), and OrbitController::WGS2ECEFPosition(). |
|
Definition at line 52 of file COENaaszController.h. |
|
Definition at line 117 of file OrbitController.h. |
|
Definition at line 108 of file OrbitController.h. |
|
Definition at line 46 of file COENaaszController.h. Referenced by Initialize(), and Run(). |
|
Definition at line 49 of file COENaaszController.h. Referenced by Initialize(), and Run(). |
|
Definition at line 111 of file OrbitController.h. |
|
Definition at line 105 of file OrbitController.h. |
|
Definition at line 114 of file OrbitController.h. |
|
Member object in Controller Class.
Definition at line 102 of file OrbitController.h. |