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

DefaultObserver Class Reference

#include <DefaultObserver.h>

Inheritance diagram for DefaultObserver:

Inheritance graph
[legend]
Collaboration diagram for DefaultObserver:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 DefaultObserver ()
 DefaultObserver (Whorl *ptr_whorl)
 ~DefaultObserver ()
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
map< string, RateGyro * > m_rateGyros
string m_rateGyroNames [3]
Measurement m_measurements [3]

Constructor & Destructor Documentation

DefaultObserver::DefaultObserver  )  [inline]
 

Constructor

Definition at line 30 of file DefaultObserver.h.

DefaultObserver::DefaultObserver Whorl ptr_whorl  )  [inline]
 

Definition at line 31 of file DefaultObserver.h.

References Initialize(), and m_whorl.

DefaultObserver::~DefaultObserver  )  [inline]
 

Destructor

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

Initialize the filter

Implements Observer.

Definition at line 23 of file DefaultObserver.cpp.

References ekf, Euler_Fmatrix(), Euler_Hmatrix(), Euler_measurementRHSFunc(), Euler_Qmatrix(), Euler_Rmatrix(), Euler_stateRHSFunc(), O_SESSAME::Matrix, KalmanFilter::SetCovarianceMatrix(), KalmanFilter::SetKalmanGainMatrix(), KalmanFilter::SetMeasurementCovarianceMatrix(), KalmanFilter::SetMeasurementJacobianMatrix(), ExtendedKalmanFilter::SetMeasurementRHS(), KalmanFilter::SetStateJacobianMatrix(), ExtendedKalmanFilter::SetStateRHS(), and KalmanFilter::SetSystemProcessNoiseMatrix().

Referenced by DefaultObserver(), and main().

int DefaultObserver::Run  )  [virtual]
 

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

Implements Observer.

Definition at line 51 of file DefaultObserver.cpp.

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

Referenced by main().


Member Data Documentation

ExtendedKalmanFilter DefaultObserver::ekf [private]
 

Definition at line 54 of file DefaultObserver.h.

Referenced by Initialize(), and Run().

Measurement DefaultObserver::m_measurements[3] [private]
 

Definition at line 58 of file DefaultObserver.h.

Referenced by Run().

string DefaultObserver::m_rateGyroNames[3] [private]
 

Definition at line 57 of file DefaultObserver.h.

map<string, RateGyro*> DefaultObserver::m_rateGyros [private]
 

Definition at line 56 of file DefaultObserver.h.

Whorl* DefaultObserver::m_whorl [private]
 

Definition at line 55 of file DefaultObserver.h.

Referenced by DefaultObserver(), and Run().


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