File control/src/Controller/LinearSMCOT2.hpp

Go to the source code of this file

General interface to define a sliding mode controller with disturbance compensation.

Reference: Su, W.C.; Drakunov, S.; Özgüner, Ü. An O(T2) boundary layer in sliding mode for sampled-data systems

class LinearSMCOT2 : public CommonSMC

Public Functions

LinearSMCOT2(SP::ControlSensor sensor)

Constructor.

Parameters

virtual ~LinearSMCOT2()

destructor

void actuate()

Compute the new control law at each event Here we are using the following formula: TODO.

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

initialize actuator data.

Parameters
  • nsds: current nonsmooth dynamical system
  • s: current simulation setup

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

Private Functions

LinearSMCOT2()

default constructor

ACCEPT_SERIALIZATION(LinearSMCOT2)

serialization hooks

Private Members

double _coeff

Coefficient.

SP::FirstOrderLinearDS _DSPhi

DynamicalSystem for the computation of _XPhi.

SP::FirstOrderLinearDS _DSPred

DynamicalSystem for the computation of _Xhat.

SP::NonSmoothDynamicalSystem _nsdsPhi

Model for the computation of _XPhi.

SP::NonSmoothDynamicalSystem _nsdsPred

Model for the computation of Xhat.

SP::LsodarOSI _PhiOSI

OneSteoIntegrator for the computation of _XPhi.

SP::LsodarOSI _PredOSI

OneSteoIntegrator for the computation of Xhat.

SP::EventDriven _simulPhi

Simulation for the computation of _XPhi.

SP::EventDriven _simulPred

Simulation for the computation of Xhat.

SP::TimeDiscretisation _tdPhi

TimeDiscretisation for the computation of _XPhi.

SP::TimeDiscretisation _tdPred

TimeDiscretisation for the computation of Xhat.

SP::SiconosVector _X

Current value of the state ( \( x_k\))

SP::SiconosVector _Xhat

Predicted current value of the state ( \( \hat{x}_k = \Phi x_{k-1} + \Gamma u_{k-1}\))

SP::SiconosVector _XPhi

Next value of the state only with the influence of the dynamic \( \XPhi = \Phi x_k\).