Configuration of a Joint. More...
#include <hpp/model/joint-configuration.hh>
Public Member Functions | |
JointConfiguration (size_type configSize) | |
Constructor. | |
virtual | ~JointConfiguration () |
Destructor. | |
virtual void | interpolate (ConfigurationIn_t q1, ConfigurationIn_t q2, const value_type &u, const size_type &index, ConfigurationOut_t result)=0 |
Interpolate two configurations of the joint. | |
virtual value_type | distance (ConfigurationIn_t q1, ConfigurationIn_t q2, const size_type &index) const =0 |
Distance between two configurations of the joint. | |
virtual void | integrate (ConfigurationIn_t q, vectorIn_t v, const size_type &indexConfig, const size_type &indexVelocity, ConfigurationOut_t result) const =0 |
Integrate constant derivative during unit time. | |
virtual void | difference (ConfigurationIn_t q1, ConfigurationIn_t q2, const size_type &indexConfig, const size_type &indexVelocity, vectorOut_t result) const =0 |
Difference between two configurations. | |
virtual void | uniformlySample (const size_type &index, ConfigurationOut_t result) const =0 |
Uniformly sample the configuration space of the joint. | |
Bounds | |
Set whether given degree of freedom is bounded | |
void | isBounded (size_type rank, bool bounded) |
bool | isBounded (size_type rank) const |
Get whether given degree of freedom is bounded. | |
value_type | lowerBound (size_type rank) const |
Get lower bound of given degree of freedom. | |
value_type | upperBound (size_type rank) const |
Get upper bound of given degree of freedom. | |
void | lowerBound (size_type rank, value_type lowerBound) |
Set lower bound of given degree of freedom. | |
void | upperBound (size_type rank, value_type upperBound) |
Set upper bound of given degree of freedom. |
Configuration of a Joint.
Depending on joint type, the configuration of the joint belongs to Lie groups with different structures. This abstract class sspecifies some methods that are specific to the joint configuration space, mainly
hpp::model::JointConfiguration::JointConfiguration | ( | size_type | configSize | ) |
Constructor.
configSize | dimension of the joint configuration size: used to resize the vector of bounds. |
virtual hpp::model::JointConfiguration::~JointConfiguration | ( | ) | [virtual] |
Destructor.
virtual void hpp::model::JointConfiguration::difference | ( | ConfigurationIn_t | q1, |
ConfigurationIn_t | q2, | ||
const size_type & | indexConfig, | ||
const size_type & | indexVelocity, | ||
vectorOut_t | result | ||
) | const [pure virtual] |
Difference between two configurations.
q1 | configuration, |
q2 | configuration, |
indexConfig | index of first component of q corresponding to the joint. |
indexVelocity | index of first component of v corresponding to the joint |
result[indexVelocity:indexVelocity+nbdofs] | part of vector representing the difference between q1 and q2. |
See derived classes for details
Implemented in hpp::model::TranslationJointConfig< dimension >, hpp::model::rotationJointConfig::Bounded, hpp::model::rotationJointConfig::UnBounded, hpp::model::RotationJointConfig, hpp::model::SO3JointConfig, and hpp::model::AnchorJointConfig.
virtual value_type hpp::model::JointConfiguration::distance | ( | ConfigurationIn_t | q1, |
ConfigurationIn_t | q2, | ||
const size_type & | index | ||
) | const [pure virtual] |
Distance between two configurations of the joint.
q1,q2 | two configurations of the robot |
index | index of first component of q1 and q2 corresponding to the joint. |
Implemented in hpp::model::TranslationJointConfig< dimension >, hpp::model::rotationJointConfig::Bounded, hpp::model::rotationJointConfig::UnBounded, hpp::model::RotationJointConfig, hpp::model::SO3JointConfig, and hpp::model::AnchorJointConfig.
virtual void hpp::model::JointConfiguration::integrate | ( | ConfigurationIn_t | q, |
vectorIn_t | v, | ||
const size_type & | indexConfig, | ||
const size_type & | indexVelocity, | ||
ConfigurationOut_t | result | ||
) | const [pure virtual] |
Integrate constant derivative during unit time.
q | initial configuration |
v | joint velocity |
indexConfig | index of first component of q corresponding to the joint. |
indexVelocity | index of first component of v corresponding to the joint |
result | write joint configuration in result [indexConfig:indexConfig + joint config size] |
Implemented in hpp::model::TranslationJointConfig< dimension >, hpp::model::rotationJointConfig::Bounded, hpp::model::rotationJointConfig::UnBounded, hpp::model::RotationJointConfig, hpp::model::SO3JointConfig, and hpp::model::AnchorJointConfig.
virtual void hpp::model::JointConfiguration::interpolate | ( | ConfigurationIn_t | q1, |
ConfigurationIn_t | q2, | ||
const value_type & | u, | ||
const size_type & | index, | ||
ConfigurationOut_t | result | ||
) | [pure virtual] |
Interpolate two configurations of the joint.
q1,q2,two | configurations to interpolate |
u | in [0,1] position along the interpolation: q1 for u=0, q2 for u=1 |
index | index of first component of q1 and q2 corresponding to the joint. |
result | write joint configuration in result [index:index+nb dofs] |
q1 and q2 are configurations of the robot where coordinates between index and index + number of dofs - 1 correspond to the configuration of the joint:
Implemented in hpp::model::TranslationJointConfig< dimension >, hpp::model::rotationJointConfig::Bounded, hpp::model::rotationJointConfig::UnBounded, hpp::model::RotationJointConfig, hpp::model::SO3JointConfig, and hpp::model::AnchorJointConfig.
void hpp::model::JointConfiguration::isBounded | ( | size_type | rank, |
bool | bounded | ||
) |
bool hpp::model::JointConfiguration::isBounded | ( | size_type | rank | ) | const |
Get whether given degree of freedom is bounded.
value_type hpp::model::JointConfiguration::lowerBound | ( | size_type | rank | ) | const |
Get lower bound of given degree of freedom.
void hpp::model::JointConfiguration::lowerBound | ( | size_type | rank, |
value_type | lowerBound | ||
) |
Set lower bound of given degree of freedom.
virtual void hpp::model::JointConfiguration::uniformlySample | ( | const size_type & | index, |
ConfigurationOut_t | result | ||
) | const [pure virtual] |
Uniformly sample the configuration space of the joint.
index | index of first component of q corresponding to the joint. |
result | write joint configuration in result [index:index+nb dofs] |
Implemented in hpp::model::TranslationJointConfig< dimension >, hpp::model::rotationJointConfig::Bounded, hpp::model::rotationJointConfig::UnBounded, hpp::model::RotationJointConfig, hpp::model::SO3JointConfig, and hpp::model::AnchorJointConfig.
value_type hpp::model::JointConfiguration::upperBound | ( | size_type | rank | ) | const |
Get upper bound of given degree of freedom.
void hpp::model::JointConfiguration::upperBound | ( | size_type | rank, |
value_type | upperBound | ||
) |
Set upper bound of given degree of freedom.