|
| VarKpSteepCtrl (iKinChain &c, unsigned int _type, unsigned int _ctrlPose, double _Ts, double _Kp0, double _Kp_inc, double _Kp_dec, double _Kp_max, double _max_perf_inc) |
| Constructor.
|
|
virtual void | restart (const yarp::sig::Vector &q0) |
| Reinitializes the algorithm's internal state and resets the starting point.
|
|
virtual std::string | getAlgoName () |
| Returns the algorithm's name.
|
|
| SteepCtrl (iKinChain &c, unsigned int _type, unsigned int _ctrlPose, double _Ts, double _Kp) |
| Constructor.
|
|
virtual yarp::sig::Vector | computeGPM () |
| Returns the further contribution to the qdot=pinvJ*xdot equation according to the Gradient Projection Method, i.e.
|
|
virtual void | setChainConstraints (bool _constrained) |
| Enables/Disables joint angles constraints.
|
|
virtual yarp::sig::Vector | iterate (yarp::sig::Vector &xd, const unsigned int verbose=0) |
| Executes one iteration of the control algorithm.
|
|
virtual bool | test_convergence (const double tol_size) |
| Tests convergence by comparing the size of the algorithm internal structure (may be the gradient norm or the simplex size or whatever) to a certain tolerance.
|
|
void | resetInt () |
| Resets integral status at the current joint angles.
|
|
yarp::sig::Vector | get_qdot () const |
| Returns the actual derivative of joint angles.
|
|
yarp::sig::Vector | get_gpm () const |
| Returns the actual value of Gradient Projected.
|
|
double | get_Kp () const |
| Returns the gain.
|
|
virtual | ~SteepCtrl () |
| Destructor.
|
|
| iKinCtrl (iKinChain &c, unsigned int _ctrlPose) |
| Constructor.
|
|
virtual yarp::sig::Vector | solve (yarp::sig::Vector &xd, const double tol_size=IKINCTRL_DISABLED, const int max_iter=IKINCTRL_DISABLED, const unsigned int verbose=0, int *exit_code=NULL, bool *exhalt=NULL) |
| Iterates the control algorithm trying to converge on the target.
|
|
void | switchWatchDog (bool sw) |
| Switch on/off the watchDog mechanism to trigger deadLocks.
|
|
virtual void | setInTargetTol (double tol_x) |
| Sets tolerance for in-target check (5e-3 by default).
|
|
virtual double | getInTargetTol () const |
| Returns tolerance for in-target check.
|
|
virtual void | setWatchDogTol (double tol_q) |
| Sets tolerance for watchDog check (1e-4 by default).
|
|
virtual double | getWatchDogTol () const |
| Returns tolerance for watchDog check.
|
|
virtual void | setWatchDogMaxIter (int maxIter) |
| Sets maximum number of iterations to trigger the watchDog (200 by default).
|
|
virtual int | getWatchDogMaxIter () const |
| Returns maximum number of iterations to trigger the watchDog.
|
|
virtual bool | isInTarget () |
| Checks if the End-Effector is in target.
|
|
int | get_state () const |
| Returns the algorithm's state.
|
|
void | set_ctrlPose (unsigned int _ctrlPose) |
| Sets the state of Pose control settings.
|
|
unsigned int | get_ctrlPose () const |
| Returns the state of Pose control settings.
|
|
unsigned int | get_dim () const |
| Returns the number of Chain DOF.
|
|
unsigned int | get_iter () const |
| Returns the number of performed iterations.
|
|
virtual yarp::sig::Vector | get_x () const |
| Returns the actual cartesian position of the End-Effector.
|
|
virtual yarp::sig::Vector | get_e () const |
| Returns the actual cartesian position error.
|
|
virtual void | set_q (const yarp::sig::Vector &q0) |
| Sets the joint angles values.
|
|
virtual yarp::sig::Vector | get_q () const |
| Returns the actual joint angles values.
|
|
virtual yarp::sig::Vector | get_grad () const |
| Returns the actual gradient.
|
|
virtual yarp::sig::Matrix | get_J () const |
| Returns the actual Jacobian used in computation.
|
|
virtual double | dist () const |
| Returns the actual distance from the target in cartesian space (euclidean norm is used).
|
|
virtual | ~iKinCtrl () |
| Default destructor.
|
|
|
void | reset_Kp () |
|
virtual void | inTargetFcn () |
| Method called whenever in target.
|
|
virtual yarp::sig::Vector | update_qdot () |
|
virtual void | deadLockRecoveryFcn () |
| Method called whenever the watchDog is triggered.
|
|
virtual void | printIter (const unsigned int verbose) |
| Dumps warning or status messages.
|
|
virtual yarp::sig::Vector | calc_e () |
| Computes the error according to the current controller settings (complete pose/translational/rotational part).
|
|
virtual void | update_state () |
| Updates the control state.
|
|
virtual void | watchDog () |
| Handles the watchDog.
|
|
virtual yarp::sig::Vector | checkVelocity (const yarp::sig::Vector &_qdot, double _Ts) |
| Checks each joint velocity and sets it to zero if it steers the joint out of range.
|
|
unsigned int | printHandling (const unsigned int verbose=0) |
| Method to be called within the printIter routine inherited by children in order to handle the highest word of verbose integer.
|
|
A class derived from SteepCtrl implementing the variable gain algorithm.
r(k)=dist(k)/dist(k-1) r(k)<1 => Kp(k)=Kp(k-1)*Kp_inc; r(k)>max_per_inc => Kp(k)=Kp(k-1)*Kp_dec;
Definition at line 512 of file iKinInv.h.