hpp-constraints: hpp::constraints::explicit_::RelativeTransformation 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 Types | Protected Member Functions | List of all members
hpp::constraints::explicit_::RelativeTransformation Class Reference
Constraints

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

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

## Public Member Functions
const JointConstPtr_t & | joint1 () const
| Get joint 1.
const JointConstPtr_t & | joint2 () const
| Get joint 2.
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 RelativeTransformationPtr_t | create (const std::string &name, const DevicePtr_t &robot, const JointConstPtr_t &joint1, const JointConstPtr_t &joint2, const Transform3s &frame1, const Transform3s &frame2)
Static Public Member Functions inherited from hpp::constraints::DifferentiableFunction
static DifferentiableFunctionPtr_t | extract (DifferentiableFunctionPtr_t original, interval_t interval)

## 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 Transform3s &frame1, const Transform3s &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
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.
| DifferentiableFunction ()

## 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

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 held by a freeflyer joint, the position of this latter joint can be explicitly 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 Transform3s & | frame1,
|  | const Transform3s & | 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 | ) |
| inline protected

## 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 Transform3s & | frame1,
|  | const Transform3s & | frame2 )
| static

Return a shared pointer to a new instance

Parameters

  name | the name of the constraints,
  robot | the robot the constraints is applied to,
  joint1 | input joint
  joint2 | output joint: position of this joint is computed with respect to joint1 position
  frame1 | position of a fixed frame in joint 1,
  frame2 | position of a fixed frame in joint 2,

## ◆ dependsOnRelPoseBetween()

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

Return pair of joints the relative pose between which modifies the function value if any

This method is useful to know whether an instance of Implicit constrains the relative pose between two joints.

Returns
  the pair of joints involved, arranged in order of increasing joint index, or a pair of empty shared pointers.

Note
  if absolute pose (relative pose with respect to "universe"), "universe" is returned as empty shared pointer

Reimplemented from hpp::constraints::DifferentiableFunction.

## ◆ impl_compute()

void hpp::constraints::explicit_::RelativeTransformation::impl_compute | ( | LiegroupElementRef | result,
|  | vectorIn_t | argument ) const
| protected virtual

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

Parameters

  argument | vector of input configuration variables (all joints except freeflyer joint)

Return values

  result | vector 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
| protected virtual

Implements hpp::constraints::DifferentiableFunction.

## ◆ init()

void hpp::constraints::explicit_::RelativeTransformation::init | ( | const RelativeTransformationWkPtr_t & | weak | ) |
| inline protected

## ◆ isEqual()

bool hpp::constraints::explicit_::RelativeTransformation::isEqual | ( | const DifferentiableFunction & | other | ) | const
| inline protected virtual

Reimplemented from hpp::constraints::DifferentiableFunction.

## ◆ 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:

- include/hpp/constraints/explicit/relative-transformation.hh