Relative transformation as a mapping between configuration variables. More...
#include <hpp/constraints/explicit/relative-transformation.hh>
Public Member Functions | |
const JointConstPtr_t & | joint1 () const |
Get joint 1. More... | |
const JointConstPtr_t & | joint2 () const |
Get joint 2. More... | |
![]() | |
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 ArrayXb & | activeParameters () const |
Returns a vector of booleans that indicates whether the corresponding configuration parameter influences this constraints. More... | |
const ArrayXb & | activeDerivativeParameters () 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 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) |
Return a shared pointer to a new instance. More... | |
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 |
Compute the value (dimension 7) of the freeflyer joint 2. More... | |
void | impl_jacobian (matrixOut_t jacobian, vectorIn_t arg) const |
![]() | |
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 | |
![]() | |
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... | |
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.
|
protected |
|
protected |
|
protected |
|
protected |
|
inlineprotected |
|
static |
Return a shared pointer to a new instance.
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, |
|
protectedvirtual |
Compute the value (dimension 7) of the freeflyer joint 2.
argument | vector of input configuration variables (all joints except freeflyer joint) |
result | vector of output configuration variables corresponding to the freeflyer value. |
Implements hpp::constraints::DifferentiableFunction.
|
protectedvirtual |
Implements hpp::constraints::DifferentiableFunction.
|
inlineprotected |
|
inline |
Get joint 1.
|
inline |
Get joint 2.