Go to the documentation of this file.
    5 #ifndef __pinocchio_multibody_joint_revolute_unbounded_hpp__ 
    6 #define __pinocchio_multibody_joint_revolute_unbounded_hpp__ 
   17   template<
typename Scalar, 
int Options, 
int axis>
 
   20   template<
typename _Scalar, 
int _Options, 
int axis>
 
   42     typedef Eigen::Matrix<Scalar, 6, NV, Options> 
U_t;
 
   43     typedef Eigen::Matrix<Scalar, NV, NV, Options> 
D_t;
 
   44     typedef Eigen::Matrix<Scalar, 6, NV, Options> 
UD_t;
 
   54   template<
typename _Scalar, 
int _Options, 
int axis>
 
   61   template<
typename _Scalar, 
int _Options, 
int axis>
 
   68   template<
typename _Scalar, 
int _Options, 
int axis>
 
   70   : 
public JointDataBase<JointDataRevoluteUnboundedTpl<_Scalar, _Options, axis>>
 
   72     EIGEN_MAKE_ALIGNED_OPERATOR_NEW
 
   93     , 
joint_v(TangentVector_t::Zero())
 
  105       return std::string(
"JointDataRUB") + axisLabel<axis>();
 
  114   template<
typename NewScalar, 
typename Scalar, 
int Options, 
int axis>
 
  120   template<
typename _Scalar, 
int _Options, 
int axis>
 
  122   : 
public JointModelBase<JointModelRevoluteUnboundedTpl<_Scalar, _Options, axis>>
 
  124     EIGEN_MAKE_ALIGNED_OPERATOR_NEW
 
  136     typedef Eigen::Matrix<Scalar, 3, 1, _Options> 
Vector3;
 
  140       return JointDataDerived();
 
  145       return {
false, 
false};
 
  153     template<
typename ConfigVector>
 
  154     void calc(JointDataDerived & 
data, 
const typename Eigen::MatrixBase<ConfigVector> & 
qs)
 const 
  161       data.M.setValues(sa, ca);
 
  164     template<
typename TangentVector>
 
  166     calc(JointDataDerived & 
data, 
const Blank, 
const typename Eigen::MatrixBase<TangentVector> & vs)
 
  170       data.v.angularRate() = 
data.joint_v[0];
 
  173     template<
typename ConfigVector, 
typename TangentVector>
 
  175       JointDataDerived & 
data,
 
  176       const typename Eigen::MatrixBase<ConfigVector> & 
qs,
 
  177       const typename Eigen::MatrixBase<TangentVector> & vs)
 const 
  181       data.v.angularRate() = 
data.joint_v[0];
 
  184     template<
typename VectorLike, 
typename Matrix6Like>
 
  186       JointDataDerived & 
data,
 
  187       const Eigen::MatrixBase<VectorLike> & armature,
 
  188       const Eigen::MatrixBase<Matrix6Like> & I,
 
  189       const bool update_I)
 const 
  191       data.U = I.col(Inertia::ANGULAR + 
axis);
 
  193         (
Scalar)(1) / (I(Inertia::ANGULAR + 
axis, Inertia::ANGULAR + 
axis) + armature[0]);
 
  202       return std::string(
"JointModelRUB") + axisLabel<axis>();
 
  214         return Vector3::UnitX();
 
  216         return Vector3::UnitY();
 
  218         return Vector3::UnitZ();
 
  220         assert(
false && 
"must never happen");
 
  226     template<
typename NewScalar>
 
  249   template<
typename Scalar, 
int Options, 
int axis>
 
  256 #include <boost/type_traits.hpp> 
  260   template<
typename Scalar, 
int Options, 
int axis>
 
  262   : 
public integral_constant<bool, true>
 
  266   template<
typename Scalar, 
int Options, 
int axis>
 
  268   : 
public integral_constant<bool, true>
 
  272   template<
typename Scalar, 
int Options, 
int axis>
 
  274   : 
public integral_constant<bool, true>
 
  278   template<
typename Scalar, 
int Options, 
int axis>
 
  280   : 
public integral_constant<bool, true>
 
  285 #endif // ifndef __pinocchio_multibody_joint_revolute_unbounded_hpp__ 
  
