Defines the base class of online zero delay observers. Zero delay observers are the classical state observers where input and state values at instant k and the measurement value at instant k+1 are enough to provide the estimation of the state at instant k+1. This class mostly defines the data structures for storing the vectors, it describes the set routines and the observation loop mechanism. It requires to be derviated to implement the new oneStepEstimation_() method.
More...
|
| ZeroDelayObserver (Index n, Index m, Index p=0) |
|
| ZeroDelayObserver () |
| Default constructor (default values for n,m,p are zero) More...
|
|
virtual | ~ZeroDelayObserver () |
| Destructor. More...
|
|
virtual void | setState (const ObserverBase::StateVector &x_k, TimeIndex k) |
| Set the value of the state vector at time index k. More...
|
|
virtual void | setCurrentState (const ObserverBase::StateVector &x_k) |
| Modify the value of the state vector at the current time. More...
|
|
virtual void | clearStates () |
| Removes the state estimation. More...
|
|
bool | stateIsSet () const |
| Returns if the state is set or not. The state being set is mandatory to start the estimator. More...
|
|
virtual void | setMeasurement (const ObserverBase::MeasureVector &y_k, TimeIndex k) |
|
virtual void | pushMeasurement (const ObserverBase::MeasureVector &y_k) |
| Sets the measurement value at the next time index. More...
|
|
virtual void | clearMeasurements () |
| Remove all the given values of the measurements. More...
|
|
virtual void | setInput (const ObserverBase::InputVector &u_k, TimeIndex k) |
|
virtual void | pushInput (const ObserverBase::InputVector &u_k) |
| Set the input value at the next time indext. More...
|
|
virtual void | clearInputs () |
|
virtual void | clearInputsAndMeasurements () |
| Remove all the given values of the inputs and measurements. More...
|
|
virtual TimeIndex | estimateState () |
| run the observer until the measurement vector is depleted. More...
|
|
virtual ObserverBase::StateVector | getEstimatedState (TimeIndex k) |
| getestimated State More...
|
|
virtual ObserverBase::StateVector | getCurrentEstimatedState () const |
| Get the Current Estimated State. More...
|
|
virtual TimeIndex | getCurrentTime () const |
| Get the value of the time index of the current state estimation. More...
|
|
Vector | getInput (TimeIndex k) const |
| Get the value of the input of the time index k. More...
|
|
virtual TimeSize | getInputsNumber () const |
| Get the number of available inputs. More...
|
|
virtual TimeIndex | getInputTime () const |
| Get the time index of the last given input. More...
|
|
Vector | getMeasurement (TimeIndex k) const |
| Get the measurement of the time index k. More...
|
|
virtual TimeIndex | getMeasurementTime () const |
| Get the time index of the last given measurement. More...
|
|
virtual TimeSize | getMeasurementsNumber () const |
| Gets the number of regitered measurements. More...
|
|
virtual void | setStateSize (Index n) |
| changes the size of the state vector: resets the stored state vector More...
|
|
virtual void | setMeasureSize (Index m) |
| changes the size of the measurement vector: reset the stored measurement vectors More...
|
|
virtual void | setInputSize (Index p) |
| changes the size of the input vector: reset the stored input vectors More...
|
|
| ObserverBase (Index n, Index m, Index p=0) |
|
| ObserverBase () |
| default constructor (default values for n,m,p are zero) More...
|
|
virtual | ~ObserverBase () |
| Destructor. More...
|
|
virtual Index | getStateSize () const |
| gets the size of the state vector More...
|
|
virtual Index | getMeasureSize () const |
| gets the size of the measurement vector More...
|
|
virtual Index | getInputSize () const |
| gets the size of the input vector More...
|
|
virtual void | reset () |
|
virtual StateVector | stateVectorConstant (double c) const |
|
virtual StateVector | stateVectorRandom () const |
| Gives a vector of state vector size having random values. More...
|
|
virtual StateVector | stateVectorZero () const |
| Gives a vector of state vector size having zero values. More...
|
|
virtual bool | checkStateVector (const StateVector &v) const |
| Tells whether or not the vector has the dimensions of a state vector. More...
|
|
virtual MeasureVector | measureVectorConstant (double c) const |
| Gives a vector of measurement vector size having duplicated "c" value. More...
|
|
virtual MeasureVector | measureVectorRandom () const |
| Gives a vector of measurement vector size having random values. More...
|
|
virtual MeasureVector | measureVectorZero () const |
| Gives a vector of measurement vector size having zero values. More...
|
|
virtual bool | checkMeasureVector (const MeasureVector &) const |
| Tells whether or not the vector has the dimensions of a measurement vector. More...
|
|
virtual InputVector | inputVectorConstant (double c) const |
| Gives a vector of input vector size having duplicated "c" value. More...
|
|
virtual InputVector | inputVectorRandom () const |
| Gives a vector of input vector size having random values. More...
|
|
virtual InputVector | inputVectorZero () const |
| Gives a vector of input vector size having zero values. More...
|
|
virtual bool | checkInputVector (const InputVector &) const |
| Tells whether or not the vector has the dimensions of a input vector. More...
|
|
Defines the base class of online zero delay observers. Zero delay observers are the classical state observers where input and state values at instant k and the measurement value at instant k+1 are enough to provide the estimation of the state at instant k+1. This class mostly defines the data structures for storing the vectors, it describes the set routines and the observation loop mechanism. It requires to be derviated to implement the new oneStepEstimation_() method.
getestimated State
- Parameters
-
k | The time index of the expected state value |
- Returns
- ObserverBase::StateVector
If k is equal to the current time k_0, this will give the value of the last state/estimate.
If k is larger than the current time k_0, this will run the observer loop and get the state estimation of the state at instant k.
In order to estimate the state k, two conditions have to be met:
- the time index k must be superior or equal to the current time k_0, the estimator does not record past values of the state and cannot observe past states.
- the observer has to be able to reconstruct all the state values from k_0 to k. That means all the measurements or input values reauired have to be provided before.
That means generally (for most zero delay observers) that when current time is k_0 (we know an estimation of x_{k_0}) and we want to reconstruct the state at time k>k_0 we need to have the values of y_{k_0+1} to y_{k} and u_{k_0} to u_{k-1} (or u_{k} depending on the measure dynamics)
This method sets the current time to k
Implements stateObservation::ObserverBase.