hpp-constraints
6.0.0
Definition of basic geometric constraints for motion planning
|
#include <hpp/constraints/locked-joint.hh>
Public Member Functions | |
virtual ImplicitPtr_t | copy () const |
Copy object and return shared pointer to copy. More... | |
size_type | rankInConfiguration () const |
Get index of locked degree of freedom in robot configuration vector. More... | |
size_type | rankInVelocity () const |
Get index of locked degree of freedom in robot velocity vector. More... | |
size_type | configSize () const |
Get the configuration size of the joint. More... | |
size_type | numberDof () const |
Get number of degrees of freedom of the joint. More... | |
const LiegroupSpacePtr_t & | configSpace () const |
Get configuration space of locked joint. More... | |
vectorIn_t | value () const |
Get the value of the locked joint. More... | |
void | value (vectorIn_t value) |
Set the value of the locked joint. More... | |
const JointPtr_t & | joint () |
Return shared pointer to joint. More... | |
const std::string & | jointName () const |
Return the joint name. More... | |
std::ostream & | print (std::ostream &os) const |
Print object in a stream. More... | |
virtual std::pair< JointConstPtr_t, JointConstPtr_t > | doesConstrainRelPoseBetween (DeviceConstPtr_t robot) const |
![]() | |
DifferentiableFunctionPtr_t | explicitFunction () const |
const segments_t & | outputConf () const |
Get output configuration variables. More... | |
const segments_t & | outputVelocity () const |
Get output degrees of freedom. More... | |
const segments_t & | inputConf () const |
Get input configuration variables. More... | |
const segments_t & | inputVelocity () const |
Get input degrees of freedom. More... | |
virtual void | outputValue (LiegroupElementRef result, vectorIn_t qin, LiegroupElementConstRef rhs) const |
virtual void | jacobianOutputValue (vectorIn_t qin, LiegroupElementConstRef g_value, LiegroupElementConstRef rhs, matrixOut_t jacobian) const |
![]() | |
bool | operator== (const Implicit &other) const |
Operator equality. More... | |
Implicit & | operator= (const Implicit &other) |
Operator assignation. More... | |
virtual | ~Implicit () |
const ComparisonTypes_t & | comparisonType () const |
Return the ComparisonType. More... | |
void | comparisonType (const ComparisonTypes_t &comp) |
Set the comparison type. More... | |
const segments_t & | activeRows () const |
bool | checkAllRowsActive () const |
Check if all rows are active (no inactive rows) More... | |
const Eigen::RowBlockIndices & | equalityIndices () const |
Get indices of constraint coordinates that are equality. More... | |
void | setInactiveRowsToZero (vectorOut_t error) const |
DifferentiableFunction & | function () const |
Return a reference to function \(h\). More... | |
const DifferentiableFunctionPtr_t & | functionPtr () const |
Return a reference to function \(h\). More... | |
void | rightHandSideFromConfig (ConfigurationIn_t config, LiegroupElementRef rhs) |
bool | checkRightHandSide (LiegroupElementConstRef rhs) const |
size_type | parameterSize () const |
size_type | rightHandSideSize () const |
void | rightHandSideFunction (const DifferentiableFunctionPtr_t &rhsF) |
const DifferentiableFunctionPtr_t & | rightHandSideFunction () const |
vectorIn_t | rightHandSideAt (const value_type &s) |
Protected Member Functions | |
LockedJoint (const JointPtr_t &joint, const LiegroupElement &value) | |
LockedJoint (const JointPtr_t &joint, const size_type index, vectorIn_t value) | |
LockedJoint (const DevicePtr_t &robot, const size_type index, vectorIn_t value) | |
LockedJoint (const LockedJoint &other) | |
Copy constructor. More... | |
virtual bool | isEqual (const Implicit &other, bool swapAndTest) const |
void | init (const LockedJointPtr_t &self) |
![]() | |
Explicit (const LiegroupSpacePtr_t &configSpace, const DifferentiableFunctionPtr_t &function, const segments_t &inputConf, const segments_t &outputConf, const segments_t &inputVelocity, const segments_t &outputVelocity, const ComparisonTypes_t &comp, std::vector< bool > mask) | |
Explicit (const DifferentiableFunctionPtr_t &implicitFunction, const DifferentiableFunctionPtr_t &function, const segments_t &inputConf, const segments_t &outputConf, const segments_t &inputVelocity, const segments_t &outputVelocity, const ComparisonTypes_t &comp, std::vector< bool > mask) | |
(const LiegroupSpacePtr_t&, const More... | |
Explicit (const Explicit &other) | |
Copy constructor. More... | |
void | init (const ExplicitWkPtr_t &weak) |
Explicit () | |
![]() | |
Implicit (const DifferentiableFunctionPtr_t &function, ComparisonTypes_t comp, std::vector< bool > mask) | |
Implicit (const Implicit &other) | |
Copy constructor. More... | |
void | init (const ImplicitWkPtr_t &weak) |
Implicit () | |
Additional Inherited Members | |
![]() | |
DifferentiableFunctionPtr_t | inputToOutput_ |
segments_t | inputConf_ |
segments_t | outputConf_ |
segments_t | inputVelocity_ |
segments_t | outputVelocity_ |
Implementation of constraint specific to a locked joint.
The implicit formulation as defined in class Implicit is given by
\begin{equation} h (\mathbf{q}) = q_{out} - value \end{equation}
where \(value\) is an element of the configuration space of the locked joint passed to method create.
Note that \(h\) takes values in \(\mathbf{R}^{nv}\) where \(nv\) is the dimension of the joint tangent space.
The explicit formulation is given by
\begin{equation} q_{out} = value + rhs \end{equation}
where coordinates of \(rhs\) corresponding to comparison types different from Equality are set to 0.
As such, the relation between the explicit formulation and the implicit formulation is the default one.
|
protected |
Constructor
joint | joint that is locked, |
value | of the constant joint config, |
|
protected |
Constructor of partial locked joint
joint | joint that is locked, |
index | first locked degree of freedom in the joint, |
value | of the constant joint partial config, size of value determines the number of degrees of freedom locked. |
|
protected |
Constructor of locked degrees of freedom of extra config space
robot | robot |
index | index of the first locked extra degree of freedom, |
value | of the locked degrees of freedom, size of value determines the number of degrees of freedom locked. |
|
protected |
Copy constructor.
size_type hpp::constraints::LockedJoint::configSize | ( | ) | const |
Get the configuration size of the joint.
const LiegroupSpacePtr_t& hpp::constraints::LockedJoint::configSpace | ( | ) | const |
Get configuration space of locked joint.
|
virtual |
Copy object and return shared pointer to copy.
Reimplemented from hpp::constraints::Explicit.
|
static |
Create locked degrees of freedom of extra config space
dev | robot |
index | index of the first locked extra degree of freedom, |
value | of the locked degrees of freedom, size of value determines the number of degrees of freedom locked. |
|
static |
Create locked joint and return shared pointer
joint | joint that is locked, |
value | of the constant joint config, |
|
static |
Create partial locked joint (only some degrees of freedom)
joint | joint that is locked, |
index | first locked degree of freedom in the joint, |
value | of the constant joint partial config, size of value determines the number of degrees of freedom locked. |
|
static |
Return shared pointer to copy
other | instance to copy. |
|
virtual |
Get pair of joints whose relative pose is fully constrained
robot | the device that this constraint is applied to |
Reimplemented from hpp::constraints::Implicit.
|
protected |
|
protectedvirtual |
Test equality with other instance
other | object to copy |
swapAndTest | whether we should also check other == this |
Reimplemented from hpp::constraints::Explicit.
|
inline |
Return shared pointer to joint.
|
inline |
Return the joint name.
size_type hpp::constraints::LockedJoint::numberDof | ( | ) | const |
Get number of degrees of freedom of the joint.
std::ostream& hpp::constraints::LockedJoint::print | ( | std::ostream & | os | ) | const |
Print object in a stream.
size_type hpp::constraints::LockedJoint::rankInConfiguration | ( | ) | const |
Get index of locked degree of freedom in robot configuration vector.
size_type hpp::constraints::LockedJoint::rankInVelocity | ( | ) | const |
Get index of locked degree of freedom in robot velocity vector.
vectorIn_t hpp::constraints::LockedJoint::value | ( | ) | const |
Get the value of the locked joint.
void hpp::constraints::LockedJoint::value | ( | vectorIn_t | value | ) |
Set the value of the locked joint.