Public Types | Public Member Functions | Static Public Member Functions | List of all members
corbo::ObserverInterface Class Referenceabstract

Interface class for observers. More...

#include <observer_interface.h>

Public Types

using OutputVector = Eigen::VectorXd
 
using Ptr = std::shared_ptr< ObserverInterface >
 
using StateVector = Eigen::VectorXd
 
using UPtr = std::unique_ptr< ObserverInterface >
 

Public Member Functions

virtual void getAvailableSignals (SignalTargetInterface &signal_target, const std::string &ns="") const
 Retrieve available signals from the observer. More...
 
virtual Ptr getInstance () const =0
 Return a newly created shared instance of the implemented class. More...
 
virtual int getOutputDimension () const =0
 Return the dimension of the supported plant output. More...
 
virtual int getStateDimension () const =0
 Return the dimension of the observed state. More...
 
virtual bool observe (const OutputVector &y, StateVector &x, const Duration &dt, const Time &t, SignalTargetInterface *signal_target=nullptr, const std::string &ns="")=0
 Perform actual observer step / state estimation. More...
 
virtual void reset ()
 Reset internal observer state and caches. More...
 
virtual ~ObserverInterface ()
 Virtual destructor. More...
 

Static Public Member Functions

static Factory< ObserverInterface > & getFactory ()
 Get access to the associated factory. More...
 

Detailed Description

Interface class for observers.

This class specifies methods that are required to be implemented by specific observers in order to allow their general utilization in a variety of control tasks.

An observer takes the measured plant output as input and computes an estimate of a complete system state (w.r.t. a system model).

Remarks
This interface is provided with factory support (ObserverFactory).
See also
NoObserver
Author
Christoph Rösmann (chris.nosp@m.toph.nosp@m..roes.nosp@m.mann.nosp@m.@tu-d.nosp@m.ortm.nosp@m.und.d.nosp@m.e)

Definition at line 58 of file observer_interface.h.

Member Typedef Documentation

◆ OutputVector

using corbo::ObserverInterface::OutputVector = Eigen::VectorXd

Definition at line 64 of file observer_interface.h.

◆ Ptr

Definition at line 61 of file observer_interface.h.

◆ StateVector

using corbo::ObserverInterface::StateVector = Eigen::VectorXd

Definition at line 63 of file observer_interface.h.

◆ UPtr

Definition at line 62 of file observer_interface.h.

Constructor & Destructor Documentation

◆ ~ObserverInterface()

virtual corbo::ObserverInterface::~ObserverInterface ( )
inlinevirtual

Virtual destructor.

Definition at line 67 of file observer_interface.h.

Member Function Documentation

◆ getAvailableSignals()

virtual void corbo::ObserverInterface::getAvailableSignals ( SignalTargetInterface signal_target,
const std::string &  ns = "" 
) const
inlinevirtual

Retrieve available signals from the observer.

Register a-priori known signals at the signal target. Registration is optional. Note, during observe() execution further signals might occur without registration (in case the they are not known in advance or the implementation lacks a proper registration).

Parameters
[in,out]signal_targetTarget for occuring signals [optional]

Definition at line 116 of file observer_interface.h.

◆ getFactory()

static Factory<ObserverInterface>& corbo::ObserverInterface::getFactory ( )
inlinestatic

Get access to the associated factory.

Definition at line 73 of file observer_interface.h.

◆ getInstance()

virtual Ptr corbo::ObserverInterface::getInstance ( ) const
pure virtual

Return a newly created shared instance of the implemented class.

◆ getOutputDimension()

virtual int corbo::ObserverInterface::getOutputDimension ( ) const
pure virtual

Return the dimension of the supported plant output.

This is not the output of the observer (actually it is the input) but the output of the plant.

Returns
the supported plants output dimension

◆ getStateDimension()

virtual int corbo::ObserverInterface::getStateDimension ( ) const
pure virtual

Return the dimension of the observed state.

Returns
the state dimension

◆ observe()

virtual bool corbo::ObserverInterface::observe ( const OutputVector y,
StateVector x,
const Duration dt,
const Time t,
SignalTargetInterface signal_target = nullptr,
const std::string &  ns = "" 
)
pure virtual

Perform actual observer step / state estimation.

Parameters
[in]yCurrent plant output [getOutputDimension() x 1]
[out]xEstimated state vector [getStateDimension() x 1]
[in]dtLast sampling interval length (does not (!) mean that the subsequent one will be identical)
[in]tCurrent time stamp (can be sim-time or system-time, but compatible to state and control references)
[in,out]signal_targetTarget for occuring signals [optional]
Returns
true if step was successful and computation of u was successful, false otherwise.

◆ reset()

virtual void corbo::ObserverInterface::reset ( )
inlinevirtual

Reset internal observer state and caches.

Definition at line 105 of file observer_interface.h.


The documentation for this class was generated from the following file:


control_box_rst
Author(s): Christoph Rösmann
autogenerated on Mon Feb 28 2022 22:08:03