hpp-constraints: hpp::constraints::explicit_::ConvexShapeContact Class Reference

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

Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
hpp::constraints::explicit_::ConvexShapeContact Class Reference

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

Inheritance diagram for hpp::constraints::explicit_::ConvexShapeContact:
[legend]
Collaboration diagram for hpp::constraints::explicit_::ConvexShapeContact:
[legend]

## Public Types
typedef std::tuple< ImplicitPtr_t, ImplicitPtr_t, ExplicitPtr_t > | Constraints_t

## Public Member Functions
virtual ImplicitPtr_t | copy () const
| Copy object and return shared pointer to copy.
virtual void | outputValue (LiegroupElementRef result, vectorIn_t qin, LiegroupElementConstRef rhs) const
virtual void | jacobianOutputValue (vectorIn_t qin, LiegroupElementConstRef f_value, LiegroupElementConstRef rhs, matrixOut_t jacobian) const
Public Member Functions inherited from hpp::constraints::Explicit
DifferentiableFunctionPtr_t | explicitFunction () const
const segments_t & | outputConf () const
| Get output configuration variables.
const segments_t & | outputVelocity () const
| Get output degrees of freedom.
const segments_t & | inputConf () const
| Get input configuration variables.
const segments_t & | inputVelocity () const
| Get input degrees of freedom.
Public Member Functions inherited from hpp::constraints::Implicit
bool | operator== (const Implicit &other) const
| Operator equality.
Implicit & | operator= (const Implicit &other)
| Operator assignation.
virtual | ~Implicit ()
const ComparisonTypes_t & | comparisonType () const
| Return the ComparisonType.
void | comparisonType (const ComparisonTypes_t &comp)
| Set the comparison type.
const segments_t & | activeRows () const
bool | checkAllRowsActive () const
| Check if all rows are active (no inactive rows)
const Eigen::RowBlockIndices & | equalityIndices () const
| Get indices of constraint coordinates that are equality.
void | setInactiveRowsToZero (vectorOut_t error) const
DifferentiableFunction & | function () const
| Return a reference to function .
const DifferentiableFunctionPtr_t & | functionPtr () const
| Return a reference to function .
virtual std::pair< JointConstPtr_t, JointConstPtr_t > | doesConstrainRelPoseBetween (DeviceConstPtr_t robot) const
void | rightHandSideFromConfig (ConfigurationIn_t config, LiegroupElementRef rhs)
bool | checkRightHandSide (LiegroupElementConstRef rhs) const
size_type | parameterSize () const
size_type | rightHandSideSize () const
void | rightHandSideFunction (const DifferentiableFunctionPtr_t &rhsF)
const DifferentiableFunctionPtr_t & | rightHandSideFunction () const
vectorIn_t | rightHandSideAt (const value_type &s)

## Static Public Member Functions
static ConvexShapeContactPtr_t | create (const std::string &name, DevicePtr_t robot, const JointAndShapes_t &floorSurfaces, const JointAndShapes_t &objectSurfaces, const value_type &margin)
static Constraints_t | createConstraintAndComplement (const std::string &name, DevicePtr_t robot, const JointAndShapes_t &floorSurfaces, const JointAndShapes_t &objectSurfaces, const value_type &margin)
static ConvexShapeContactPtr_t | createCopy (const ConvexShapeContactPtr_t &other)
| Create copy and return shared pointer.
Static Public Member Functions inherited from hpp::constraints::Explicit
static ExplicitPtr_t | create (const LiegroupSpacePtr_t &configSpace, const DifferentiableFunctionPtr_t &function, const segments_t &inputConf, const segments_t &outputConf, const segments_t &inputVelocity, const segments_t &outputVelocity, const ComparisonTypes_t &comp=ComparisonTypes_t(), std::vector< bool > mask=std::vector< bool >())
static ExplicitPtr_t | createCopy (const ExplicitPtr_t &other)
| Create a copy and return shared pointer.
Static Public Member Functions inherited from hpp::constraints::Implicit
static ImplicitPtr_t | create (const DifferentiableFunctionPtr_t &func, ComparisonTypes_t comp, std::vector< bool > mask=std::vector< bool >())
static ImplicitPtr_t | createCopy (const ImplicitPtr_t &other)
| Create a copy and return shared pointer.

## Protected Member Functions
| ConvexShapeContact (const std::string &name, DevicePtr_t robot, const JointAndShapes_t &floorSurfaces, const JointAndShapes_t &objectSurfaces, const value_type &margin)
void | init (ConvexShapeContactWkPtr_t weak)
| Store weak pointer to itself.
Protected Member Functions inherited from hpp::constraints::Explicit
| Explicit (const LiegroupSpacePtr_t &configSpace, const DifferentiableFunctionPtr_t &function, const segments_t &inputConf, const segments_t &outputConf, const segments_t &inputVelocity, const segments_t &outputVelocity, const ComparisonTypes_t &comp, std::vector< bool > mask)
| Explicit (const DifferentiableFunctionPtr_t &implicitFunction, const DifferentiableFunctionPtr_t &function, const segments_t &inputConf, const segments_t &outputConf, const segments_t &inputVelocity, const segments_t &outputVelocity, const ComparisonTypes_t &comp, std::vector< bool > mask)
  | (const LiegroupSpacePtr_t&, constDifferentiableFunctionPtr_t&, const segments_t& inputConf, constsegments_t& outputConf, const segments_t& inputVelocity, constsegments_t&, const ComparisonTypes_t&); Parameters
  implicitFunction |
| Explicit (const Explicit &other)
| Copy constructor.
bool | isEqual (const Implicit &other, bool swapAndTest) const
void | init (const ExplicitWkPtr_t &weak)
| Explicit ()
Protected Member Functions inherited from hpp::constraints::Implicit
| Implicit (const DifferentiableFunctionPtr_t &function, ComparisonTypes_t comp, std::vector< bool > mask)
| Implicit (const Implicit &other)
| Copy constructor.
void | init (const ImplicitWkPtr_t &weak)
| Implicit ()

## Additional Inherited Members
Protected Attributes inherited from hpp::constraints::Explicit
DifferentiableFunctionPtr_t | inputToOutput_
segments_t | inputConf_
segments_t | outputConf_
segments_t | inputVelocity_
segments_t | outputVelocity_

## Member Typedef Documentation

## ◆ Constraints_t

typedef std::tuple<ImplicitPtr_t, ImplicitPtr_t, ExplicitPtr_t> hpp::constraints::explicit_::ConvexShapeContact::Constraints_t

## Constructor & Destructor Documentation

## ◆ ConvexShapeContact()

hpp::constraints::explicit_::ConvexShapeContact::ConvexShapeContact | ( | const std::string & | name,
|  | DevicePtr_t | robot,
|  | const JointAndShapes_t & | floorSurfaces,
|  | const JointAndShapes_t & | objectSurfaces,
|  | const value_type & | margin )
| protected

Constructor

Parameters

  robot | the robot holding the floor and object contact surfaces,
  floorSurfaces | set of surfaces on which object are placed,
  objectSurfaces | set of surfaces that come in contact with floor surfaces.
  margin | distance between surfaces at contact to avoid collision.

## Member Function Documentation

## ◆ copy()

virtual ImplicitPtr_t hpp::constraints::explicit_::ConvexShapeContact::copy | ( |  | ) | const
| virtual

Copy object and return shared pointer to copy.

Reimplemented from hpp::constraints::Explicit.

## ◆ create()

static ConvexShapeContactPtr_t hpp::constraints::explicit_::ConvexShapeContact::create | ( | const std::string & | name,
|  | DevicePtr_t | robot,
|  | const JointAndShapes_t & | floorSurfaces,
|  | const JointAndShapes_t & | objectSurfaces,
|  | const value_type & | margin )
| static

Create instance and return shared pointer

Parameters

  robot | the robot holding the floor and object contact surfaces,
  floorSurfaces | set of surfaces on which object are placed,
  objectSurfaces | set of surfaces that come in contact with floor surfaces.
  margin | distance between surfaces at contact to avoid collision.

## ◆ createConstraintAndComplement()

static Constraints_t hpp::constraints::explicit_::ConvexShapeContact::createConstraintAndComplement | ( | const std::string & | name,
|  | DevicePtr_t | robot,
|  | const JointAndShapes_t & | floorSurfaces,
|  | const JointAndShapes_t & | objectSurfaces,
|  | const value_type & | margin )
| static

Create 3 constraints

Parameters

  robot | the robot holding the floor and object contact surfaces,
  floorSurfaces | set of surfaces on which object are placed,
  objectSurfaces | set of surfaces that come in contact with floor surfaces,
  margin | distance between surfaces at contact to avoid collision.

Returns
  a tuple containing
  - a contact constraint (see function ConvexShapeContact),
  - the complement constraint (see function ConvexShapeContactComplement),
  - an explicit constraint corresponding to the combination of the former constraints.

## ◆ createCopy()

static ConvexShapeContactPtr_t hpp::constraints::explicit_::ConvexShapeContact::createCopy | ( | const ConvexShapeContactPtr_t & | other | ) |
| static

Create copy and return shared pointer.

## ◆ init()

void hpp::constraints::explicit_::ConvexShapeContact::init | ( | ConvexShapeContactWkPtr_t | weak | ) |
| protected

Store weak pointer to itself.

## ◆ jacobianOutputValue()

virtual void hpp::constraints::explicit_::ConvexShapeContact::jacobianOutputValue | ( | vectorIn_t | qin,
|  | LiegroupElementConstRef | f_value,
|  | LiegroupElementConstRef | rhs,
|  | matrixOut_t | jacobian ) const
| virtual

Compute Jacobian of output value

Parameters

  qin | vector of input variables,
  f_value | provided to avoid recomputation,
  rhs | right hand side (of implicit formulation).

Reimplemented from hpp::constraints::Explicit.

## ◆ outputValue()

virtual void hpp::constraints::explicit_::ConvexShapeContact::outputValue | ( | LiegroupElementRef | result,
|  | vectorIn_t | qin,
|  | LiegroupElementConstRef | rhs ) const
| virtual

Compute the object pose with respect

Parameters

  qin | input configuration variables,
  rhs | right hand side of constraint (of implicit formulation).

The right hand side contains the following information:

- which floor surface is in contact with with object surface,
- the relative position of those surfaces.

Reimplemented from hpp::constraints::Explicit.

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

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