hpp-constraints
6.0.0
Definition of basic geometric constraints for motion planning
|
#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... | |
std::pair< JointConstPtr_t, JointConstPtr_t > | dependsOnRelPoseBetween (DeviceConstPtr_t) const |
![]() | |
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. 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 |
bool | operator== (DifferentiableFunction const &other) const |
bool | operator!= (DifferentiableFunction const &b) const |
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 Transform3s &frame1, const Transform3s &frame2) |
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 Transform3s &frame1, const Transform3s &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 |
void | impl_jacobian (matrixOut_t jacobian, vectorIn_t arg) const |
bool | isEqual (const DifferentiableFunction &other) 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... | |
DifferentiableFunction () | |
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_ |
ArrayXb | activeDerivativeParameters_ |
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 held by a freeflyer joint, the position of this latter joint can be explicitly 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, |
|
inlinevirtual |
Return pair of joints the relative pose between which modifies the function value if any
This method is useful to know whether an instance of Implicit constrains the relative pose between two joints.
Reimplemented from hpp::constraints::DifferentiableFunction.
|
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 |
|
inlineprotectedvirtual |
Reimplemented from hpp::constraints::DifferentiableFunction.
|
inline |
Get joint 1.
|
inline |
Get joint 2.