hpp-constraints: hpp::constraints::ConvexShapeContactComplement Class Reference

hpp-constraints 9.0.2 Definition of basic geometric constraints for motion planning

Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Protected Member Functions | Friends | List of all members
hpp::constraints::ConvexShapeContactComplement Class Reference
Constraints

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

Inheritance diagram for hpp::constraints::ConvexShapeContactComplement:
[legend]
Collaboration diagram for hpp::constraints::ConvexShapeContactComplement:
[legend]

## Public Member Functions
void | computeRelativePoseRightHandSide (LiegroupElementConstRef rhs, std::size_t &ifloor, std::size_t &iobject, LiegroupElementRef relativePoseRhs) const
std::pair< JointConstPtr_t, JointConstPtr_t > | dependsOnRelPoseBetween (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 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

## Static Public Member Functions
static std::pair< ConvexShapeContactPtr_t, ConvexShapeContactComplementPtr_t > | createPair (const std::string &name, DevicePtr_t robot, const JointAndShapes_t &floorSurfaces, const JointAndShapes_t &objectSurfaces)
Static Public Member Functions inherited from hpp::constraints::DifferentiableFunction
static DifferentiableFunctionPtr_t | extract (DifferentiableFunctionPtr_t original, interval_t interval)

## Protected Member Functions
| ConvexShapeContactComplement (const std::string &name, DevicePtr_t robot, const JointAndShapes_t &floorSurfaces, const JointAndShapes_t &objectSurfaces)
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.
virtual void | impl_compute (LiegroupElementRef result, vectorIn_t argument) const =0
| User implementation of function evaluation.
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.
size_type | inputDerivativeSize_
| Dimension of input derivative.
LiegroupSpacePtr_t | outputSpace_
| Dimension of output vector.
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) | | | | ConvexShapeContact::LINE_ON_PLANE (Unsupported) | | | | ConvexShapeContact::PLANE_ON_PLANE | | |

where

- is an upper bound on the radius of all floor polygons,
- and are the indices of object and floor contact surfaces that minimize

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

  name | name of the sibling ConvexShapeContact constraint, "/complement" is added to the name of this constraint
  robot | robot that holds the contact surface
  floorSurfaces,objectSurfaces | set of plane polygonal contact surfaces.

## Member Function Documentation

## ◆ computeRelativePoseRightHandSide()

void hpp::constraints::ConvexShapeContactComplement::computeRelativePoseRightHandSide | ( | LiegroupElementConstRef | rhs,
|  | std::size_t & | ifloor,
|  | std::size_t & | iobject,
|  | LiegroupElementRef | relativePoseRhs ) const

Compute parameters and right hand side of relative pose

Parameters

  rhs | right hand side of this constraint,

Return values

  ifloor,iobject | indices of floor and object contact surface,
  relativePoseRhs | right 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

  name | name of the sibling ConvexShapeContact constraint, "/complement" is added to the name of this constraint
  robot | robot that holds the contact surface
  floorSurfaces,objectSurfaces | set of plane polygonal contact surfaces.

## ◆ dependsOnRelPoseBetween()

std::pair< JointConstPtr_t, JointConstPtr_t > hpp::constraints::ConvexShapeContactComplement::dependsOnRelPoseBetween | ( | DeviceConstPtr_t |  | ) | const
| inline virtual

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.

## ◆ isEqual()

bool hpp::constraints::ConvexShapeContactComplement::isEqual | ( | const DifferentiableFunction & | other | ) | const
| protected virtual

Reimplemented from hpp::constraints::DifferentiableFunction.

## Friends And Related Symbol Documentation

## ◆ ConvexShapeContactHold

friend class ConvexShapeContactHold
| friend

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

- include/hpp/constraints/convex-shape-contact.hh