| orocos_kdl
    | 
#include <solveri.hpp>

| Public Types | |
| enum | { E_DEGRADED = +1, E_NOERROR = 0, E_NO_CONVERGE = -1, E_UNDEFINED = -2, E_NOT_UP_TO_DATE = -3, E_SIZE_MISMATCH = -4, E_MAX_ITERATIONS_EXCEEDED = -5, E_OUT_OF_RANGE = -6, E_NOT_IMPLEMENTED = -7, E_SVD_FAILED = -8 } | 
| Public Member Functions | |
| virtual int | getError () const | 
| Return the latest error.  More... | |
| SolverI () | |
| Initialize latest error to E_NOERROR.  More... | |
| virtual const char * | strError (const int error) const | 
| virtual void | updateInternalDataStructures ()=0 | 
| virtual | ~SolverI () | 
| Protected Attributes | |
| int | error | 
| Latest error, initialized to E_NOERROR in constructor.  More... | |
Solver interface supporting storage and description of the latest error.
Error codes: Zero (0) indicates no error, positive error codes indicate more of a warning (e.g. a degraded solution, but motion can continue), and negative error codes indicate failure (e.g. a singularity, and motion can not continue).
Error codes between -99 and +99 (inclusive) are reserved for system-wide error codes. Derived classes should use values > +100, and < -100.
Example use
Definition at line 84 of file solveri.hpp.
| anonymous enum | 
| Enumerator | |
|---|---|
| E_DEGRADED | Converged but degraded solution (e.g. WDLS with psuedo-inverse singular) | 
| E_NOERROR | No error. | 
| E_NO_CONVERGE | Failed to converge. | 
| E_UNDEFINED | Undefined value (e.g. computed a NAN, or tan(90 degrees) ) | 
| E_NOT_UP_TO_DATE | Chain size changed. | 
| E_SIZE_MISMATCH | Input size does not match internal state. | 
| E_MAX_ITERATIONS_EXCEEDED | Maximum number of iterations exceeded. | 
| E_OUT_OF_RANGE | Requested index out of range. | 
| E_NOT_IMPLEMENTED | Not yet implemented. | 
| E_SVD_FAILED | Internal svd calculation failed. | 
Definition at line 87 of file solveri.hpp.
| 
 | inline | 
Initialize latest error to E_NOERROR.
Definition at line 111 of file solveri.hpp.
| 
 | inlinevirtual | 
Definition at line 115 of file solveri.hpp.
| 
 | inlinevirtual | 
Return the latest error.
Definition at line 119 of file solveri.hpp.
| 
 | inlinevirtual | 
Return a description of the latest error
Reimplemented in KDL::ChainIkSolverVel_wdls, KDL::ChainIkSolverPos_LMA, KDL::ChainJntToJacDotSolver, KDL::ChainIkSolverPos_NR_JL, KDL::ChainExternalWrenchEstimator, KDL::ChainIkSolverVel_pinv, and KDL::ChainIkSolverPos_NR.
Definition at line 125 of file solveri.hpp.
| 
 | pure virtual | 
Update the internal data structures. This is required if the number of segments or number of joints of a chain/tree have changed. This provides a single point of contact for solver memory allocations.
Implemented in KDL::ChainIkSolverAcc, KDL::ChainFkSolverAcc, KDL::ChainFkSolverVel, KDL::ChainIkSolverVel, KDL::ChainFkSolverPos, KDL::ChainIkSolverPos, KDL::ChainHdSolver_Vereshchagin, KDL::ChainIkSolverVel_wdls, KDL::ChainIkSolverPos_LMA, KDL::ChainIkSolverVel_pinv_nso, KDL::ChainJntToJacDotSolver, KDL::ChainIkSolverPos_NR_JL, KDL::ChainExternalWrenchEstimator, KDL::ChainIkSolverVel_pinv, KDL::ChainIkSolverPos_NR, KDL::ChainFdSolver_RNE, KDL::ChainJntToJacSolver, KDL::ChainIdSolver_RNE, KDL::TreeIdSolver_RNE, KDL::ChainDynParam, KDL::ChainFkSolverPos_recursive, KDL::ChainFkSolverVel_recursive, and KDL::ChainIkSolverVel_pinv_givens.
| 
 | protected | 
Latest error, initialized to E_NOERROR in constructor.
Definition at line 149 of file solveri.hpp.
 1.8.17
 1.8.17