hpp-constraints  4.9.1
Definition of basic geometric constraints for motion planning
hpp::constraints::explicit_::RelativeTransformation Class Reference

#include <hpp/constraints/explicit/relative-transformation.hh>

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

Public Member Functions

const JointConstPtr_tjoint1 () const
 Get joint 1. More...
 
const JointConstPtr_tjoint2 () const
 Get joint 2. More...
 
- 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 RelativeTransformationPtr_t create (const std::string &name, const DevicePtr_t &robot, const JointConstPtr_t &joint1, const JointConstPtr_t &joint2, const Transform3f &frame1, const Transform3f &frame2)
 

Protected Types

typedef Eigen::BlockIndex BlockIndex
 
typedef Eigen::RowBlockIndices RowBlockIndices
 
typedef Eigen::ColBlockIndices ColBlockIndices
 

Protected Member Functions

 RelativeTransformation (const std::string &name, const DevicePtr_t &robot, const JointConstPtr_t &joint1, const JointConstPtr_t &joint2, const Transform3f &frame1, const Transform3f &frame2, const segments_t inConf, const segments_t outConf, const segments_t inVel, const segments_t outVel, std::vector< bool > mask=std::vector< bool >(6, true))
 
 RelativeTransformation (const RelativeTransformation &other)
 
void init (const RelativeTransformationWkPtr_t &weak)
 
void impl_compute (LiegroupElementRef result, vectorIn_t argument) const
 
void impl_jacobian (matrixOut_t jacobian, vectorIn_t arg) 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. 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...
 

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

Relative transformation as a mapping between configuration variables

When the positions of two joints are constrained by a full transformation constraint, if the second joint is hold by a freeflyer joint, the position of this latter joint can be explicitely expressed with respect to the position of the first joint.

This class provides this expression. The input configuration variables are the joint values of all joints except the above mentioned freeflyer joint. The output configuration variables are the 7 configuration variables of the freeflyer joint.

Member Typedef Documentation

◆ BlockIndex

typedef Eigen::BlockIndex hpp::constraints::explicit_::RelativeTransformation::BlockIndex
protected

◆ ColBlockIndices

typedef Eigen::ColBlockIndices hpp::constraints::explicit_::RelativeTransformation::ColBlockIndices
protected

◆ RowBlockIndices

typedef Eigen::RowBlockIndices hpp::constraints::explicit_::RelativeTransformation::RowBlockIndices
protected

Constructor & Destructor Documentation

◆ RelativeTransformation() [1/2]

hpp::constraints::explicit_::RelativeTransformation::RelativeTransformation ( const std::string &  name,
const DevicePtr_t robot,
const JointConstPtr_t joint1,
const JointConstPtr_t joint2,
const Transform3f frame1,
const Transform3f frame2,
const segments_t  inConf,
const segments_t  outConf,
const segments_t  inVel,
const segments_t  outVel,
std::vector< bool >  mask = std::vector< bool >(6, true) 
)
protected

◆ RelativeTransformation() [2/2]

hpp::constraints::explicit_::RelativeTransformation::RelativeTransformation ( const RelativeTransformation other)
inlineprotected

Member Function Documentation

◆ create()

static RelativeTransformationPtr_t hpp::constraints::explicit_::RelativeTransformation::create ( const std::string &  name,
const DevicePtr_t robot,
const JointConstPtr_t joint1,
const JointConstPtr_t joint2,
const Transform3f frame1,
const Transform3f frame2 
)
static

Return a shared pointer to a new instance

Parameters
namethe name of the constraints,
robotthe robot the constraints is applied to,
joint1input joint
joint2output joint: position of this joint is computed with respect to joint1 position
frame1position of a fixed frame in joint 1,
frame2position of a fixed frame in joint 2,

◆ impl_compute()

void hpp::constraints::explicit_::RelativeTransformation::impl_compute ( LiegroupElementRef  result,
vectorIn_t  argument 
) const
protectedvirtual

Compute the value (dimension 7) of the freeflyer joint 2

Parameters
argumentvector of input configuration variables (all joints except freeflyer joint)
Return values
resultvector of output configuration variables corresponding to the freeflyer value.

Implements hpp::constraints::DifferentiableFunction.

◆ impl_jacobian()

void hpp::constraints::explicit_::RelativeTransformation::impl_jacobian ( matrixOut_t  jacobian,
vectorIn_t  arg 
) const
protectedvirtual

◆ init()

void hpp::constraints::explicit_::RelativeTransformation::init ( const RelativeTransformationWkPtr_t &  weak)
inlineprotected

◆ joint1()

const JointConstPtr_t& hpp::constraints::explicit_::RelativeTransformation::joint1 ( ) const
inline

Get joint 1.

◆ joint2()

const JointConstPtr_t& hpp::constraints::explicit_::RelativeTransformation::joint2 ( ) const
inline

Get joint 2.


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