Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages | Examples

AttitudeObserver Class Reference

#include <AttitudeObserver.h>

Inheritance diagram for AttitudeObserver:

Inheritance graph
[legend]
Collaboration diagram for AttitudeObserver:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 AttitudeObserver ()
 AttitudeObserver (Whorl *ptr_whorl)
 ~AttitudeObserver ()
int Initialize ()
int Run ()
Vector AccelerationCorrection (Vector _angularAcceleration, Vector _angularRates, Vector _accelerationMeasurement, Vector _vectorCM)
 Correction of the accelerometer reading, so that it reads acceleration due to gravity only. In order to do this we calculate the acceleration due to rotation from the rate gyros adn subtract from the acceleration measurement.

Private Attributes

Vector m_b
ExtendedKalmanFilter ekf
Whorlm_whorl
Measurement m_measurements [3]

Constructor & Destructor Documentation

AttitudeObserver::AttitudeObserver  )  [inline]
 

Constructor

Definition at line 31 of file AttitudeObserver.h.

AttitudeObserver::AttitudeObserver Whorl ptr_whorl  )  [inline]
 

Definition at line 32 of file AttitudeObserver.h.

References Initialize(), and m_whorl.

AttitudeObserver::~AttitudeObserver  )  [inline]
 

Destructor

Definition at line 39 of file AttitudeObserver.h.


Member Function Documentation

Vector Observer::AccelerationCorrection Vector  _angularAcceleration,
Vector  _angularRates,
Vector  _accelerationMeasurement,
Vector  _vectorCM
[inherited]
 

Correction of the accelerometer reading, so that it reads acceleration due to gravity only. In order to do this we calculate the acceleration due to rotation from the rate gyros adn subtract from the acceleration measurement.

\[\ddot{ \vec{r}}_{\text{Gravity Vector}} = \ddot{\vec{r}}_{\text{Measurement}} - \ddot{\vec{r}}_{\text{offset}} \]

\[\ddot{\vec{r}}_{\text{offset}} = \dot{\vec{\omega}}^x \vec{r} + 2 \vec{\omega}^x \vec{\omega}^x \vec{r} \]

Parameters:
_angularAcceleration is the angular acceleration in the body frame of the simulator with units of rad/s^2.
_angularRates is the angular rates in the body frame of the simulator with units of rad/s.
_accelerationMeasurement is the measurement of the acceleration from the MotionPak before being corrected due to offset with units of m/s^2.
_vectorCM is the position of the sensor with respect to teh center of rotation of the air-bearing platform with units of m.

Definition at line 34 of file Observer.cpp.

References O_SESSAME::skew(), and O_SESSAME::Vector.

Referenced by triadObserver::Run().

int AttitudeObserver::Initialize  )  [virtual]
 

Initialize the filter

Implements Observer.

Definition at line 24 of file AttitudeObserver.cpp.

References Att_Fmatrix(), Att_Hmatrix(), Att_measurementRHSFunc(), Att_Qmatrix(), Att_Rmatrix(), Att_stateRHSFunc(), ekf, Measurement::GetAsDouble(), Sensor::GetMeasurement(), Whorl::GetRateGyro(), m_b, m_whorl, O_SESSAME::Matrix, KalmanFilter::SetCovarianceMatrix(), KalmanFilter::SetKalmanGainMatrix(), KalmanFilter::SetMeasurementCovarianceMatrix(), KalmanFilter::SetMeasurementJacobianMatrix(), ExtendedKalmanFilter::SetMeasurementRHS(), KalmanFilter::SetStateJacobianMatrix(), ExtendedKalmanFilter::SetStateRHS(), KalmanFilter::SetSystemProcessNoiseMatrix(), and O_SESSAME::Vector.

Referenced by AttitudeObserver().

int AttitudeObserver::Run  )  [virtual]
 

Run is the funtion that implements the estimator in the derived class Filter

Implements Observer.

Definition at line 63 of file AttitudeObserver.cpp.

References _, ekf, ExtendedKalmanFilter::EstimateState(), Measurement::GetAsDouble(), Whorl::GetControl(), Sensor::GetMeasurement(), Whorl::GetOmegaBL(), Whorl::GetParameter(), Whorl::GetQuaternion(), Whorl::GetRateGyro(), SequentialFilter::GetStateVector(), Measurement::GetTime(), Whorl::GetTimeOfEstimate(), m_b, m_measurements, m_whorl, SequentialFilter::SetControlVector(), SequentialFilter::SetMeasurementVector(), SequentialFilter::SetParameterVector(), Whorl::SetState(), SequentialFilter::SetStateVector(), Whorl::SetTimeOfEstimate(), SequentialFilter::SetTimeOfEstimate(), SequentialFilter::SetTimeOfMeasurements(), and O_SESSAME::Vector.


Member Data Documentation

ExtendedKalmanFilter AttitudeObserver::ekf [private]
 

Definition at line 56 of file AttitudeObserver.h.

Referenced by Initialize(), and Run().

Vector AttitudeObserver::m_b [private]
 

Definition at line 55 of file AttitudeObserver.h.

Referenced by Initialize(), and Run().

Measurement AttitudeObserver::m_measurements[3] [private]
 

Definition at line 58 of file AttitudeObserver.h.

Referenced by Run().

Whorl* AttitudeObserver::m_whorl [private]
 

Definition at line 57 of file AttitudeObserver.h.

Referenced by AttitudeObserver(), Initialize(), and Run().


The documentation for this class was generated from the following files:
Generated on Wed Sep 5 12:54:37 2007 for DSACSS Operational Code by  doxygen 1.3.9.1