hpp::constraints::DistanceBetweenBodies Class Reference

Distance between two sets of objects. More...

#include <hpp/constraints/distance-between-bodies.hh>

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

Public Member Functions

virtual ~DistanceBetweenBodies () throw ()
 
- Public Member Functions inherited from hpp::constraints::DifferentiableFunction
virtual ~DifferentiableFunction ()
 
LiegroupElement operator() (vectorIn_t argument) const
 Evaluate the function at a given parameter. More...
 
void value (LiegroupElementRef result, vectorIn_t argument) const
 Evaluate the function at a given parameter. More...
 
void jacobian (matrixOut_t jacobian, vectorIn_t argument) const
 Computes the jacobian. More...
 
const ArrayXbactiveParameters () const
 Returns a vector of booleans that indicates whether the corresponding configuration parameter influences this constraints. More...
 
const ArrayXbactiveDerivativeParameters () const
 Returns a vector of booleans that indicates whether the corresponding velocity parameter influences this constraints. More...
 
size_type inputSize () const
 Get dimension of input vector. More...
 
size_type inputDerivativeSize () const
 Get dimension of input derivative vector. More...
 
LiegroupSpacePtr_t outputSpace () const
 Get output element. 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
 Approximate the jacobian using forward finite difference. More...
 
void finiteDifferenceCentral (matrixOut_t jacobian, vectorIn_t arg, DevicePtr_t robot=DevicePtr_t(), value_type eps=std::sqrt(Eigen::NumTraits< value_type >::epsilon())) const
 Approximate the jacobian using forward finite difference. More...
 

Static Public Member Functions

static EIGEN_MAKE_ALIGNED_OPERATOR_NEW DistanceBetweenBodiesPtr_t create (const std::string &name, const DevicePtr_t &robot, const JointPtr_t &joint1, const JointPtr_t &joint2)
 Create instance and return shared pointer. More...
 
static DistanceBetweenBodiesPtr_t create (const std::string &name, const DevicePtr_t &robot, const JointPtr_t &joint, const std::vector< CollisionObjectPtr_t > &objects)
 Create instance and return shared pointer. More...
 

Protected Member Functions

 DistanceBetweenBodies (const std::string &name, const DevicePtr_t &robot, const JointPtr_t &joint1, const JointPtr_t &joint2)
 Protected constructor. More...
 
 DistanceBetweenBodies (const std::string &name, const DevicePtr_t &robot, const JointPtr_t &joint, const std::vector< CollisionObjectPtr_t > &objects)
 Protected constructor. More...
 
virtual void impl_compute (LiegroupElementRef result, ConfigurationIn_t argument) const throw ()
 
virtual void impl_jacobian (matrixOut_t jacobian, ConfigurationIn_t arg) const throw ()
 
- 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
 

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_
 Initialized to true by this class. More...
 
ArrayXb activeDerivativeParameters_
 Initialized to true by this class. More...
 

Detailed Description

Distance between two sets of objects.

This function maps to a configuration of a robot, the distance

  • either between objects of a joints and objects of another joint,
  • or objects of a joint with a list of fixed objects.

The above type of distance is determined by the method "create" called.

Constructor & Destructor Documentation

◆ ~DistanceBetweenBodies()

virtual hpp::constraints::DistanceBetweenBodies::~DistanceBetweenBodies ( )
throw (
)
inlinevirtual

◆ DistanceBetweenBodies() [1/2]

hpp::constraints::DistanceBetweenBodies::DistanceBetweenBodies ( const std::string &  name,
const DevicePtr_t robot,
const JointPtr_t joint1,
const JointPtr_t joint2 
)
protected

Protected constructor.

Parameters
namename of the constraint,
robotrobot that own the bodies,
joint1joint that holds the first body,
joint2joint that holds the second body.

◆ DistanceBetweenBodies() [2/2]

hpp::constraints::DistanceBetweenBodies::DistanceBetweenBodies ( const std::string &  name,
const DevicePtr_t robot,
const JointPtr_t joint,
const std::vector< CollisionObjectPtr_t > &  objects 
)
protected

Protected constructor.

Parameters
namename of the constraint,
robotrobot that own the bodies,
jointjoint that holds the body,
objectslist of fixed objects in the environment.

Member Function Documentation

◆ create() [1/2]

static EIGEN_MAKE_ALIGNED_OPERATOR_NEW DistanceBetweenBodiesPtr_t hpp::constraints::DistanceBetweenBodies::create ( const std::string &  name,
const DevicePtr_t robot,
const JointPtr_t joint1,
const JointPtr_t joint2 
)
static

Create instance and return shared pointer.

Parameters
namename of the constraint,
robotrobot that own the bodies,
joint1joint that holds the first body,
joint2joint that holds the second body.

◆ create() [2/2]

static DistanceBetweenBodiesPtr_t hpp::constraints::DistanceBetweenBodies::create ( const std::string &  name,
const DevicePtr_t robot,
const JointPtr_t joint,
const std::vector< CollisionObjectPtr_t > &  objects 
)
static

Create instance and return shared pointer.

Parameters
namename of the constraint,
robotrobot that own the bodies,
jointjoint that holds the body,
objectslist of fixed objects in the environment.

◆ impl_compute()

virtual void hpp::constraints::DistanceBetweenBodies::impl_compute ( LiegroupElementRef  result,
ConfigurationIn_t  argument 
) const
throw (
)
protectedvirtual

◆ impl_jacobian()

virtual void hpp::constraints::DistanceBetweenBodies::impl_jacobian ( matrixOut_t  jacobian,
ConfigurationIn_t  arg 
) const
throw (
)
protectedvirtual