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

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

Inheritance diagram for hpp::constraints::explicit_::ConvexShapeContact:
Collaboration diagram for hpp::constraints::explicit_::ConvexShapeContact:

Public Types

typedef std::tuple< ImplicitPtr_t, ImplicitPtr_t, ExplicitPtr_tConstraints_t
 

Public Member Functions

virtual ImplicitPtr_t copy () const
 Copy object and return shared pointer to copy. More...
 
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_toutputConf () const
 Get output configuration variables. More...
 
const segments_toutputVelocity () const
 Get output degrees of freedom. More...
 
const segments_tinputConf () const
 Get input configuration variables. More...
 
const segments_tinputVelocity () const
 Get input degrees of freedom. More...
 
- Public Member Functions inherited from hpp::constraints::Implicit
bool operator== (const Implicit &other) const
 Operator equality. More...
 
Implicitoperator= (const Implicit &other)
 Operator assignation. More...
 
virtual ~Implicit ()
 
const ComparisonTypes_tcomparisonType () const
 Return the ComparisonType. More...
 
void comparisonType (const ComparisonTypes_t &comp)
 Set the comparison type. More...
 
const segments_tactiveRows () const
 
bool checkAllRowsActive () const
 Check if all rows are active (no inactive rows) More...
 
const Eigen::RowBlockIndicesequalityIndices () const
 Get indices of constraint coordinates that are equality. More...
 
void setInactiveRowsToZero (vectorOut_t error) const
 
DifferentiableFunctionfunction () const
 Return a reference to function \(h\). More...
 
const DifferentiableFunctionPtr_tfunctionPtr () const
 Return a reference to function \(h\). More...
 
virtual std::pair< JointConstPtr_t, JointConstPtr_tdoesConstrainRelPoseBetween (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_trightHandSideFunction () 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. More...
 
- 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. More...
 
- 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. More...
 

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. More...
 
- 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&, const More...
 
 Explicit (const Explicit &other)
 Copy constructor. More...
 
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. More...
 
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

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
robotthe robot holding the floor and object contact surfaces,
floorSurfacesset of surfaces on which object are placed,
objectSurfacesset of surfaces that come in contact with floor surfaces.
margindistance 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
robotthe robot holding the floor and object contact surfaces,
floorSurfacesset of surfaces on which object are placed,
objectSurfacesset of surfaces that come in contact with floor surfaces.
margindistance 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
robotthe robot holding the floor and object contact surfaces,
floorSurfacesset of surfaces on which object are placed,
objectSurfacesset of surfaces that come in contact with floor surfaces,
margindistance between surfaces at contact to avoid collision.
Returns
a tuple containing

◆ 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

\begin{eqnarray*} J &=& \frac{\partial}{\partial\mathbf{q}_{in}} \left(f(\mathbf{q}_{in}) + rhs\right). \end{eqnarray*}

Parameters
qinvector of input variables,
f_value\(f(\mathbf{q}_{in})\) provided to avoid recomputation,
rhsright 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
qininput configuration variables,
rhsright 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: