YARP
Yet Another Robot Platform
yarp::dev::IPidControlRaw Class Referenceabstract

Interface for a generic control board device implementing a PID controller. More...

#include <yarp/dev/IPidControl.h>

+ Inheritance diagram for yarp::dev::IPidControlRaw:

Public Member Functions

virtual ~IPidControlRaw ()
 Destructor. More...
 
virtual bool setPidRaw (const PidControlTypeEnum &pidtype, int j, const Pid &pid)=0
 Set new pid value for a joint axis. More...
 
virtual bool setPidsRaw (const PidControlTypeEnum &pidtype, const Pid *pids)=0
 Set new pid value on multiple axes. More...
 
virtual bool setPidReferenceRaw (const PidControlTypeEnum &pidtype, int j, double ref)=0
 Set the controller reference for a given axis. More...
 
virtual bool setPidReferencesRaw (const PidControlTypeEnum &pidtype, const double *refs)=0
 Set the controller reference, multiple axes. More...
 
virtual bool setPidErrorLimitRaw (const PidControlTypeEnum &pidtype, int j, double limit)=0
 Set the error limit for the controller on a specific joint. More...
 
virtual bool setPidErrorLimitsRaw (const PidControlTypeEnum &pidtype, const double *limits)=0
 Get the error limit for the controller on all joints. More...
 
virtual bool getPidErrorRaw (const PidControlTypeEnum &pidtype, int j, double *err)=0
 Get the current error for a joint. More...
 
virtual bool getPidErrorsRaw (const PidControlTypeEnum &pidtype, double *errs)=0
 Get the error of all joints. More...
 
virtual bool getPidOutputRaw (const PidControlTypeEnum &pidtype, int j, double *out)=0
 Get the output of the controller (e.g. More...
 
virtual bool getPidOutputsRaw (const PidControlTypeEnum &pidtype, double *outs)=0
 Get the output of the controllers (e.g. More...
 
virtual bool getPidRaw (const PidControlTypeEnum &pidtype, int j, Pid *pid)=0
 Get current pid value for a specific joint. More...
 
virtual bool getPidsRaw (const PidControlTypeEnum &pidtype, Pid *pids)=0
 Get current pid value for a specific joint. More...
 
virtual bool getPidReferenceRaw (const PidControlTypeEnum &pidtype, int j, double *ref)=0
 Get the current reference of the pid controller for a specific joint. More...
 
virtual bool getPidReferencesRaw (const PidControlTypeEnum &pidtype, double *refs)=0
 Get the current reference of all pid controllers. More...
 
virtual bool getPidErrorLimitRaw (const PidControlTypeEnum &pidtype, int j, double *limit)=0
 Get the error limit for the controller on a specific joint. More...
 
virtual bool getPidErrorLimitsRaw (const PidControlTypeEnum &pidtype, double *limits)=0
 Get the error limit for all controllers. More...
 
virtual bool resetPidRaw (const PidControlTypeEnum &pidtype, int j)=0
 Reset the controller of a given joint, usually sets the current status of the joint as the reference value for the PID, and resets the integrator. More...
 
virtual bool disablePidRaw (const PidControlTypeEnum &pidtype, int j)=0
 Disable the pid computation for a joint. More...
 
virtual bool enablePidRaw (const PidControlTypeEnum &pidtype, int j)=0
 Enable the pid computation for a joint. More...
 
virtual bool setPidOffsetRaw (const PidControlTypeEnum &pidtype, int j, double v)=0
 Set an offset value on the ourput of pid controller. More...
 
virtual bool isPidEnabledRaw (const PidControlTypeEnum &pidtype, int j, bool *enabled)=0
 Get the current status (enabled/disabled) of the pid controller. More...
 

Detailed Description

Interface for a generic control board device implementing a PID controller.

Definition at line 24 of file IPidControl.h.

Constructor & Destructor Documentation

◆ ~IPidControlRaw()

virtual yarp::dev::IPidControlRaw::~IPidControlRaw ( )
inlinevirtual

Destructor.

Definition at line 30 of file IPidControl.h.

Member Function Documentation

◆ disablePidRaw()

virtual bool yarp::dev::IPidControlRaw::disablePidRaw ( const PidControlTypeEnum pidtype,
int  j 
)
pure virtual

Disable the pid computation for a joint.

Parameters
pidtypethe id of the pid that will be affected by the command (e.g. position, velocity etc)
jjoint number
Returns
true on success, false on failure.

Implemented in FakeMotionControl.

◆ enablePidRaw()

virtual bool yarp::dev::IPidControlRaw::enablePidRaw ( const PidControlTypeEnum pidtype,
int  j 
)
pure virtual

Enable the pid computation for a joint.

Parameters
pidtypethe id of the pid that will be affected by the command (e.g. position, velocity etc)
jjoint number
Returns
true on success, false on failure.

Implemented in FakeMotionControl.

◆ getPidErrorLimitRaw()

virtual bool yarp::dev::IPidControlRaw::getPidErrorLimitRaw ( const PidControlTypeEnum pidtype,
int  j,
double *  limit 
)
pure virtual

Get the error limit for the controller on a specific joint.

Parameters
pidtypethe id of the pid that will be affected by the command (e.g. position, velocity etc)
jjoint number
limitpointer to storage
Returns
success/failure

Implemented in FakeMotionControl.

◆ getPidErrorLimitsRaw()

virtual bool yarp::dev::IPidControlRaw::getPidErrorLimitsRaw ( const PidControlTypeEnum pidtype,
double *  limits 
)
pure virtual

Get the error limit for all controllers.

Parameters
pidtypethe id of the pid that will be affected by the command (e.g. position, velocity etc)
limitspointer to the array that will store the output
Returns
success or failure

Implemented in FakeMotionControl.

◆ getPidErrorRaw()

virtual bool yarp::dev::IPidControlRaw::getPidErrorRaw ( const PidControlTypeEnum pidtype,
int  j,
double *  err 
)
pure virtual

Get the current error for a joint.

Parameters
pidtypethe id of the pid that will be affected by the command (e.g. position, velocity etc)
jjoint number
errpointer to the storage for the return value
Returns
true/false on success failure

Implemented in FakeMotionControl.

◆ getPidErrorsRaw()

virtual bool yarp::dev::IPidControlRaw::getPidErrorsRaw ( const PidControlTypeEnum pidtype,
double *  errs 
)
pure virtual

Get the error of all joints.

Parameters
pidtypethe id of the pid that will be affected by the command (e.g. position, velocity etc)
errspointer to the vector that will store the errors

Implemented in FakeMotionControl.

◆ getPidOutputRaw()

virtual bool yarp::dev::IPidControlRaw::getPidOutputRaw ( const PidControlTypeEnum pidtype,
int  j,
double *  out 
)
pure virtual

Get the output of the controller (e.g.

pwm value)

Parameters
pidtypethe id of the pid that will be affected by the command (e.g. position, velocity etc)
jjoint number
outpointer to storage for return value
Returns
success/failure

Implemented in FakeMotionControl.

◆ getPidOutputsRaw()

virtual bool yarp::dev::IPidControlRaw::getPidOutputsRaw ( const PidControlTypeEnum pidtype,
double *  outs 
)
pure virtual

Get the output of the controllers (e.g.

pwm value)

Parameters
pidtypethe id of the pid that will be affected by the command (e.g. position, velocity etc)
outspinter to the vector that will store the output values

Implemented in FakeMotionControl.

◆ getPidRaw()

virtual bool yarp::dev::IPidControlRaw::getPidRaw ( const PidControlTypeEnum pidtype,
int  j,
Pid pid 
)
pure virtual

Get current pid value for a specific joint.

Parameters
pidtypethe id of the pid that will be affected by the command (e.g. position, velocity etc)
jjoint number
pidpointer to storage for the return value.
Returns
success/failure

Implemented in FakeMotionControl.

◆ getPidReferenceRaw()

virtual bool yarp::dev::IPidControlRaw::getPidReferenceRaw ( const PidControlTypeEnum pidtype,
int  j,
double *  ref 
)
pure virtual

Get the current reference of the pid controller for a specific joint.

Parameters
pidtypethe id of the pid that will be affected by the command (e.g. position, velocity etc)
jjoint number
refpointer to storage for return value
Returns
reference value

Implemented in FakeMotionControl.

◆ getPidReferencesRaw()

virtual bool yarp::dev::IPidControlRaw::getPidReferencesRaw ( const PidControlTypeEnum pidtype,
double *  refs 
)
pure virtual

Get the current reference of all pid controllers.

Parameters
pidtypethe id of the pid that will be affected by the command (e.g. position, velocity etc)
refsvector that will store the output.

Implemented in FakeMotionControl.

◆ getPidsRaw()

virtual bool yarp::dev::IPidControlRaw::getPidsRaw ( const PidControlTypeEnum pidtype,
Pid pids 
)
pure virtual

Get current pid value for a specific joint.

Parameters
pidtypethe id of the pid that will be affected by the command (e.g. position, velocity etc)
pidsvector that will store the values of the pids.
Returns
success/failure

Implemented in FakeMotionControl.

◆ isPidEnabledRaw()

virtual bool yarp::dev::IPidControlRaw::isPidEnabledRaw ( const PidControlTypeEnum pidtype,
int  j,
bool *  enabled 
)
pure virtual

Get the current status (enabled/disabled) of the pid controller.

Parameters
pidtypethe id of the pid that will be affected by the command (e.g. position, velocity etc)
jjoint number
enabledthe current status of the pid controller.
Returns
true on success, false on failure.

Implemented in FakeMotionControl.

◆ resetPidRaw()

virtual bool yarp::dev::IPidControlRaw::resetPidRaw ( const PidControlTypeEnum pidtype,
int  j 
)
pure virtual

Reset the controller of a given joint, usually sets the current status of the joint as the reference value for the PID, and resets the integrator.

Parameters
pidtypethe id of the pid that will be affected by the command (e.g. position, velocity etc)
jjoint number
Returns
true on success, false on failure.

Implemented in FakeMotionControl.

◆ setPidErrorLimitRaw()

virtual bool yarp::dev::IPidControlRaw::setPidErrorLimitRaw ( const PidControlTypeEnum pidtype,
int  j,
double  limit 
)
pure virtual

Set the error limit for the controller on a specific joint.

Parameters
pidtypethe id of the pid that will be affected by the command (e.g. position, velocity etc)
jjoint number
limitlimit value
Returns
true/false on success/failure

Implemented in FakeMotionControl.

◆ setPidErrorLimitsRaw()

virtual bool yarp::dev::IPidControlRaw::setPidErrorLimitsRaw ( const PidControlTypeEnum pidtype,
const double *  limits 
)
pure virtual

Get the error limit for the controller on all joints.

Parameters
pidtypethe id of the pid that will be affected by the command (e.g. position, velocity etc)
limitspointer to the vector with the new limits
Returns
true/false on success/failure

Implemented in FakeMotionControl.

◆ setPidOffsetRaw()

virtual bool yarp::dev::IPidControlRaw::setPidOffsetRaw ( const PidControlTypeEnum pidtype,
int  j,
double  v 
)
pure virtual

Set an offset value on the ourput of pid controller.

Parameters
pidtypethe id of the pid that will be affected by the command (e.g. position, velocity etc)
jjoint number
vthe offset to be added to the output of the pid controller
Returns
true on success, false on failure.

Implemented in FakeMotionControl.

◆ setPidRaw()

virtual bool yarp::dev::IPidControlRaw::setPidRaw ( const PidControlTypeEnum pidtype,
int  j,
const Pid pid 
)
pure virtual

Set new pid value for a joint axis.

Parameters
pidtypethe id of the pid that will be affected by the command (e.g. position, velocity etc)
jjoint number
pidnew pid value
Returns
true/false on success/failure

Implemented in FakeMotionControl.

◆ setPidReferenceRaw()

virtual bool yarp::dev::IPidControlRaw::setPidReferenceRaw ( const PidControlTypeEnum pidtype,
int  j,
double  ref 
)
pure virtual

Set the controller reference for a given axis.

Warning this method can result in very large torques and should be used carefully. If you do not understand this warning you should avoid using this method. Have a look at other interfaces (e.g. position control).

Parameters
pidtypethe id of the pid that will be affected by the command (e.g. position, velocity etc)
jjoint number
refnew reference point
Returns
true/false upon success/failure

Implemented in FakeMotionControl.

◆ setPidReferencesRaw()

virtual bool yarp::dev::IPidControlRaw::setPidReferencesRaw ( const PidControlTypeEnum pidtype,
const double *  refs 
)
pure virtual

Set the controller reference, multiple axes.

Warning this method can result in very large torques and should be used carefully. If you do not understand this warning you should avoid using this method. Have a look at other interfaces (e.g. position control).

Parameters
pidtypethe id of the pid that will be affected by the command (e.g. position, velocity etc)
refspointer to the vector that contains the new reference points.
Returns
true/false upon success/failure

Implemented in FakeMotionControl.

◆ setPidsRaw()

virtual bool yarp::dev::IPidControlRaw::setPidsRaw ( const PidControlTypeEnum pidtype,
const Pid pids 
)
pure virtual

Set new pid value on multiple axes.

Parameters
pidtypethe id of the pid that will be affected by the command (e.g. position, velocity etc)
pidspointer to a vector of pids
Returns
true/false upon success/failure

Implemented in FakeMotionControl.


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