Relative transformation as an explicit constraint. More...
#include <hpp/core/explicit-relative-transformation.hh>
Static Public Member Functions | |
static ExplicitRelativeTransformationPtr_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 | |
ExplicitRelativeTransformation (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)) | |
ExplicitRelativeTransformation (const ExplicitRelativeTransformation &other) | |
void | init (const ExplicitRelativeTransformationWkPtr_t &weak) |
void | impl_compute (LiegroupElement &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()) | |
DifferentiableFunction (size_type sizeInput, size_type sizeInputDerivative, const LiegroupSpacePtr_t &outputSpace, std::string name=std::string()) | |
Additional Inherited Members | |
![]() | |
size_type | inputSize_ |
size_type | inputDerivativeSize_ |
LiegroupSpacePtr_t | outputSpace_ |
ArrayXb | activeParameters_ |
ArrayXb | activeDerivativeParameters_ |
Relative transformation as an explicit constraint.
When the positions of two joints are constrained by a full transformation constraint, if the second joint is hold by a freeflyer sequence (R3 x SO(3)), 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 |
|
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, |
ExplicitNumericalConstraintPtr_t hpp::core::ExplicitRelativeTransformation::createNumericalConstraint | ( | ) |
|
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.