|
| | JointLimitsConstr (const std::vector< rbd::MultiBody > &mbs, int robotIndex, QBound bound, double step) |
| |
| | JointLimitsConstr (const std::vector< rbd::MultiBody > &mbs, int robotIndex, QBound bound, const AlphaDBound &aDBound, double step) |
| |
| | JointLimitsConstr (const std::vector< rbd::MultiBody > &mbs, int robotIndex, QBound bound, const AlphaDBound &aDBound, const AlphaDDBound &aDDBound, double step) |
| |
| virtual void | updateNrVars (const std::vector< rbd::MultiBody > &mbs, const SolverData &data) override |
| |
| virtual void | update (const std::vector< rbd::MultiBody > &mbs, const std::vector< rbd::MultiBodyConfig > &mbcs, const SolverData &data) override |
| |
| virtual std::string | nameBound () const override |
| |
| virtual std::string | descBound (const std::vector< rbd::MultiBody > &mbs, int line) override |
| |
| virtual int | beginVar () const override |
| |
| virtual const Eigen::VectorXd & | Lower () const override |
| |
| virtual const Eigen::VectorXd & | Upper () const override |
| |
| virtual | ~ConstraintFunction () override |
| |
| void | addToSolver (QPSolver &sol) |
| |
| void | addToSolver (const std::vector< rbd::MultiBody > &mbs, QPSolver &sol) |
| |
| void | removeFromSolver (QPSolver &sol) |
| |
| virtual | ~Constraint () |
| |
Avoid to reach articular position limits based on direct integration.
\[ \underline{q} \leq q + \alpha \Delta_{step} + \frac{1}{2} \dot{\alpha} \Delta_{step}^2 \leq \overline{q} \]
This constraint can be impossible to fulfill when articulation velocity is really high. Always prefer to use DamperJointLimitsConstr.