hpp-constraints  4.10.1
Definition of basic geometric constraints for motion planning
hpp::constraints::ConvexShapeContactComplement Class Reference

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

Inheritance diagram for hpp::constraints::ConvexShapeContactComplement:
Collaboration diagram for hpp::constraints::ConvexShapeContactComplement:

Public Member Functions

void computeRelativePoseRightHandSide (vectorIn_t rhs, std::size_t &ifloor, std::size_t &iobject, vectorOut_t relativePoseRhs) 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
 

Static Public Member Functions

static std::pair< ConvexShapeContactPtr_t, ConvexShapeContactComplementPtr_tcreatePair (const std::string &name, DevicePtr_t robot, const JointAndShapes_t &floorSurfaces, const JointAndShapes_t &objectSurfaces)
 

Protected Member Functions

 ConvexShapeContactComplement (const std::string &name, DevicePtr_t robot, const JointAndShapes_t &floorSurfaces, const JointAndShapes_t &objectSurfaces)
 
- 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...
 
virtual void impl_compute (LiegroupElementRef result, vectorIn_t argument) const =0
 User implementation of function evaluation. More...
 
virtual void impl_jacobian (matrixOut_t jacobian, vectorIn_t arg) const =0
 
 DifferentiableFunction ()
 

Friends

class ConvexShapeContactHold
 

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

Complement to full transformation constraint of ConvexShapeContact

The value returned by this class is:

Contact type Inside Outside
ConvexShapeContact::POINT_ON_PLANE (Unsupported) \((y,z,rx)\) \((0,0,rx)\)
ConvexShapeContact::LINE_ON_PLANE (Unsupported) \((y,z,rx)\) \((0,0,rx)\)
ConvexShapeContact::PLANE_ON_PLANE \((y+2jM,z+2iM,rx)\) \((2jM,2iM,rx)\)

where

  • \(M\) is an upper bound on the radius of all floor polygons,
  • \(i\) and \(j\) are the indices of object and floor contact surfaces that minimize

    \begin{equation} d(o_i,f_j) \end{equation}

See also
ConvexShapeContact

Constructor & Destructor Documentation

◆ ConvexShapeContactComplement()

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

Constructor

Parameters
namename of the sibling ConvexShapeContact constraint, "/complement" is added to the name of this constraint
robotrobot that holds the contact surface
floorSurfaces,objectSurfacesset of plane polygonal contact surfaces.

Member Function Documentation

◆ computeRelativePoseRightHandSide()

void hpp::constraints::ConvexShapeContactComplement::computeRelativePoseRightHandSide ( vectorIn_t  rhs,
std::size_t &  ifloor,
std::size_t &  iobject,
vectorOut_t  relativePoseRhs 
) const

Compute parameters and right hand side of relative pose

Parameters
rhsright hand side of this constraint,
Return values
ifloor,iobjectindices of floor and object contact surface,
relativePoseRhsright hand side (implicit representation) of the relative pose constraint corresponding to contact of surfaces ifloor with iobject.

◆ createPair()

static std::pair<ConvexShapeContactPtr_t, ConvexShapeContactComplementPtr_t > hpp::constraints::ConvexShapeContactComplement::createPair ( const std::string &  name,
DevicePtr_t  robot,
const JointAndShapes_t floorSurfaces,
const JointAndShapes_t objectSurfaces 
)
static

Create a pair of constraints

Parameters
namename of the sibling ConvexShapeContact constraint, "/complement" is added to the name of this constraint
robotrobot that holds the contact surface
floorSurfaces,objectSurfacesset of plane polygonal contact surfaces.

Friends And Related Function Documentation

◆ ConvexShapeContactHold

friend class ConvexShapeContactHold
friend

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