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

atterrbiasObserver Class Reference

#include <atterrbiasObserver.h>

Inheritance diagram for atterrbiasObserver:

Inheritance graph
[legend]
Collaboration diagram for atterrbiasObserver:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 atterrbiasObserver ()
 atterrbiasObserver (Whorl *ptr_whorl)
 ~atterrbiasObserver ()
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

ExtendedKalmanFilter ekf
Whorlm_whorl
Measurement m_measurements [6]
Vector m_abstate
Vector m_qomstate
Vector m_newq
Vector m_control

Constructor & Destructor Documentation

atterrbiasObserver::atterrbiasObserver  )  [inline]
 

default constructor

Definition at line 27 of file atterrbiasObserver.h.

atterrbiasObserver::atterrbiasObserver Whorl ptr_whorl  )  [inline]
 

this is the constructor that actually gets called

Definition at line 30 of file atterrbiasObserver.h.

References Initialize(), and m_whorl.

atterrbiasObserver::~atterrbiasObserver  )  [inline]
 

default destructor

Definition at line 37 of file atterrbiasObserver.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 atterrbiasObserver::Initialize  )  [virtual]
 

this function sets up filter constants and initial conditions

Implements Observer.

Definition at line 24 of file atterrbiasObserver.cpp.

References ab_Fmatrix(), ab_Hmatrix(), ab_measurementRHSFunc(), ab_Qmatrix(), ab_Rmatrix(), ab_stateRHSFunc(), ekf, O_SESSAME::eye(), m_control, 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 atterrbiasObserver().

int atterrbiasObserver::Run  )  [virtual]
 

this is the function that gets called when you command myObserver.Observe()

Implements Observer.

Definition at line 51 of file atterrbiasObserver.cpp.

References _, ekf, ExtendedKalmanFilter::EstimateState(), Whorl::GetAccelerometer(), Measurement::GetAsDouble(), Sensor::GetMeasurement(), Whorl::GetRateGyro(), Whorl::GetState(), SequentialFilter::GetStateVector(), Measurement::GetTime(), Whorl::GetTimeOfEstimate(), m_abstate, m_control, m_measurements, m_qomstate, m_whorl, otimes(), SequentialFilter::SetControlVector(), SequentialFilter::SetMeasurementVector(), SequentialFilter::SetParameterVector(), Whorl::SetState(), SequentialFilter::SetStateVector(), Whorl::SetTimeOfEstimate(), SequentialFilter::SetTimeOfEstimate(), SequentialFilter::SetTimeOfMeasurements(), and O_SESSAME::Vector.


Member Data Documentation

ExtendedKalmanFilter atterrbiasObserver::ekf [private]
 

Definition at line 49 of file atterrbiasObserver.h.

Referenced by Initialize(), and Run().

Vector atterrbiasObserver::m_abstate [private]
 

Definition at line 52 of file atterrbiasObserver.h.

Referenced by Run().

Vector atterrbiasObserver::m_control [private]
 

Definition at line 55 of file atterrbiasObserver.h.

Referenced by Initialize(), and Run().

Measurement atterrbiasObserver::m_measurements[6] [private]
 

Definition at line 51 of file atterrbiasObserver.h.

Referenced by Run().

Vector atterrbiasObserver::m_newq [private]
 

Definition at line 54 of file atterrbiasObserver.h.

Vector atterrbiasObserver::m_qomstate [private]
 

Definition at line 53 of file atterrbiasObserver.h.

Referenced by Run().

Whorl* atterrbiasObserver::m_whorl [private]
 

Definition at line 50 of file atterrbiasObserver.h.

Referenced by atterrbiasObserver(), 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