siconos.control.controller.LinearSMCimproved (Python class)

class siconos.control.controller.LinearSMCimproved(*args)[source]

Bases: siconos.control.controller.LinearSMC

Constructors

LinearSMCimproved(ControlSensor sensor)

Constructor.

Parameters:sensor – the ControlSensor feeding the Actuator
LinearSMCimproved(ControlSensor sensor, array_like (np.float64, 2D) B, array_like (np.float64, 2D) D=std11::shared_ptr< array_like (np.float64, 2D) >())

Constructor with all the data.

Parameters:
  • sensor – the ControlSensor feeding the Actuator
  • B – the B matrix in the FirstOrderLinearR
  • D – the D matrix in the FirstOrderLinearR
actuate() → None[source]

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

initialize(NonSmoothDynamicalSystem nsds, Simulation s) → None[source]

Initialize Controller.

Parameters:
  • nsds – current nonsmooth dynamical system
  • s – current simulation setup
setPerturbationPrediction(double ub=numeric_limits< double >::quiet_NaN()) → None[source]

Enable perturbation prediction.

setPredictionOrder(int order) → None[source]

Set the order of the prediction.

  • 0 -> the predicted value is the same as the one we measured

  • 1 -> FORMULA0_

  • 2 -> FORMULA1_

    Parameters:

    order :

    the order of the prediction

up() -> array_like (np.float64, 1D)[source]

Get the control input _up, acting against matched perturbations.

Returns:a reference to _up