|
| LMCtrl_GPM (iKinChain &c, unsigned int _ctrlPose, double _Ts, double _mu0, double _mu_inc, double _mu_dec, double _mu_min, double _mu_max, double _sv_thres=1e-6) |
| Constructor.
|
|
virtual yarp::sig::Vector | computeGPM () |
| Returns the further contribution to the qdot=pinvJ*xdot equation according to the Gradient Projection Method, i.e.
|
|
void | set_K (const double _K) |
| Sets the GPM gain (shall be positive).
|
|
double | get_K () const |
| Returns the GPM gain (1.0 by default).
|
|
void | set_safeAreaRatio (const double _safeAreaRatio) |
| Sets the safe area ratio [0-1], which is for each joint the ratio between the angle span within which the chain can be operated with 0-GPM and the overall angle span.
|
|
double | get_safeAreaRatio () const |
| Returns the safe area ratio (0.9 by default).
|
|
| LMCtrl (iKinChain &c, unsigned int _ctrlPose, double _Ts, double _mu0, double _mu_inc, double _mu_dec, double _mu_min, double _mu_max, double _sv_thres=1e-6) |
| Constructor.
|
|
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 void | restart (const yarp::sig::Vector &q0) |
| Reinitializes the algorithm's internal state and resets the starting point.
|
|
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.
|
|
virtual std::string | getAlgoName () |
| Returns the algorithm's name.
|
|
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_mu () const |
| Returns the current weighting factor mu.
|
|
void | reset_mu () |
| Sets the weighting factor mu equal to the initial value.
|
|
virtual | ~LMCtrl () |
| 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.
|
|
|
virtual double | update_mu () |
|
virtual void | inTargetFcn () |
| Method called whenever in target.
|
|
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::Matrix | pinv (const yarp::sig::Matrix &A, const double tol=0.0) |
|
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 LMCtrl implementing the Gradient Projection Method according to the paper available here.
Definition at line 695 of file iKinInv.h.