hpp-constraints: hpp::constraints::explicit_::ImplicitFunction 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_::ImplicitFunction Class Reference

`#include <hpp/constraints/explicit/implicit-function.hh>`

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

## Public Types
typedef shared_ptr< ImplicitFunction > | Ptr_t

## Public Member Functions
const DifferentiableFunctionPtr_t & | inputToOutput () const
| Get function f that maps input variables to output variables.
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 Ptr_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)
Static Public Member Functions inherited from hpp::constraints::DifferentiableFunction
static DifferentiableFunctionPtr_t | extract (DifferentiableFunctionPtr_t original, interval_t interval)

## Protected Member Functions
| ImplicitFunction (const LiegroupSpacePtr_t &configSpace, const DifferentiableFunctionPtr_t &function, const segments_t &inputConf, const segments_t &outputConf, const segments_t &inputVelocity, const segments_t &outputVelocity)
void | impl_compute (LiegroupElementRef result, vectorIn_t argument) const
| Compute g (q_out) - f (q_in)
void | impl_jacobian (matrixOut_t jacobian, vectorIn_t arg) const
| Compute Jacobian of g (q_out) - f (q_in) with respect to q.
bool | isEqual (const DifferentiableFunction &other) const
std::pair< JointConstPtr_t, JointConstPtr_t > | dependsOnRelPoseBetween (DeviceConstPtr_t robot) 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

Function of the form q -> g (q_out) - f (q_in)

where

- q_out is a vector composed of configuration variables of q,
- q_in is the vector composed of other configuration variables of q,
- f, g are differentiable functions with values in a Lie group.

This class is mainly used to create hpp::constraints::Explicit instances.

## Member Typedef Documentation

## ◆ Ptr_t

typedef shared_ptr<ImplicitFunction> hpp::constraints::explicit_::ImplicitFunction::Ptr_t

## Constructor & Destructor Documentation

## ◆ ImplicitFunction()

hpp::constraints::explicit_::ImplicitFunction::ImplicitFunction | ( | const LiegroupSpacePtr_t & | configSpace,
|  | const DifferentiableFunctionPtr_t & | function,
|  | const segments_t & | inputConf,
|  | const segments_t & | outputConf,
|  | const segments_t & | inputVelocity,
|  | const segments_t & | outputVelocity )
| protected

Constructor

Parameters

  configSpace | input space of this function - usually a robot configuration space,
  function | function f,
  inputConf | set of indices defining q_in,
  inputVelocity | set of indices defining q_in derivative,
  outputConf | set of indices defining q_out
  outputVelocity | set of indices defining q_out derivative

## Member Function Documentation

## ◆ create()

static Ptr_t hpp::constraints::explicit_::ImplicitFunction::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 )
| static

create instance and return shared pointer

Parameters

  configSpace | input space of this function - usually a robot configuration space,
  function | function f,
  inputConf | set of indices defining q_in,
  inputVelocity | set of indices defining q_in derivative,
  outputConf | set of indices defining q_out
  outputVelocity | set of indices defining q_out derivative

## ◆ dependsOnRelPoseBetween()

std::pair< JointConstPtr_t, JointConstPtr_t > hpp::constraints::explicit_::ImplicitFunction::dependsOnRelPoseBetween | ( | DeviceConstPtr_t | robot | ) | const
| protected virtual

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

Currently checks if the implicit function specifies a joint where

- q_out is a vector corresponding to only 1 joint
- q_in is an empty vector (since f is constant and specifies the whole or part of the pose of the joint)

Parameters

  robot | the robot the constraints are applied on,

Returns
  pair of pointers to the lock joint and its parent joint, arranged in order of increasing joint index, or a pair of empty shared pointers if the implicit function does not specify a locked joint.

Reimplemented from hpp::constraints::DifferentiableFunction.

## ◆ impl_compute()

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

Compute g (q_out) - f (q_in)

Implements hpp::constraints::DifferentiableFunction.

## ◆ impl_jacobian()

void hpp::constraints::explicit_::ImplicitFunction::impl_jacobian | ( | matrixOut_t | jacobian,
|  | vectorIn_t | arg ) const
| protected virtual

Compute Jacobian of g (q_out) - f (q_in) with respect to q.

Implements hpp::constraints::DifferentiableFunction.

## ◆ inputToOutput()

const DifferentiableFunctionPtr_t & hpp::constraints::explicit_::ImplicitFunction::inputToOutput | ( |  | ) | const

Get function f that maps input variables to output variables.

## ◆ isEqual()

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

Reimplemented from hpp::constraints::DifferentiableFunction.

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

- include/hpp/constraints/explicit/implicit-function.hh