Class Observer#

Defined in Program listing for file control/src/Observer/Observer.hpp

class Observer#

Observers Base Class.

Abstract class, interface to user-defined observers.

An Observer is dedicated to estimate the state of a DynamicalSystem given its dynamics, inputs and a initial estimate of the state.

Subclassed by LuenbergerObserver, SlidingReducedOrderObserver

Public Functions

Observer(unsigned int type, SP::ControlSensor sensor, const SiconosVector &xHat0, const std::string &newId = "none")#

Constructor with a TimeDiscretisation.

Parameters:
  • type – the type of the Observer, which corresponds to the class type

  • sensor – the SP::Sensor to get the measurements

  • xHat0 – the initial guess for the state

  • newId – the id of the Observer

Observer(unsigned int type, SP::ControlSensor sensor, const SiconosVector &xHat0, SP::DynamicalSystem ds, const std::string &newId = "none")#

Constructor with a TimeDiscretisation.

Parameters:
  • type – the type of the Observer, which corresponds to the class type.

  • sensor – the SP::Sensor to get the measurements

  • xHat0 – the initial guess for the state

  • ds – the SP::DynamicalSystem used as a model for the real DynamicalSystem

  • newId – the id of the Observer

virtual ~Observer()#

destructor

inline void setId(const std::string &newId)#

set id of the Observer

Parameters:

newId – the new id.

inline const std::string getId() const#

get id of the Observer

Returns:

a string

inline int getType() const#

get the type of the Observer (ie class name)

Returns:

an integer

virtual void setTimeDiscretisation(const TimeDiscretisation &td)#

This is derived in child classes if they need to copy the TimeDiscretisation associated with this Sensor.

Parameters:

td – the TimeDiscretisation for this Sensor

virtual void initialize(const NonSmoothDynamicalSystem &nsds, const Simulation &s)#

initialize observer data.

Parameters:
  • nsds – current nonsmooth dynamical system

  • s – current simulation setup

virtual void process() = 0#

capture data when the ObserverEvent is processed

void display() const#

display the data of the Observer on the standard output

inline SP::SiconosVector e()#

get the error e

Returns:

a pointer to e

inline SP::SiconosVector xHat()#
Returns:

the estimated state

inline void setDS(SP::DynamicalSystem ds)#

Set the DynamicalSystem used in the Observer.

Parameters:

ds – the DynamicalSystem used in the Observer

inline virtual SP::NonSmoothDynamicalSystem getInternalNSDS() const#
Returns:

the Model used in the Observer