Relative transformation as an explicit constraint. More...
#include <hpp/core/explicit-relative-transformation.hh>
Public Member Functions | |
ExplicitNumericalConstraintPtr_t | createNumericalConstraint () |
const JointConstPtr_t & | joint1 () const |
Get joint 1. More... | |
const JointConstPtr_t & | joint2 () const |
Get joint 2. More... | |
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 |
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 | ( | ) |
|
protected |
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. |
|
protected |
|
inlineprotected |
|
inline |
Get joint 1.
|
inline |
Get joint 2.