|
| 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.