File control/src/Controller/Twisting.hpp#

Go to the source code of this file

twisting algorithm with a modification

class Twisting : public CommonSMC
#include <Twisting.hpp>

Modified Twisting Controller with an implicit discretization.

This is the twisting controller that gives the best result

Subclassed by RegularTwisting

Public Functions

inline Twisting(SP::ControlSensor sensor)

Constructor for the ActuatorFactory.

Parameters:

sensor – the ControlSensor feeding the Actuator

Twisting(SP::ControlSensor sensor, double hControl)

Constructor for a nonlinear system.

Parameters:
Twisting(SP::ControlSensor sensor, double gain, double beta, double hControl)

Constructor for the linear case.

Parameters:
  • sensor – the ControlSensor feeding the Actuator

  • gain – control magnitude

  • beta – twisting parameter

  • hControl – sampling period

virtual ~Twisting()

destructor

virtual void actuate()

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

virtual void setNSdata(double hControl)

set nonsmooth data: NormalConeNSL and AVI osnsp

Parameters:

hControl – sampling period

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

Initialization.

Parameters:
  • nsds – current nonsmooth dynamical system

  • s – current simulation setup

Protected Functions

inline Twisting()#

default constructor

Private Functions

ACCEPT_SERIALIZATION(Twisting)#