#include <multibody/joint/joint-base.hpp>
Public Types | |
typedef _JointModel | Derived |
typedef JointModelBase < _JointModel > | Base |
typedef traits< _JointModel > ::Joint | Joint |
Public Member Functions | |
JointModel & | derived () |
const JointModel & | derived () const |
JointData | createData () const |
void | calc (JointData &data, const Eigen::VectorXd &qs) const |
void | calc (JointData &data, const Eigen::VectorXd &qs, const Eigen::VectorXd &vs) const |
void | calc_aba (JointData &data, Inertia::Matrix6 &I, const bool update_I=false) const |
ConfigVector_t | integrate (const Eigen::VectorXd &q, const Eigen::VectorXd &v) const |
Integrate joint's configuration for a tangent vector during one unit time. | |
ConfigVector_t | interpolate (const Eigen::VectorXd &q0, const Eigen::VectorXd &q1, double u) const |
Interpolation between two joint's configurations. | |
ConfigVector_t | random () const |
Generate a random joint configuration, normalizing quaternions when necessary. | |
ConfigVector_t | randomConfiguration (const ConfigVector_t &lower_pos_limit, const ConfigVector_t &upper_pos_limit) const |
Generate a configuration vector uniformly sampled among provided limits. | |
TangentVector_t | difference (const Eigen::VectorXd &q0, const Eigen::VectorXd &q1) const |
the tangent vector that must be integrated during one unit time to go from q0 to q1 | |
double | distance (const Eigen::VectorXd &q0, const Eigen::VectorXd &q1) const |
Distance between two configurations of the joint. | |
int | nv () const |
int | nq () const |
int | nv_impl () const |
int | nq_impl () const |
const int & | idx_q () const |
const int & | idx_v () const |
const JointIndex & | id () const |
void | setIndexes (JointIndex id, int q, int v) |
template<typename D > | |
SizeDepType< NQ >::template SegmentReturn< D >::ConstType | jointConfigSelector (const Eigen::MatrixBase< D > &a) const |
template<typename D > | |
SizeDepType< NQ >::template SegmentReturn< D >::ConstType | jointConfigSelector_impl (const Eigen::MatrixBase< D > &a) const |
template<typename D > | |
SizeDepType< NQ >::template SegmentReturn< D >::Type | jointConfigSelector (Eigen::MatrixBase< D > &a) const |
template<typename D > | |
SizeDepType< NQ >::template SegmentReturn< D >::Type | jointConfigSelector_impl (Eigen::MatrixBase< D > &a) const |
template<typename D > | |
SizeDepType< NV >::template SegmentReturn< D >::ConstType | jointVelocitySelector (const Eigen::MatrixBase< D > &a) const |
template<typename D > | |
SizeDepType< NV >::template SegmentReturn< D >::ConstType | jointVelocitySelector_impl (const Eigen::MatrixBase< D > &a) const |
template<typename D > | |
SizeDepType< NV >::template SegmentReturn< D >::Type | jointVelocitySelector (Eigen::MatrixBase< D > &a) const |
template<typename D > | |
SizeDepType< NV >::template SegmentReturn< D >::Type | jointVelocitySelector_impl (Eigen::MatrixBase< D > &a) const |
template<typename D > | |
SizeDepType< NV >::template ColsReturn< D >::ConstType | jointCols (const Eigen::MatrixBase< D > &A) const |
template<typename D > | |
SizeDepType< NV >::template ColsReturn< D >::ConstType | jointCols_impl (const Eigen::MatrixBase< D > &A) const |
template<typename D > | |
SizeDepType< NV >::template ColsReturn< D >::Type | jointCols (Eigen::MatrixBase< D > &A) const |
template<typename D > | |
SizeDepType< NV >::template ColsReturn< D >::Type | jointCols_impl (Eigen::MatrixBase< D > &A) const |
JointModelDense< NQ, NV > | toDense () const |
Public Attributes | |
SE3_JOINT_TYPEDEF_TEMPLATE | |
JointIndex | i_id |
int | i_q |
int | i_v |
typedef JointModelBase<_JointModel> se3::JointModelBase< _JointModel >::Base |
Reimplemented in se3::JointModelDense< _NQ, _NV >.
typedef _JointModel se3::JointModelBase< _JointModel >::Derived |
typedef traits<_JointModel>::Joint se3::JointModelBase< _JointModel >::Joint |
Reimplemented in se3::JointModelRevolute< axis >, se3::JointModelPrismatic< axis >, se3::JointModelPlanar, se3::JointModelRevoluteUnaligned, se3::JointModelSphericalZYX, se3::JointModelPrismaticUnaligned, se3::JointModelTranslation, se3::JointModelSpherical, se3::JointModelFreeFlyer, se3::JointModelDense< _NQ, _NV >, se3::JointModelAccessor, and se3::JointModelGeneric.
void se3::JointModelBase< _JointModel >::calc | ( | JointData & | data, |
const Eigen::VectorXd & | qs | ||
) | const [inline] |
Reimplemented in se3::JointModelRevolute< axis >, se3::JointModelPrismatic< axis >, se3::JointModelPlanar, se3::JointModelRevoluteUnaligned, se3::JointModelPrismaticUnaligned, se3::JointModelSphericalZYX, se3::JointModelTranslation, se3::JointModelSpherical, se3::JointModelFreeFlyer, se3::JointModelDense< _NQ, _NV >, and se3::JointModelAccessor.
Referenced by se3::ForwardKinematicZeroStep::algo(), se3::CATForwardStep::algo(), se3::ForwardKinematicFirstStep::algo(), and se3::ForwardKinematicSecondStep::algo().
void se3::JointModelBase< _JointModel >::calc | ( | JointData & | data, |
const Eigen::VectorXd & | qs, | ||
const Eigen::VectorXd & | vs | ||
) | const [inline] |
Reimplemented in se3::JointModelRevolute< axis >, se3::JointModelPrismatic< axis >, se3::JointModelPlanar, se3::JointModelRevoluteUnaligned, se3::JointModelSphericalZYX, se3::JointModelPrismaticUnaligned, se3::JointModelTranslation, se3::JointModelSpherical, se3::JointModelFreeFlyer, se3::JointModelDense< _NQ, _NV >, and se3::JointModelAccessor.
void se3::JointModelBase< _JointModel >::calc_aba | ( | JointData & | data, |
Inertia::Matrix6 & | I, | ||
const bool | update_I = false |
||
) | const [inline] |
Reimplemented in se3::JointModelRevolute< axis >, se3::JointModelPrismatic< axis >, se3::JointModelSphericalZYX, se3::JointModelPlanar, se3::JointModelRevoluteUnaligned, se3::JointModelPrismaticUnaligned, se3::JointModelTranslation, se3::JointModelSpherical, se3::JointModelFreeFlyer, se3::JointModelDense< _NQ, _NV >, and se3::JointModelAccessor.
JointData se3::JointModelBase< _JointModel >::createData | ( | ) | const [inline] |
Reimplemented in se3::JointModelRevolute< axis >, se3::JointModelPrismatic< axis >, se3::JointModelPlanar, se3::JointModelRevoluteUnaligned, se3::JointModelPrismaticUnaligned, se3::JointModelSphericalZYX, se3::JointModelTranslation, se3::JointModelSpherical, se3::JointModelFreeFlyer, se3::JointModelDense< _NQ, _NV >, and se3::JointModelGeneric.
JointModel& se3::JointModelBase< _JointModel >::derived | ( | ) | [inline] |
Referenced by se3::JointModelBase< JointModelDense< _NQ, _NV > >::calc(), se3::JointModelBase< JointModelDense< _NQ, _NV > >::calc_aba(), se3::JointModelBase< JointModelDense< _NQ, _NV > >::createData(), se3::JointModelBase< JointModelDense< _NQ, _NV > >::difference(), se3::JointModelBase< JointModelDense< _NQ, _NV > >::distance(), se3::JointModelBase< JointModelDense< _NQ, _NV > >::integrate(), se3::JointModelBase< JointModelDense< _NQ, _NV > >::interpolate(), se3::JointModelBase< JointModelDense< _NQ, _NV > >::jointCols(), se3::JointModelBase< JointModelDense< _NQ, _NV > >::jointConfigSelector(), se3::JointModelBase< JointModelDense< _NQ, _NV > >::jointVelocitySelector(), se3::JointModelBase< JointModelDense< _NQ, _NV > >::nq(), se3::JointModelBase< JointModelDense< _NQ, _NV > >::nv(), se3::JointModelBase< JointModelDense< _NQ, _NV > >::random(), se3::JointModelBase< JointModelDense< _NQ, _NV > >::randomConfiguration(), and se3::JointModelBase< JointModelDense< _NQ, _NV > >::toDense().
const JointModel& se3::JointModelBase< _JointModel >::derived | ( | ) | const [inline] |
TangentVector_t se3::JointModelBase< _JointModel >::difference | ( | const Eigen::VectorXd & | q0, |
const Eigen::VectorXd & | q1 | ||
) | const [inline] |
the tangent vector that must be integrated during one unit time to go from q0 to q1
[in] | q0 | Initial configuration |
[in] | q1 | Wished configuration |
Referenced by se3::DifferentiateStep::algo().
double se3::JointModelBase< _JointModel >::distance | ( | const Eigen::VectorXd & | q0, |
const Eigen::VectorXd & | q1 | ||
) | const [inline] |
Distance between two configurations of the joint.
[in] | q0 | Configuration 1 |
[in] | q1 | Configuration 2 |
Referenced by se3::DistanceStep::algo().
const JointIndex& se3::JointModelBase< _JointModel >::id | ( | ) | const [inline] |
Reimplemented in se3::JointModelAccessor.
Referenced by se3::ForwardKinematicZeroStep::algo(), se3::CATForwardStep::algo(), se3::ForwardKinematicFirstStep::algo(), se3::CATBackwardStep::algo(), se3::ForwardKinematicSecondStep::algo(), se3::JointModelDense< _NQ, _NV >::operator==(), se3::JointModelFreeFlyer::operator==(), se3::JointModelTranslation::operator==(), se3::JointModelSpherical::operator==(), se3::JointModelPrismaticUnaligned::operator==(), se3::JointModelRevoluteUnaligned::operator==(), se3::JointModelPlanar::operator==(), se3::JointModelSphericalZYX::operator==(), se3::JointModelPrismatic< axis >::operator==(), and se3::JointModelBase< JointModelDense< _NQ, _NV > >::setIndexes().
const int& se3::JointModelBase< _JointModel >::idx_q | ( | ) | const [inline] |
Reimplemented in se3::JointModelAccessor.
Referenced by se3::internal::JointModelVariantToGeneric::operator()(), se3::JointModelGeneric::operator=(), se3::JointModelDense< _NQ, _NV >::operator==(), se3::JointModelFreeFlyer::operator==(), se3::JointModelTranslation::operator==(), se3::JointModelSpherical::operator==(), se3::JointModelPrismaticUnaligned::operator==(), se3::JointModelRevoluteUnaligned::operator==(), se3::JointModelPlanar::operator==(), se3::JointModelSphericalZYX::operator==(), and se3::JointModelPrismatic< axis >::operator==().
const int& se3::JointModelBase< _JointModel >::idx_v | ( | ) | const [inline] |
Reimplemented in se3::JointModelAccessor.
Referenced by se3::CATBackwardStep::algo(), se3::internal::JointModelVariantToGeneric::operator()(), se3::JointModelGeneric::operator=(), se3::JointModelDense< _NQ, _NV >::operator==(), se3::JointModelFreeFlyer::operator==(), se3::JointModelTranslation::operator==(), se3::JointModelSpherical::operator==(), se3::JointModelPrismaticUnaligned::operator==(), se3::JointModelRevoluteUnaligned::operator==(), se3::JointModelPlanar::operator==(), se3::JointModelSphericalZYX::operator==(), and se3::JointModelPrismatic< axis >::operator==().
ConfigVector_t se3::JointModelBase< _JointModel >::integrate | ( | const Eigen::VectorXd & | q, |
const Eigen::VectorXd & | v | ||
) | const [inline] |
Integrate joint's configuration for a tangent vector during one unit time.
[in] | q | initatial configuration (size full model.nq) |
[in] | v | joint velocity (size full model.nv) |
Referenced by se3::IntegrateStep::algo().
ConfigVector_t se3::JointModelBase< _JointModel >::interpolate | ( | const Eigen::VectorXd & | q0, |
const Eigen::VectorXd & | q1, | ||
double | u | ||
) | const [inline] |
Interpolation between two joint's configurations.
[in] | q0 | Initial configuration to interpolate |
[in] | q1 | Final configuration to interpolate |
[in] | u | u in [0;1] position along the interpolation. |
Referenced by se3::InterpolateStep::algo().
SizeDepType<NV>::template ColsReturn<D>::ConstType se3::JointModelBase< _JointModel >::jointCols | ( | const Eigen::MatrixBase< D > & | A | ) | const [inline] |
Referenced by se3::CATForwardStep::algo(), and se3::CATBackwardStep::algo().
SizeDepType<NV>::template ColsReturn<D>::Type se3::JointModelBase< _JointModel >::jointCols | ( | Eigen::MatrixBase< D > & | A | ) | const [inline] |
SizeDepType<NV>::template ColsReturn<D>::ConstType se3::JointModelBase< _JointModel >::jointCols_impl | ( | const Eigen::MatrixBase< D > & | A | ) | const [inline] |
Reimplemented in se3::JointModelDense< _NQ, _NV >, and se3::JointModelDense< _NQ, _NV >.
SizeDepType<NV>::template ColsReturn<D>::Type se3::JointModelBase< _JointModel >::jointCols_impl | ( | Eigen::MatrixBase< D > & | A | ) | const [inline] |
Reimplemented in se3::JointModelDense< _NQ, _NV >, and se3::JointModelDense< _NQ, _NV >.
SizeDepType<NQ>::template SegmentReturn<D>::ConstType se3::JointModelBase< _JointModel >::jointConfigSelector | ( | const Eigen::MatrixBase< D > & | a | ) | const [inline] |
Referenced by se3::IntegrateStep::algo(), se3::InterpolateStep::algo(), and se3::RandomConfiguration::algo().
SizeDepType<NQ>::template SegmentReturn<D>::Type se3::JointModelBase< _JointModel >::jointConfigSelector | ( | Eigen::MatrixBase< D > & | a | ) | const [inline] |
SizeDepType<NQ>::template SegmentReturn<D>::ConstType se3::JointModelBase< _JointModel >::jointConfigSelector_impl | ( | const Eigen::MatrixBase< D > & | a | ) | const [inline] |
Reimplemented in se3::JointModelDense< _NQ, _NV >, and se3::JointModelDense< _NQ, _NV >.
SizeDepType<NQ>::template SegmentReturn<D>::Type se3::JointModelBase< _JointModel >::jointConfigSelector_impl | ( | Eigen::MatrixBase< D > & | a | ) | const [inline] |
Reimplemented in se3::JointModelDense< _NQ, _NV >, and se3::JointModelDense< _NQ, _NV >.
SizeDepType<NV>::template SegmentReturn<D>::ConstType se3::JointModelBase< _JointModel >::jointVelocitySelector | ( | const Eigen::MatrixBase< D > & | a | ) | const [inline] |
SizeDepType<NV>::template SegmentReturn<D>::Type se3::JointModelBase< _JointModel >::jointVelocitySelector | ( | Eigen::MatrixBase< D > & | a | ) | const [inline] |
SizeDepType<NV>::template SegmentReturn<D>::ConstType se3::JointModelBase< _JointModel >::jointVelocitySelector_impl | ( | const Eigen::MatrixBase< D > & | a | ) | const [inline] |
Reimplemented in se3::JointModelDense< _NQ, _NV >, and se3::JointModelDense< _NQ, _NV >.
SizeDepType<NV>::template SegmentReturn<D>::Type se3::JointModelBase< _JointModel >::jointVelocitySelector_impl | ( | Eigen::MatrixBase< D > & | a | ) | const [inline] |
Reimplemented in se3::JointModelDense< _NQ, _NV >, and se3::JointModelDense< _NQ, _NV >.
int se3::JointModelBase< _JointModel >::nq | ( | ) | const [inline] |
int se3::JointModelBase< _JointModel >::nq_impl | ( | ) | const [inline] |
Reimplemented in se3::JointModelDense< _NQ, _NV >, and se3::JointModelAccessor.
int se3::JointModelBase< _JointModel >::nv | ( | ) | const [inline] |
Referenced by se3::CATBackwardStep::algo().
int se3::JointModelBase< _JointModel >::nv_impl | ( | ) | const [inline] |
Reimplemented in se3::JointModelDense< _NQ, _NV >, and se3::JointModelAccessor.
ConfigVector_t se3::JointModelBase< _JointModel >::random | ( | ) | const [inline] |
Generate a random joint configuration, normalizing quaternions when necessary.
ConfigVector_t se3::JointModelBase< _JointModel >::randomConfiguration | ( | const ConfigVector_t & | lower_pos_limit, |
const ConfigVector_t & | upper_pos_limit | ||
) | const [inline] |
Generate a configuration vector uniformly sampled among provided limits.
[in] | lower_pos_limit | lower joint limit |
[in] | upper_pos_limit | upper joint limit |
Referenced by se3::RandomConfiguration::algo().
void se3::JointModelBase< _JointModel >::setIndexes | ( | JointIndex | id, |
int | q, | ||
int | v | ||
) | [inline] |
Reimplemented in se3::JointModelAccessor.
Referenced by se3::internal::JointModelVariantToGeneric::operator()().
JointModelDense<NQ, NV> se3::JointModelBase< _JointModel >::toDense | ( | ) | const [inline] |
JointIndex se3::JointModelBase< _JointModel >::i_id |
int se3::JointModelBase< _JointModel >::i_q |
int se3::JointModelBase< _JointModel >::i_v |
se3::JointModelBase< _JointModel >::SE3_JOINT_TYPEDEF_TEMPLATE |
Reimplemented in se3::JointModelRevolute< axis >, se3::JointModelPrismatic< axis >, and se3::JointModelDense< _NQ, _NV >.