MotionZeroTpl< Scalar, Options > Bias_t
#define PINOCCHIO_JOINT_DATA_BASE_ACCESSOR_DEFAULT_RETURN_TYPE
Eigen::Matrix< Scalar, 6, NV, Options > UD_t
Vector3 getMotionAxis() const
std::string shortname() const
int idx_q(const JointModelTpl< Scalar, Options, JointCollectionTpl > &jmodel)
Visit a JointModelTpl through JointIdxQVisitor to get the index in the full model configuration space...
JointMotionSubspaceRevoluteTpl< Scalar, Options, axis > Constraint_t
int idx_v(const JointModelTpl< Scalar, Options, JointCollectionTpl > &jmodel)
Visit a JointModelTpl through JointIdxVVisitor to get the index in the model tangent space correspond...
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef JointRevoluteUnboundedTpl< _Scalar, _Options, axis > JointDerived
static std::string classname()
#define PINOCCHIO_EIGEN_CONST_CAST(TYPE, OBJ)
Macro for an automatic const_cast.
std::string shortname() const
JointDataRevoluteUnboundedTpl()
JointRevoluteUnboundedTpl< _Scalar, _Options, axis > JointDerived
void calc_aba(JointDataDerived &data, const Eigen::MatrixBase< VectorLike > &armature, const Eigen::MatrixBase< Matrix6Like > &I, const bool update_I) const
TransformRevoluteTpl< Scalar, Options, axis > Transformation_t
void calc(JointDataDerived &data, const typename Eigen::MatrixBase< ConfigVector > &qs) const
void setIndexes(JointIndex id, int q, int v)
JointModelRevoluteUnboundedTpl< Scalar, Options, axis > JointModelDerived
PINOCCHIO_JOINT_TYPEDEF_TEMPLATE(JointDerived)
JointDataRevoluteUnboundedTpl< Scalar, Options, axis > JointDataDerived
boost::mpl::true_ is_mimicable_t
JointRevoluteUnboundedTpl< context::Scalar, context::Options, 1 > JointRUBY
#define PINOCCHIO_JOINT_DATA_BASE_DEFAULT_ACCESSOR
JointModelRevoluteUnboundedTpl< NewScalar, Options, axis > cast() const
JointDataRevoluteUnboundedTpl< context::Scalar, context::Options, 2 > JointDataRUBZ
const std::vector< bool > hasConfigurationLimit() const
JointRevoluteTpl< Scalar, _Options, axis > JointDerivedBase
PINOCCHIO_JOINT_DATA_TYPEDEF_TEMPLATE(JointDerived)
const std::vector< bool > hasConfigurationLimitInTangent() const
void calc(JointDataDerived &data, const Blank, const typename Eigen::MatrixBase< TangentVector > &vs) const
int idx_vExtended() const
MotionRevoluteTpl< Scalar, Options, axis > Motion_t
static std::string classname()
Eigen::Matrix< Scalar, 3, 1, _Options > Vector3
JointModelRevoluteUnboundedTpl< context::Scalar, context::Options, 0 > JointModelRUBX
int idx_vExtended(const JointModelTpl< Scalar, Options, JointCollectionTpl > &jmodel)
Visit a JointModelTpl through JointIdvExtendedVisitor to get the index in the model extended tangent ...
JointRevoluteUnboundedTpl< _Scalar, _Options, axis > JointDerived
Eigen::Matrix< Scalar, NV, 1, Options > TangentVector_t
JointModelRevoluteUnboundedTpl< NewScalar, Options, axis > type
JointRevoluteUnboundedTpl< context::Scalar, context::Options, 2 > JointRUBZ
JointDataRevoluteUnboundedTpl< context::Scalar, context::Options, 0 > JointDataRUBX
JointDataRevoluteUnboundedTpl< context::Scalar, context::Options, 1 > JointDataRUBY
JointModelBase< JointModelRevoluteUnboundedTpl > Base
Eigen::Matrix< Scalar, NV, NV, Options > D_t
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef JointRevoluteUnboundedTpl< _Scalar, _Options, axis > JointDerived
void calc(JointDataDerived &data, const typename Eigen::MatrixBase< ConfigVector > &qs, const typename Eigen::MatrixBase< TangentVector > &vs) const
JointRevoluteUnboundedTpl< context::Scalar, context::Options, 0 > JointRUBX
Common traits structure to fully define base classes for CRTP.
Eigen::Matrix< Scalar, 6, NV, Options > U_t
JointDataDerived createData() const
PINOCCHIO_JOINT_DATA_BASE_DEFAULT_ACCESSOR ConfigVector_t joint_q
JointModelRevoluteUnboundedTpl< context::Scalar, context::Options, 2 > JointModelRUBZ
Eigen::Matrix< Scalar, NQ, 1, Options > ConfigVector_t
Type of the cast of a class C templated by Scalar and Options, to a new NewScalar type....
Main pinocchio namespace.
JointModelRevoluteUnboundedTpl< context::Scalar, context::Options, 1 > JointModelRUBY
pinocchio
Author(s): 
autogenerated on Wed May 28 2025 02:41:20