motor_controller
Public Member Functions | List of all members
motor_controller::PIV Class Reference

#include <PIV.hpp>

Public Member Functions

 PIV ()
 
 PIV (double _Kpp, double _Kiv, double _Kpv, double _Kvff, double _Kaff, double _Kalp, double _Ts, double _YMin=0, double _YMax=0, double _Kt=0)
 
 PIV (const struct PIVSettings &_settings)
 
 ~PIV ()
 
void setGains (double _Kpp, double _Kiv, double _Kpv)
 
void setFeedForwardGain (double _Kvff=0.0, double _Kaff=0.0)
 
void setVelSmoothingGain (double _Kalp)
 
void setSamplingTime (double _Ts)
 
void setOutputLimits (double _YMin, double _YMax)
 
void setPositionController (bool _status)
 
void setIntegratorWindupCoeff (double _Kt)
 
void setPIVSettings (const struct PIVSettings &_settings)
 
double getSmoothenedVelocity ()
 
double getVelocity ()
 
bool isSaturated ()
 
double getPosCommand ()
 
double saturate_windup (double _value)
 
double saturate (double _val)
 
void reset ()
 
double updateVelLoop (double _velMeasured, double _velCmd, double _posCmd, double accFF=0.0)
 
double updatePosLoop (double _posError) const
 
double update (double _posMeasured, double _posRef, double _velFF=0.0, double _accFF=0.0)
 
void printCoefficients ()
 
double getKvff ()
 
double getKpp ()
 

Constructor & Destructor Documentation

◆ PIV() [1/3]

PIV::PIV ( )

◆ PIV() [2/3]

PIV::PIV ( double  _Kpp,
double  _Kiv,
double  _Kpv,
double  _Kvff,
double  _Kaff,
double  _Kalp,
double  _Ts,
double  _YMin = 0,
double  _YMax = 0,
double  _Kt = 0 
)

◆ PIV() [3/3]

PIV::PIV ( const struct PIVSettings _settings)

◆ ~PIV()

PIV::~PIV ( )

Member Function Documentation

◆ getKpp()

double motor_controller::PIV::getKpp ( )
inline

◆ getKvff()

double motor_controller::PIV::getKvff ( )
inline

◆ getPosCommand()

double motor_controller::PIV::getPosCommand ( )
inline

◆ getSmoothenedVelocity()

double motor_controller::PIV::getSmoothenedVelocity ( )
inline

◆ getVelocity()

double motor_controller::PIV::getVelocity ( )
inline

◆ isSaturated()

bool motor_controller::PIV::isSaturated ( )
inline

◆ printCoefficients()

void PIV::printCoefficients ( )

◆ reset()

void PIV::reset ( )

◆ saturate()

double PIV::saturate ( double  _val)

◆ saturate_windup()

double PIV::saturate_windup ( double  _value)

◆ setFeedForwardGain()

void motor_controller::PIV::setFeedForwardGain ( double  _Kvff = 0.0,
double  _Kaff = 0.0 
)
inline

◆ setGains()

void PIV::setGains ( double  _Kpp,
double  _Kiv,
double  _Kpv 
)

◆ setIntegratorWindupCoeff()

void motor_controller::PIV::setIntegratorWindupCoeff ( double  _Kt)
inline

◆ setOutputLimits()

void motor_controller::PIV::setOutputLimits ( double  _YMin,
double  _YMax 
)
inline

◆ setPIVSettings()

void PIV::setPIVSettings ( const struct PIVSettings _settings)

◆ setPositionController()

void motor_controller::PIV::setPositionController ( bool  _status)
inline

◆ setSamplingTime()

void PIV::setSamplingTime ( double  _Ts)

◆ setVelSmoothingGain()

void motor_controller::PIV::setVelSmoothingGain ( double  _Kalp)
inline

◆ update()

double PIV::update ( double  _posMeasured,
double  _posRef,
double  _velFF = 0.0,
double  _accFF = 0.0 
)

◆ updatePosLoop()

double motor_controller::PIV::updatePosLoop ( double  _posError) const
inline

◆ updateVelLoop()

double PIV::updateVelLoop ( double  _velMeasured,
double  _velCmd,
double  _posCmd,
double  accFF = 0.0 
)

The documentation for this class was generated from the following files: