Interface for a generic control board device implementing a PID controller, with scaled arguments. More...
#include <yarp/dev/IPidControl.h>
Public Member Functions | |
virtual | ~IPidControl () |
Destructor. More... | |
virtual bool | setPid (const PidControlTypeEnum &pidtype, int j, const Pid &pid)=0 |
Set new pid value for a joint axis. More... | |
virtual bool | setPids (const PidControlTypeEnum &pidtype, const Pid *pids)=0 |
Set new pid value on multiple axes. More... | |
virtual bool | setPidReference (const PidControlTypeEnum &pidtype, int j, double ref)=0 |
Set the controller reference for a given axis. More... | |
virtual bool | setPidReferences (const PidControlTypeEnum &pidtype, const double *refs)=0 |
Set the controller reference, multiple axes. More... | |
virtual bool | setPidErrorLimit (const PidControlTypeEnum &pidtype, int j, double limit)=0 |
Set the error limit for the controller on a specifi joint. More... | |
virtual bool | setPidErrorLimits (const PidControlTypeEnum &pidtype, const double *limits)=0 |
Get the error limit for the controller on all joints. More... | |
virtual bool | getPidError (const PidControlTypeEnum &pidtype, int j, double *err)=0 |
Get the current error for a joint. More... | |
virtual bool | getPidErrors (const PidControlTypeEnum &pidtype, double *errs)=0 |
Get the error of all joints. More... | |
virtual bool | getPidOutput (const PidControlTypeEnum &pidtype, int j, double *out)=0 |
Get the output of the controller (e.g. More... | |
virtual bool | getPidOutputs (const PidControlTypeEnum &pidtype, double *outs)=0 |
Get the output of the controllers (e.g. More... | |
virtual bool | getPid (const PidControlTypeEnum &pidtype, int j, Pid *pid)=0 |
Get current pid value for a specific joint. More... | |
virtual bool | getPids (const PidControlTypeEnum &pidtype, Pid *pids)=0 |
Get current pid value for a specific joint. More... | |
virtual bool | getPidReference (const PidControlTypeEnum &pidtype, int j, double *ref)=0 |
Get the current reference of the pid controller for a specific joint. More... | |
virtual bool | getPidReferences (const PidControlTypeEnum &pidtype, double *refs)=0 |
Get the current reference of all pid controllers. More... | |
virtual bool | getPidErrorLimit (const PidControlTypeEnum &pidtype, int j, double *limit)=0 |
Get the error limit for the controller on a specific joint. More... | |
virtual bool | getPidErrorLimits (const PidControlTypeEnum &pidtype, double *limits)=0 |
Get the error limit for all controllers. More... | |
virtual bool | resetPid (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 | disablePid (const PidControlTypeEnum &pidtype, int j)=0 |
Disable the pid computation for a joint. More... | |
virtual bool | enablePid (const PidControlTypeEnum &pidtype, int j)=0 |
Enable the pid computation for a joint. More... | |
virtual bool | setPidOffset (const PidControlTypeEnum &pidtype, int j, double v)=0 |
Set offset value for a given controller. More... | |
virtual bool | isPidEnabled (const PidControlTypeEnum &pidtype, int j, bool *enabled)=0 |
Get the current status (enabled/disabled) of the pid. More... | |
Interface for a generic control board device implementing a PID controller, with scaled arguments.
Definition at line 210 of file IPidControl.h.
|
inlinevirtual |
Destructor.
Definition at line 216 of file IPidControl.h.
|
pure virtual |
Disable the pid computation for a joint.
pidtype | the id of the pid that will be affected by the command (e.g. position, velocity etc) |
j | joint number |
Implemented in ControlBoardWrapperPidControl, ControlBoardRemapper, yarp::dev::ImplementPidControl, and RemoteControlBoard.
|
pure virtual |
Enable the pid computation for a joint.
pidtype | the id of the pid that will be affected by the command (e.g. position, velocity etc) |
j | joint number |
Implemented in ControlBoardWrapperPidControl, ControlBoardRemapper, yarp::dev::ImplementPidControl, and RemoteControlBoard.
|
pure virtual |
Get current pid value for a specific joint.
pidtype | the id of the pid that will be affected by the command (e.g. position, velocity etc) |
j | joint number |
pid | pointer to storage for the return value. |
Implemented in ControlBoardWrapperPidControl, ControlBoardRemapper, yarp::dev::ImplementPidControl, and RemoteControlBoard.
|
pure virtual |
Get the current error for a joint.
pidtype | the id of the pid that will be affected by the command (e.g. position, velocity etc) |
j | joint number |
err | pointer to the storage for the return value |
Implemented in ControlBoardWrapperPidControl, ControlBoardRemapper, yarp::dev::ImplementPidControl, and RemoteControlBoard.
|
pure virtual |
Get the error limit for the controller on a specific joint.
pidtype | the id of the pid that will be affected by the command (e.g. position, velocity etc) |
j | joint number |
limit | pointer to storage |
Implemented in ControlBoardWrapperPidControl, ControlBoardRemapper, yarp::dev::ImplementPidControl, and RemoteControlBoard.
|
pure virtual |
Get the error limit for all controllers.
pidtype | the id of the pid that will be affected by the command (e.g. position, velocity etc) |
limits | pointer to the array that will store the output |
Implemented in ControlBoardWrapperPidControl, ControlBoardRemapper, yarp::dev::ImplementPidControl, and RemoteControlBoard.
|
pure virtual |
Get the error of all joints.
pidtype | the id of the pid that will be affected by the command (e.g. position, velocity etc) |
errs | pointer to the vector that will store the errors |
Implemented in ControlBoardWrapperPidControl, ControlBoardRemapper, yarp::dev::ImplementPidControl, and RemoteControlBoard.
|
pure virtual |
Get the output of the controller (e.g.
pwm value)
pidtype | the id of the pid that will be affected by the command (e.g. position, velocity etc) |
j | joint number |
out | pointer to storage for return value |
Implemented in ControlBoardWrapperPidControl, ControlBoardRemapper, yarp::dev::ImplementPidControl, and RemoteControlBoard.
|
pure virtual |
Get the output of the controllers (e.g.
pwm value)
pidtype | the id of the pid that will be affected by the command (e.g. position, velocity etc) |
outs | pinter to the vector that will store the output values |
Implemented in ControlBoardWrapperPidControl, ControlBoardRemapper, yarp::dev::ImplementPidControl, and RemoteControlBoard.
|
pure virtual |
Get the current reference of the pid controller for a specific joint.
pidtype | the id of the pid that will be affected by the command (e.g. position, velocity etc) |
j | joint number |
ref | pointer to storage for return value |
Implemented in ControlBoardWrapperPidControl, ControlBoardRemapper, yarp::dev::ImplementPidControl, and RemoteControlBoard.
|
pure virtual |
Get the current reference of all pid controllers.
pidtype | the id of the pid that will be affected by the command (e.g. position, velocity etc) |
refs | vector that will store the output. |
Implemented in ControlBoardWrapperPidControl, ControlBoardRemapper, yarp::dev::ImplementPidControl, and RemoteControlBoard.
|
pure virtual |
Get current pid value for a specific joint.
pidtype | the id of the pid that will be affected by the command (e.g. position, velocity etc) |
pids | vector that will store the values of the pids. |
Implemented in ControlBoardWrapperPidControl, ControlBoardRemapper, yarp::dev::ImplementPidControl, and RemoteControlBoard.
|
pure virtual |
Get the current status (enabled/disabled) of the pid.
pidtype | the id of the pid that will be affected by the command (e.g. position, velocity etc) |
j | joint number |
enabled | the current status of the pid controller. |
Implemented in ControlBoardWrapperPidControl, ControlBoardRemapper, yarp::dev::ImplementPidControl, and RemoteControlBoard.
|
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.
pidtype | the id of the pid that will be affected by the command (e.g. position, velocity etc) |
j | joint number |
Implemented in ControlBoardWrapperPidControl, ControlBoardRemapper, yarp::dev::ImplementPidControl, and RemoteControlBoard.
|
pure virtual |
Set new pid value for a joint axis.
pidtype | the id of the pid that will be affected by the command (e.g. position, velocity etc) |
j | joint number |
pid | new pid value |
Implemented in ControlBoardWrapperPidControl, ControlBoardRemapper, yarp::dev::ImplementPidControl, and RemoteControlBoard.
|
pure virtual |
Set the error limit for the controller on a specifi joint.
pidtype | the id of the pid that will be affected by the command (e.g. position, velocity etc) |
j | joint number |
limit | limit value |
Implemented in ControlBoardWrapperPidControl, ControlBoardRemapper, yarp::dev::ImplementPidControl, and RemoteControlBoard.
|
pure virtual |
Get the error limit for the controller on all joints.
pidtype | the id of the pid that will be affected by the command (e.g. position, velocity etc) |
limits | pointer to the vector with the new limits |
Implemented in ControlBoardWrapperPidControl, ControlBoardRemapper, yarp::dev::ImplementPidControl, and RemoteControlBoard.
|
pure virtual |
Set offset value for a given controller.
pidtype | the id of the pid that will be affected by the command (e.g. position, velocity etc) |
j | joint number |
v | the offset to be added to the output of the pid controller |
Implemented in ControlBoardWrapperPidControl, ControlBoardRemapper, yarp::dev::ImplementPidControl, and RemoteControlBoard.
|
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).
pidtype | the id of the pid that will be affected by the command (e.g. position, velocity etc) |
j | joint number |
ref | new reference point |
Implemented in ControlBoardWrapperPidControl, ControlBoardRemapper, yarp::dev::ImplementPidControl, and RemoteControlBoard.
|
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).
pidtype | the id of the pid that will be affected by the command (e.g. position, velocity etc) |
refs | pointer to the vector that contains the new reference points. |
Implemented in ControlBoardWrapperPidControl, ControlBoardRemapper, yarp::dev::ImplementPidControl, and RemoteControlBoard.
|
pure virtual |
Set new pid value on multiple axes.
pidtype | the id of the pid that will be affected by the command (e.g. position, velocity etc) |
pids | pointer to a vector of pids |
Implemented in ControlBoardWrapperPidControl, ControlBoardRemapper, yarp::dev::ImplementPidControl, and RemoteControlBoard.