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

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

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

Public Types

typedef boost::shared_ptr< ImplicitFunctionPtr_t
 

Public Member Functions

const DifferentiableFunctionPtr_tinputToOutput () const
 Get function f that maps input variables to output variables. 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 Ptr_t create (const DevicePtr_t &robot, const DifferentiableFunctionPtr_t &function, const segments_t &inputConf, const segments_t &outputConf, const segments_t &inputVelocity, const segments_t &outputVelocity) HPP_CONSTRAINTS_DEPRECATED
 
static Ptr_t create (const DevicePtr_t &robot, const DifferentiableFunctionPtr_t &function, const DifferentiableFunctionPtr_t &g, const segments_t &inputConf, const segments_t &outputConf, const segments_t &inputVelocity, const segments_t &outputVelocity) HPP_CONSTRAINTS_DEPRECATED
 
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)
 

Protected Member Functions

 ImplicitFunction (const DevicePtr_t &robot, const DifferentiableFunctionPtr_t &function, const segments_t &inputConf, const segments_t &outputConf, const segments_t &inputVelocity, const segments_t &outputVelocity) HPP_CONSTRAINTS_DEPRECATED
 
 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) More...
 
void impl_jacobian (matrixOut_t jacobian, vectorIn_t arg) const
 Compute Jacobian of g (q_out) - f (q_in) with respect to q. More...
 
- 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

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

create instance and return shared pointer

Deprecated:
used create method that takes a LiegroupSpace instead of a robot as input.

Constructor & Destructor Documentation

◆ ImplicitFunction() [1/2]

hpp::constraints::explicit_::ImplicitFunction::ImplicitFunction ( const DevicePtr_t robot,
const DifferentiableFunctionPtr_t function,
const segments_t inputConf,
const segments_t outputConf,
const segments_t inputVelocity,
const segments_t outputVelocity 
)
protected

Constructor

Deprecated:
used constructor that takes a LiegroupSpace instead of a robot as input.

◆ ImplicitFunction() [2/2]

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
configSpaceinput space of this function - usually a robot configuration space,
functionfunction f,
inputConfset of indices defining q_in,
inputVelocityset of indices defining q_in derivative,
outputConfset of indices defining q_out
outputVelocityset of indices defining q_out derivative

Member Function Documentation

◆ create() [1/3]

static Ptr_t hpp::constraints::explicit_::ImplicitFunction::create ( const DevicePtr_t robot,
const DifferentiableFunctionPtr_t function,
const segments_t inputConf,
const segments_t outputConf,
const segments_t inputVelocity,
const segments_t outputVelocity 
)
static

◆ create() [2/3]

static Ptr_t hpp::constraints::explicit_::ImplicitFunction::create ( const DevicePtr_t robot,
const DifferentiableFunctionPtr_t function,
const DifferentiableFunctionPtr_t g,
const segments_t inputConf,
const segments_t outputConf,
const segments_t inputVelocity,
const segments_t outputVelocity 
)
static

create instance and return shared pointer

Deprecated:
used create method that takes a LiegroupSpace instead of a robot as input.

◆ create() [3/3]

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
configSpaceinput space of this function - usually a robot configuration space,
functionfunction f,
inputConfset of indices defining q_in,
inputVelocityset of indices defining q_in derivative,
outputConfset of indices defining q_out
outputVelocityset of indices defining q_out derivative

◆ impl_compute()

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

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
protectedvirtual

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.


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