template<typename Input, typename Output>
IterativeController class
Closed-loop controller that steps iteratively using the step method below.
Contents
- Reference
ControllerOutput::
should set the controller's target to the input scaled by the output bounds.
Base classes
-
template<typename Input, typename Output>class ClosedLoopController
- An abstract closed-loop controller.
Derived classes
-
template<typename Input, typename Output>class IterativePositionController
-
template<typename Input, typename Output>class IterativeVelocityController
Public functions
- auto step(Input ireading) -> Output pure virtual
- Do one iteration of the controller.
- auto getOutput() const -> Output pure virtual
- Returns the last calculated output of the controller.
- void setOutputLimits(Output imax, Output imin) pure virtual
- Set controller output bounds.
- void setControllerSetTargetLimits(Output itargetMax, Output itargetMin) pure virtual
- Sets the (soft) limits for the target range that controllerSet() scales into.
- auto getMaxOutput() -> Output pure virtual
- Get the upper output bound.
- auto getMinOutput() -> Output pure virtual
- Get the lower output bound.
- void setSampleTime(QTime isampleTime) pure virtual
- Set time between loops.
- auto getSampleTime() const -> QTime pure virtual
- Get the last set sample time.
Function documentation
template<typename Input, typename Output>
Output okapi:: IterativeController<Input, Output>:: step(Input ireading) pure virtual
Do one iteration of the controller.
Parameters | |
---|---|
ireading | A new measurement. |
Returns | The controller output. |
template<typename Input, typename Output>
void okapi:: IterativeController<Input, Output>:: setOutputLimits(Output imax,
Output imin) pure virtual
Set controller output bounds.
Parameters | |
---|---|
imax | max output |
imin | min output |
template<typename Input, typename Output>
void okapi:: IterativeController<Input, Output>:: setControllerSetTargetLimits(Output itargetMax,
Output itargetMin) pure virtual
Sets the (soft) limits for the target range that controllerSet() scales into.
Parameters | |
---|---|
itargetMax | The new max target for controllerSet() . |
itargetMin | The new min target for controllerSet() . |
The target computed by controllerSet()
is scaled into the range [-itargetMin, itargetMax]
.
template<typename Input, typename Output>
Output okapi:: IterativeController<Input, Output>:: getMaxOutput() pure virtual
Get the upper output bound.
Returns | the upper output bound |
---|
template<typename Input, typename Output>
Output okapi:: IterativeController<Input, Output>:: getMinOutput() pure virtual
Get the lower output bound.
Returns | the lower output bound |
---|
template<typename Input, typename Output>
void okapi:: IterativeController<Input, Output>:: setSampleTime(QTime isampleTime) pure virtual
Set time between loops.
Parameters | |
---|---|
isampleTime | time between loops |
template<typename Input, typename Output>
QTime okapi:: IterativeController<Input, Output>:: getSampleTime() const pure virtual
Get the last set sample time.
Returns | sample time |
---|