#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) ).
are the geodetic latitude, longitude, and height above ellipsoid
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. |
1.3.9.1