|
hpp-constraints 9.0.2
Definition of basic geometric constraints for motion planning
|
#include <hpp/constraints/min-manipulability.hh>


Public Member Functions | |
| virtual | ~MinManipulability () |
| void | lockJoint (const JointPtr_t &joint) |
| const DevicePtr_t & | robot () const |
| Get robot. | |
Public Member Functions inherited from hpp::constraints::DifferentiableFunction | |
| virtual | ~DifferentiableFunction () |
| LiegroupElement | operator() (vectorIn_t argument) const |
| void | value (LiegroupElementRef result, vectorIn_t argument) const |
| void | jacobian (matrixOut_t jacobian, vectorIn_t argument) const |
| const ArrayXb & | activeParameters () const |
| const ArrayXb & | activeDerivativeParameters () const |
| size_type | inputSize () const |
| Get dimension of input vector. | |
| size_type | inputDerivativeSize () const |
| LiegroupSpacePtr_t | outputSpace () const |
| Get output space. | |
| size_type | outputSize () const |
| Get dimension of output vector. | |
| size_type | outputDerivativeSize () const |
| Get dimension of output derivative vector. | |
| const std::string & | name () const |
| Get function name. | |
| virtual std::ostream & | print (std::ostream &o) const |
| Display object in a stream. | |
| std::string | context () const |
| void | context (const std::string &c) |
| void | finiteDifferenceForward (matrixOut_t jacobian, vectorIn_t arg, DevicePtr_t robot=DevicePtr_t(), value_type eps=std::sqrt(Eigen::NumTraits< value_type >::epsilon())) const |
| void | finiteDifferenceCentral (matrixOut_t jacobian, vectorIn_t arg, DevicePtr_t robot=DevicePtr_t(), value_type eps=std::sqrt(Eigen::NumTraits< value_type >::epsilon())) const |
| bool | operator== (DifferentiableFunction const &other) const |
| bool | operator!= (DifferentiableFunction const &b) const |
| virtual std::pair< JointConstPtr_t, JointConstPtr_t > | dependsOnRelPoseBetween (DeviceConstPtr_t) const |
Static Public Member Functions | |
| static MinManipulabilityPtr_t | create (DifferentiableFunctionPtr_t function, DevicePtr_t robot, std::string name) |
Static Public Member Functions inherited from hpp::constraints::DifferentiableFunction | |
| static DifferentiableFunctionPtr_t | extract (DifferentiableFunctionPtr_t original, interval_t interval) |
Protected Member Functions | |
| MinManipulability (DifferentiableFunctionPtr_t function, DevicePtr_t robot, std::string name) | |
| Concrete class constructor should call this constructor. | |
| void | impl_compute (LiegroupElementRef result, vectorIn_t argument) const |
| User implementation of function evaluation. | |
| void | impl_jacobian (matrixOut_t jacobian, vectorIn_t arg) const |
| bool | isEqual (const DifferentiableFunction &other) const |
Protected Member Functions inherited from hpp::constraints::DifferentiableFunction | |
| DifferentiableFunction (size_type sizeInput, size_type sizeInputDerivative, size_type sizeOutput, std::string name=std::string()) | |
| Concrete class constructor should call this constructor. | |
| DifferentiableFunction (size_type sizeInput, size_type sizeInputDerivative, const LiegroupSpacePtr_t &outputSpace, std::string name=std::string()) | |
| Concrete class constructor should call this constructor. | |
| DifferentiableFunction () | |
Additional Inherited Members | |
Protected Attributes inherited from hpp::constraints::DifferentiableFunction | |
| size_type | inputSize_ |
| Dimension of input vector. | |
| size_type | inputDerivativeSize_ |
| Dimension of input derivative. | |
| LiegroupSpacePtr_t | outputSpace_ |
| Dimension of output vector. | |
| ArrayXb | activeParameters_ |
| ArrayXb | activeDerivativeParameters_ |
Enforce minimal manipulability
This function takes as input another differentiable function 
![\[
f(\mathbf{q}) = \max \left(-\log\det(J_1 J_1^T), 0\right)
\]](form_153.png)
where 

As a consequence when,


Inserting a constraint with this function with comparison type EQUAL_TO_ZERO into a numerical solver will make the solution lie in the domain defined by 

In some cases, it is useful not to consider some joints in the kinematic chain. For example, when evaluating the manipulability of a robotic arm moving on a prismatic rail, it can be useful to consider the manipulability of the system when the rail is locked. To do so, call method MinManipulability::lockJoint.
|
inlinevirtual |
|
protected |
Concrete class constructor should call this constructor.
| function | the function which must be analysed |
| name | function's name |
|
inlinestatic |
|
protectedvirtual |
User implementation of function evaluation.
Implements hpp::constraints::DifferentiableFunction.
|
protectedvirtual |
Implements hpp::constraints::DifferentiableFunction.
|
inlineprotectedvirtual |
Reimplemented from hpp::constraints::DifferentiableFunction.
| void hpp::constraints::MinManipulability::lockJoint | ( | const JointPtr_t & | joint | ) |
Lock a joint
Consider this joint as fixed when computing the manipulability
|
inline |
Get robot.