hpp-constraints  6.0.0
Definition of basic geometric constraints for motion planning
hpp::constraints::ConvexShapeContactHold Class Reference

#include <hpp/constraints/convex-shape-contact.hh>

Inheritance diagram for hpp::constraints::ConvexShapeContactHold:
Collaboration diagram for hpp::constraints::ConvexShapeContactHold:

Public Member Functions

ConvexShapeContactPtr_t contactConstraint () const
 
ConvexShapeContactComplementPtr_t complement () const
 
std::pair< JointConstPtr_t, JointConstPtr_tdependsOnRelPoseBetween (DeviceConstPtr_t) const
 
- 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 ArrayXbactiveParameters () const
 
const ArrayXbactiveDerivativeParameters () const
 
size_type inputSize () const
 Get dimension of input vector. More...
 
size_type inputDerivativeSize () const
 
LiegroupSpacePtr_t outputSpace () const
 Get output space. More...
 
size_type outputSize () const
 Get dimension of output vector. More...
 
size_type outputDerivativeSize () const
 Get dimension of output derivative vector. More...
 
const std::string & name () const
 Get function name. More...
 
virtual std::ostream & print (std::ostream &o) const
 Display object in a stream. More...
 
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
 

Static Public Member Functions

static ConvexShapeContactHoldPtr_t create (const std::string &name, DevicePtr_t robot, const JointAndShapes_t &floorSurfaces, const JointAndShapes_t &objectSurfaces)
 

Protected Member Functions

 ConvexShapeContactHold (const std::string &name, DevicePtr_t robot, const JointAndShapes_t &floorSurfaces, const JointAndShapes_t &objectSurfaces)
 
virtual void impl_compute (LiegroupElementRef result, vectorIn_t argument) const
 User implementation of function evaluation. More...
 
virtual 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. More...
 
 DifferentiableFunction (size_type sizeInput, size_type sizeInputDerivative, const LiegroupSpacePtr_t &outputSpace, std::string name=std::string())
 Concrete class constructor should call this constructor. More...
 
 DifferentiableFunction ()
 

Additional Inherited Members

- Protected Attributes inherited from hpp::constraints::DifferentiableFunction
size_type inputSize_
 Dimension of input vector. More...
 
size_type inputDerivativeSize_
 Dimension of input derivative. More...
 
LiegroupSpacePtr_t outputSpace_
 Dimension of output vector. More...
 
ArrayXb activeParameters_
 
ArrayXb activeDerivativeParameters_
 

Detailed Description

Combination of ConvexShapeContact and complement constaints

Create one instance of

and concatenate their values.

Constructor & Destructor Documentation

◆ ConvexShapeContactHold()

hpp::constraints::ConvexShapeContactHold::ConvexShapeContactHold ( const std::string &  name,
DevicePtr_t  robot,
const JointAndShapes_t floorSurfaces,
const JointAndShapes_t objectSurfaces 
)
protected

Constructor

Parameters
constraintNamename of the ConvexShapeContact instance,
complementNamename of the ConvexShapeContactComplement instance,
holdNamename of this DifferentiableFunction instance
robotthe input space of the function is the robot configuration space.

Member Function Documentation

◆ complement()

ConvexShapeContactComplementPtr_t hpp::constraints::ConvexShapeContactHold::complement ( ) const
inline

◆ contactConstraint()

ConvexShapeContactPtr_t hpp::constraints::ConvexShapeContactHold::contactConstraint ( ) const
inline

◆ create()

static ConvexShapeContactHoldPtr_t hpp::constraints::ConvexShapeContactHold::create ( const std::string &  name,
DevicePtr_t  robot,
const JointAndShapes_t floorSurfaces,
const JointAndShapes_t objectSurfaces 
)
static

Create instance and return shared pointer

Parameters
constraintNamename of the ConvexShapeContact instance,
complementNamename of the ConvexShapeContactComplement instance,
holdNamename of this DifferentiableFunction instance
robotthe input space of the function is the robot configuration space.

◆ dependsOnRelPoseBetween()

std::pair<JointConstPtr_t, JointConstPtr_t> hpp::constraints::ConvexShapeContactHold::dependsOnRelPoseBetween ( DeviceConstPtr_t  ) const
inlinevirtual

Return pair of joints the relative pose between which modifies the function value if any

Currently only supports the case when all the joints for floors are the same and all the joints for objects involved are the same

Returns
pair of joints whose relative pose determines the value of the contact function, arranged in order of increasing joint index, or a pair of empty shared pointers.

Reimplemented from hpp::constraints::DifferentiableFunction.

◆ impl_compute()

virtual void hpp::constraints::ConvexShapeContactHold::impl_compute ( LiegroupElementRef  result,
vectorIn_t  argument 
) const
protectedvirtual

User implementation of function evaluation.

Implements hpp::constraints::DifferentiableFunction.

◆ impl_jacobian()

virtual void hpp::constraints::ConvexShapeContactHold::impl_jacobian ( matrixOut_t  jacobian,
vectorIn_t  arg 
) const
protectedvirtual

◆ isEqual()

bool hpp::constraints::ConvexShapeContactHold::isEqual ( const DifferentiableFunction other) const
protectedvirtual

The documentation for this class was generated from the following file: