joint-generic.hpp
Go to the documentation of this file.
1 //
2 // Copyright (c) 2016-2021 CNRS INRIA
3 //
4 
5 #ifndef __pinocchio_joint_generic_hpp__
6 #define __pinocchio_joint_generic_hpp__
7 
10 #include "pinocchio/multibody/joint/joint-basic-visitors.hxx"
12 
13 #include <boost/mpl/contains.hpp>
14 
15 namespace pinocchio
16 {
17 
18  template<typename Scalar, int Options = 0, template<typename S, int O> class JointCollectionTpl = JointCollectionDefaultTpl>
19  struct JointTpl;
20  typedef JointTpl<double> Joint;
21 
22  template<typename _Scalar, int _Options, template<typename S, int O> class JointCollectionTpl>
23  struct traits< JointTpl<_Scalar,_Options,JointCollectionTpl> >
24  {
25  enum {
26  Options = _Options,
27  NQ = Eigen::Dynamic, // Dynamic because unknown at compile time
28  NV = Eigen::Dynamic
29  };
30 
31  typedef _Scalar Scalar;
32  typedef JointCollectionTpl<Scalar,Options> JointCollection;
35 
40 
41  // [ABA]
42  typedef Eigen::Matrix<Scalar,6,Eigen::Dynamic,Options> U_t;
43  typedef Eigen::Matrix<Scalar,Eigen::Dynamic,Eigen::Dynamic,Options> D_t;
44  typedef Eigen::Matrix<Scalar,6,Eigen::Dynamic,Options> UD_t;
45 
54  typedef U_t UTypeConstRef;
55  typedef U_t UTypeRef;
56  typedef D_t DTypeConstRef;
57  typedef D_t DTypeRef;
59  typedef UD_t UDTypeRef;
60 
61  typedef Eigen::Matrix<Scalar,Eigen::Dynamic,1,Options> ConfigVector_t;
62  typedef Eigen::Matrix<Scalar,Eigen::Dynamic,1,Options> TangentVector_t;
63  };
64 
65  template<typename Scalar, int Options, template<typename S, int O> class JointCollectionTpl>
66  struct traits< JointDataTpl<Scalar,Options,JointCollectionTpl> >
68 
69  template<typename Scalar, int Options, template<typename S, int O> class JointCollectionTpl>
70  struct traits< JointModelTpl<Scalar,Options,JointCollectionTpl> >
72 
73  template<typename _Scalar, int _Options, template<typename S, int O> class JointCollectionTpl>
74  struct JointDataTpl
75  : public JointDataBase< JointDataTpl<_Scalar,_Options,JointCollectionTpl> >
76  , JointCollectionTpl<_Scalar,_Options>::JointDataVariant
77  {
78  EIGEN_MAKE_ALIGNED_OPERATOR_NEW
79 
82 
84 
85  typedef JointCollectionTpl<_Scalar,_Options> JointCollection;
87 
88  using Base::operator==;
89  using Base::operator!=;
90 
91  JointDataVariant & toVariant() { return *static_cast<JointDataVariant*>(this); }
92  const JointDataVariant & toVariant() const { return *static_cast<const JointDataVariant*>(this); }
93 
94  Constraint_t S() const { return constraint_xd(*this); }
95  Transformation_t M() const { return joint_transform(*this); }
96  Motion_t v() const { return motion(*this); }
97  Bias_t c() const { return bias(*this); }
98 
99  // [ABA CCRBA]
100  U_t U() const { return u_inertia(*this); }
101  D_t Dinv() const { return dinv_inertia(*this); }
102  UD_t UDinv() const { return udinv_inertia(*this); }
103 
105  : JointDataVariant()
106  {}
107 
108  JointDataTpl(const JointDataVariant & jdata_variant)
109  : JointDataVariant(jdata_variant)
110  {}
111 
112  template<typename JointDataDerived>
115  {
116  BOOST_MPL_ASSERT((boost::mpl::contains<typename JointDataVariant::types,JointDataDerived>));
117  }
118 
119  // Define all the standard accessors
120  Constraint_t S_accessor() const { return S(); }
121  Transformation_t M_accessor() const { return M(); }
122  Motion_t v_accessor() const { return v(); }
123  Bias_t c_accessor() const { return c(); }
124  U_t U_accessor() const { return U(); }
125  D_t Dinv_accessor() const { return Dinv(); }
126  UD_t UDinv_accessor() const { return UDinv(); }
127 
128  static std::string classname() { return "JointData"; }
129  std::string shortname() const { return ::pinocchio::shortname(*this); }
130 
131  template<typename JointDataDerived>
132  bool isEqual(const JointDataBase<JointDataDerived> & other) const
133  {
134  return ::pinocchio::isEqual(*this,other.derived());
135  }
136 
137  bool isEqual(const JointDataTpl & other) const
138  {
139  return Base::isEqual(other) && toVariant() == other.toVariant();
140  }
141 
142  bool operator==(const JointDataTpl & other) const
143  {
144  return isEqual(other);
145  }
146 
147  bool operator!=(const JointDataTpl & other) const
148  {
149  return !(*this == other);
150  }
151 
152  };
153 
154  template<typename NewScalar, typename Scalar, int Options, template<typename S, int O> class JointCollectionTpl>
155  struct CastType< NewScalar, JointModelTpl<Scalar,Options,JointCollectionTpl> >
156  {
158  };
159 
160  template<typename _Scalar, int _Options, template<typename S, int O> class JointCollectionTpl>
161  struct JointModelTpl
162  : JointModelBase< JointModelTpl<_Scalar,_Options,JointCollectionTpl> >
163  , JointCollectionTpl<_Scalar,_Options>::JointModelVariant
164  {
165  EIGEN_MAKE_ALIGNED_OPERATOR_NEW
166 
168 
171 
172  typedef JointCollectionTpl<Scalar,Options> JointCollection;
175 
176  using Base::id;
177  using Base::setIndexes;
178  using Base::operator==;
179  using Base::operator!=;
180 
182 
183  JointModelTpl(const JointModelVariant & jmodel_variant)
184  : JointCollection::JointModelVariant(jmodel_variant)
185  {
186  }
187 
188  const std::vector<bool> hasConfigurationLimit() const
189  {
191  }
192 
193  const std::vector<bool> hasConfigurationLimitInTangent() const
194  {
196  }
197 
198  template<typename JointModelDerived>
200  : JointModelVariant((JointModelVariant)jmodel.derived())
201  {
202  BOOST_MPL_ASSERT((boost::mpl::contains<typename JointModelVariant::types,JointModelDerived>));
203  }
204 
206  { return *static_cast<JointModelVariant*>(this); }
207 
208  const JointModelVariant & toVariant() const
209  { return *static_cast<const JointModelVariant*>(this); }
210 
211  JointDataDerived createData() const
212  { return ::pinocchio::createData<Scalar,Options,JointCollectionTpl>(*this); }
213 
214  template<typename JointModelDerived>
215  bool isEqual(const JointModelBase<JointModelDerived> & other) const
216  {
217  return ::pinocchio::isEqual(*this,other.derived());;
218  }
219 
220  template<typename JointModelDerived>
222  {
224  }
225 
226  bool isEqual(const JointModelTpl & other) const
227  {
228  return Base::isEqual(other) && toVariant() == other.toVariant();
229  }
230 
231  bool operator==(const JointModelTpl & other) const
232  {
233  return isEqual(other);
234  }
235 
236  bool operator!=(const JointModelTpl & other) const
237  {
238  return !(*this == other);
239  }
240 
241  template<typename ConfigVector>
242  void calc(JointDataDerived & data,
243  const Eigen::MatrixBase<ConfigVector> & q) const
244  { calc_zero_order(*this,data,q); }
245 
246  template<typename ConfigVector, typename TangentVector>
247  void calc(JointDataDerived & data,
248  const Eigen::MatrixBase<ConfigVector> & q,
249  const Eigen::MatrixBase<TangentVector> & v) const
250  { calc_first_order(*this,data,q,v); }
251 
252  template<typename Matrix6Like>
253  void calc_aba(JointDataDerived & data, const Eigen::MatrixBase<Matrix6Like> & I, const bool update_I) const
254  { ::pinocchio::calc_aba(*this,data,PINOCCHIO_EIGEN_CONST_CAST(Matrix6Like,I),update_I); }
255 
256  std::string shortname() const { return ::pinocchio::shortname(*this); }
257  static std::string classname() { return "JointModel"; }
258 
259  int nq_impl() const { return ::pinocchio::nq(*this); }
260  int nv_impl() const { return ::pinocchio::nv(*this); }
261 
262  int idx_q_impl() const { return ::pinocchio::idx_q(*this); }
263  int idx_v_impl() const { return ::pinocchio::idx_v(*this); }
264 
266 
267  void setIndexes(JointIndex id, int nq, int nv)
268  {
269  ::pinocchio::setIndexes(*this, id, nq, nv);
270  }
271 
273  template<typename NewScalar>
275  {
276  return cast_joint<NewScalar,Scalar,Options,JointCollectionTpl>(*this);
277  }
278  };
279 
280  typedef PINOCCHIO_ALIGNED_STD_VECTOR(JointData) JointDataVector;
281  typedef PINOCCHIO_ALIGNED_STD_VECTOR(JointModel) JointModelVector;
282 
283 
284  template<typename Scalar, int Options, template<typename S, int O> class JointCollectionTpl, typename JointDataDerived>
286  const JointDataTpl<Scalar,Options,JointCollectionTpl> & joint_data_generic)
287  {
288  return joint_data_generic == joint_data.derived();
289  }
290 
291 
292  template<typename Scalar, int Options, template<typename S, int O> class JointCollectionTpl, typename JointDataDerived>
294  const JointDataTpl<Scalar,Options,JointCollectionTpl> & joint_data_generic)
295  {
296  return joint_data_generic != joint_data.derived();
297  }
298 
299  template<typename Scalar, int Options, template<typename S, int O> class JointCollectionTpl, typename JointModelDerived>
301  const JointModelTpl<Scalar,Options,JointCollectionTpl> & joint_model_generic)
302  {
303  return joint_model_generic == joint_model.derived();
304  }
305 
306  template<typename Scalar, int Options, template<typename S, int O> class JointCollectionTpl, typename JointModelDerived>
308  const JointModelTpl<Scalar,Options,JointCollectionTpl> & joint_model_generic)
309  {
310  return joint_model_generic != joint_model.derived();
311  }
312 
313 } // namespace pinocchio
314 
315 #endif // ifndef __pinocchio_joint_generic_hpp__
pinocchio::JointModelTpl::operator!=
bool operator!=(const JointModelTpl &other) const
Definition: joint-generic.hpp:236
pinocchio::traits< JointTpl< _Scalar, _Options, JointCollectionTpl > >::BiasTypeConstRef
Bias_t BiasTypeConstRef
Definition: joint-generic.hpp:52
pinocchio::JointModelTpl::cast
JointModelTpl< NewScalar, Options, JointCollectionTpl > cast() const
Definition: joint-generic.hpp:274
pinocchio::JointDataTpl::v
Motion_t v() const
Definition: joint-generic.hpp:96
pinocchio::JointDataTpl::Base
JointDataBase< JointDataTpl > Base
Definition: joint-generic.hpp:81
pinocchio::JointModelTpl::hasConfigurationLimitInTangent
const std::vector< bool > hasConfigurationLimitInTangent() const
Definition: joint-generic.hpp:193
pinocchio::JointModelTpl::idx_v_impl
int idx_v_impl() const
Definition: joint-generic.hpp:263
pinocchio::JointModelTpl::nv_impl
int nv_impl() const
Definition: joint-generic.hpp:260
pinocchio::JointDataTpl::JointDataTpl
JointDataTpl()
Definition: joint-generic.hpp:104
pinocchio::idx_q
int idx_q(const JointModelTpl< Scalar, Options, JointCollectionTpl > &jmodel)
Visit a JointModelTpl through JointIdxQVisitor to get the index in the full model configuration space...
pinocchio::JointModelTpl::nq_impl
int nq_impl() const
Definition: joint-generic.hpp:259
pinocchio::JointModelBase
Definition: joint-model-base.hpp:67
pinocchio::traits< JointTpl< _Scalar, _Options, JointCollectionTpl > >::TangentVector_t
Eigen::Matrix< Scalar, Eigen::Dynamic, 1, Options > TangentVector_t
Definition: joint-generic.hpp:62
pinocchio::JointModelTpl::calc
void calc(JointDataDerived &data, const Eigen::MatrixBase< ConfigVector > &q, const Eigen::MatrixBase< TangentVector > &v) const
Definition: joint-generic.hpp:247
aligned-vector.hpp
pinocchio::idx_v
int idx_v(const JointModelTpl< Scalar, Options, JointCollectionTpl > &jmodel)
Visit a JointModelTpl through JointIdxVVisitor to get the index in the full model tangent space corre...
pinocchio::Options
Options
Definition: joint-configuration.hpp:746
pinocchio::JointTpl
Definition: joint-generic.hpp:19
pinocchio::nv
int nv(const JointModelTpl< Scalar, Options, JointCollectionTpl > &jmodel)
Visit a JointModelTpl through JointNvVisitor to get the dimension of the joint tangent space.
pinocchio::JointDataTpl::operator!=
bool operator!=(const JointDataTpl &other) const
Definition: joint-generic.hpp:147
pinocchio::id
JointIndex id(const JointModelTpl< Scalar, Options, JointCollectionTpl > &jmodel)
Visit a JointModelTpl through JointIdVisitor to get the index of the joint in the kinematic chain.
pinocchio::JointModelTpl::id_impl
JointIndex id_impl() const
Definition: joint-generic.hpp:265
PINOCCHIO_EIGEN_CONST_CAST
#define PINOCCHIO_EIGEN_CONST_CAST(TYPE, OBJ)
Macro for an automatic const_cast.
Definition: eigen-macros.hpp:43
pinocchio::SE3Tpl< Scalar, Options >
pinocchio::JointModelTpl::classname
static std::string classname()
Definition: joint-generic.hpp:257
pinocchio::JointDataTpl::v_accessor
Motion_t v_accessor() const
Definition: joint-generic.hpp:122
pinocchio::nq
int nq(const JointModelTpl< Scalar, Options, JointCollectionTpl > &jmodel)
Visit a JointModelTpl through JointNqVisitor to get the dimension of the joint configuration space.
pinocchio::JointDataBase
Definition: joint-data-base.hpp:82
pinocchio::JointDataTpl::U_accessor
U_t U_accessor() const
Definition: joint-generic.hpp:124
setup.data
data
Definition: cmake/cython/setup.in.py:48
pinocchio::JointDataTpl::toVariant
JointDataVariant & toVariant()
Definition: joint-generic.hpp:91
pinocchio::JointModelTpl::JointModelTpl
JointModelTpl(const JointModelBase< JointModelDerived > &jmodel)
Definition: joint-generic.hpp:199
pinocchio::traits< JointTpl< _Scalar, _Options, JointCollectionTpl > >::UTypeRef
U_t UTypeRef
Definition: joint-generic.hpp:55
pinocchio::JointModelTpl::hasConfigurationLimit
const std::vector< bool > hasConfigurationLimit() const
Definition: joint-generic.hpp:188
pinocchio::JointDataTpl
Definition: multibody/joint/fwd.hpp:97
pinocchio::JointModelTpl::idx_q_impl
int idx_q_impl() const
Definition: joint-generic.hpp:262
pinocchio::JointModelTpl::JointModelTpl
JointModelTpl(const JointModelVariant &jmodel_variant)
Definition: joint-generic.hpp:183
pinocchio::traits< JointTpl< _Scalar, _Options, JointCollectionTpl > >::MotionTypeRef
Motion_t MotionTypeRef
Definition: joint-generic.hpp:51
pinocchio::JointModelTpl::toVariant
JointModelVariant & toVariant()
Definition: joint-generic.hpp:205
pinocchio::JointModelTpl::isEqual
bool isEqual(const JointModelBase< JointModelDerived > &other) const
Definition: joint-generic.hpp:215
pinocchio::JointDataTpl::isEqual
bool isEqual(const JointDataBase< JointDataDerived > &other) const
Definition: joint-generic.hpp:132
pinocchio::udinv_inertia
Eigen::Matrix< Scalar, 6, Eigen::Dynamic, Options > udinv_inertia(const JointDataTpl< Scalar, Options, JointCollectionTpl > &jdata)
Visit a JointDataTpl through JointUDInvInertiaVisitor to get U*D^{-1} matrix of the inertia matrix de...
pinocchio::JointDataBase::derived
Derived & derived()
Definition: joint-data-base.hpp:89
pinocchio::traits< JointTpl< _Scalar, _Options, JointCollectionTpl > >::Constraint_t
ConstraintTpl< Eigen::Dynamic, Scalar, Options > Constraint_t
Definition: joint-generic.hpp:36
pinocchio::JointDataTpl::c
Bias_t c() const
Definition: joint-generic.hpp:97
pinocchio::traits< JointTpl< _Scalar, _Options, JointCollectionTpl > >::DTypeConstRef
D_t DTypeConstRef
Definition: joint-generic.hpp:56
pinocchio::traits< JointTpl< _Scalar, _Options, JointCollectionTpl > >::DTypeRef
D_t DTypeRef
Definition: joint-generic.hpp:57
pinocchio::JointDataTpl::JointDataVariant
JointCollection::JointDataVariant JointDataVariant
Definition: joint-generic.hpp:86
pinocchio::JointDataTpl::isEqual
bool isEqual(const JointDataTpl &other) const
Definition: joint-generic.hpp:137
pinocchio::JointModelTpl::JointModelTpl
JointModelTpl()
Definition: joint-generic.hpp:181
pinocchio::hasSameIndexes
bool hasSameIndexes(const JointModelTpl< Scalar, Options, JointCollectionTpl > &jmodel_generic, const JointModelBase< JointModelDerived > &jmodel)
Check whether JointModelTpl<Scalar,...> has the indexes than another JointModelDerived.
pinocchio::traits< JointTpl< _Scalar, _Options, JointCollectionTpl > >::UTypeConstRef
U_t UTypeConstRef
Definition: joint-generic.hpp:54
pinocchio::traits< JointTpl< _Scalar, _Options, JointCollectionTpl > >::TansformTypeConstRef
Transformation_t TansformTypeConstRef
Definition: joint-generic.hpp:48
pinocchio::traits< JointModelTpl< Scalar, Options, JointCollectionTpl > >::JointDerived
JointTpl< Scalar, Options, JointCollectionTpl > JointDerived
Definition: joint-generic.hpp:71
joint-composite.hpp
pinocchio::JointModelTpl::setIndexes
void setIndexes(JointIndex id, int nq, int nv)
Definition: joint-generic.hpp:267
pinocchio::hasConfigurationLimitInTangent
const std::vector< bool > hasConfigurationLimitInTangent(const JointModelTpl< Scalar, Options, JointCollectionTpl > &jmodel)
Visit a JointModelTpl through JointConfigurationLimitInTangentVisitor to get the configurations limit...
pinocchio::JointModelTpl::toVariant
const JointModelVariant & toVariant() const
Definition: joint-generic.hpp:208
joint-collection.hpp
pinocchio::traits< JointTpl< _Scalar, _Options, JointCollectionTpl > >::Transformation_t
SE3Tpl< Scalar, Options > Transformation_t
Definition: joint-generic.hpp:37
pinocchio::python::Scalar
SE3::Scalar Scalar
Definition: conversions.cpp:15
pinocchio::JointDataTpl::operator==
bool operator==(const JointDataTpl &other) const
Definition: joint-generic.hpp:142
pinocchio::JointModelTpl::createData
JointDataDerived createData() const
Definition: joint-generic.hpp:211
pinocchio::shortname
std::string shortname(const JointModelTpl< Scalar, Options, JointCollectionTpl > &jmodel)
Visit a JointModelTpl through JointShortnameVisitor to get the shortname of the derived joint model.
pinocchio::traits< JointTpl< _Scalar, _Options, JointCollectionTpl > >::UD_t
Eigen::Matrix< Scalar, 6, Eigen::Dynamic, Options > UD_t
Definition: joint-generic.hpp:44
pinocchio::operator==
bool operator==(const JointDataBase< JointDataDerived > &joint_data, const JointDataTpl< Scalar, Options, JointCollectionTpl > &joint_data_generic)
Definition: joint-generic.hpp:285
pinocchio::JointDataTpl::classname
static std::string classname()
Definition: joint-generic.hpp:128
pinocchio::JointModelVariant
JointCollectionDefault::JointModelVariant JointModelVariant
Definition: joint-collection.hpp:148
pinocchio::JointDataBase::isEqual
bool isEqual(const JointDataBase &other) const
&#160;
Definition: joint-data-base.hpp:130
pinocchio::traits< JointTpl< _Scalar, _Options, JointCollectionTpl > >::MotionTypeConstRef
Motion_t MotionTypeConstRef
Definition: joint-generic.hpp:50
pinocchio::JointModelTpl
Definition: multibody/joint/fwd.hpp:93
pinocchio::calc_first_order
void calc_first_order(const JointModelTpl< Scalar, Options, JointCollectionTpl > &jmodel, JointDataTpl< Scalar, Options, JointCollectionTpl > &jdata, const Eigen::MatrixBase< ConfigVectorType > &q, const Eigen::MatrixBase< TangentVectorType > &v)
Visit a JointModelTpl and the corresponding JointDataTpl through JointCalcFirstOrderVisitor to comput...
pinocchio::JointData
JointDataTpl< double > JointData
Definition: multibody/joint/fwd.hpp:97
pinocchio::traits< JointTpl< _Scalar, _Options, JointCollectionTpl > >::Scalar
_Scalar Scalar
Definition: joint-generic.hpp:31
pinocchio::JointDataTpl::U
U_t U() const
Definition: joint-generic.hpp:100
pinocchio::hasConfigurationLimit
const std::vector< bool > hasConfigurationLimit(const JointModelTpl< Scalar, Options, JointCollectionTpl > &jmodel)
Visit a JointModelTpl through JointConfigurationLimitVisitor to get the configurations limits.
pinocchio::Joint
JointTpl< double > Joint
Definition: joint-generic.hpp:19
pinocchio::JointDataTpl::S_accessor
Constraint_t S_accessor() const
Definition: joint-generic.hpp:120
pinocchio::traits< JointTpl< _Scalar, _Options, JointCollectionTpl > >::JointCollection
JointCollectionTpl< Scalar, Options > JointCollection
Definition: joint-generic.hpp:32
pinocchio::JointDataTpl::UDinv_accessor
UD_t UDinv_accessor() const
Definition: joint-generic.hpp:126
pinocchio::JointDataTpl::Dinv_accessor
D_t Dinv_accessor() const
Definition: joint-generic.hpp:125
pinocchio::setIndexes
void setIndexes(JointModelTpl< Scalar, Options, JointCollectionTpl > &jmodel, JointIndex id, int q, int v)
Visit a JointModelTpl through JointSetIndexesVisitor to set the indexes of the joint in the kinematic...
pinocchio::JointModelTpl::isEqual
bool isEqual(const JointModelTpl &other) const
Definition: joint-generic.hpp:226
pinocchio::JointDataTpl::c_accessor
Bias_t c_accessor() const
Definition: joint-generic.hpp:123
pinocchio::JointModelTpl::JointDerived
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef JointTpl< _Scalar, _Options, JointCollectionTpl > JointDerived
Definition: joint-generic.hpp:167
pinocchio::JointDataTpl::UDinv
UD_t UDinv() const
Definition: joint-generic.hpp:102
pinocchio::traits< JointTpl< _Scalar, _Options, JointCollectionTpl > >::UDTypeRef
UD_t UDTypeRef
Definition: joint-generic.hpp:59
pinocchio::JointDataTpl::S
Constraint_t S() const
Definition: joint-generic.hpp:94
pinocchio::constraint_xd
ConstraintTpl< Eigen::Dynamic, Scalar, Options > constraint_xd(const JointDataTpl< Scalar, Options, JointCollectionTpl > &jdata)
Visit a JointDataVariant through JointConstraintVisitor to get the joint constraint as a dense constr...
pinocchio::u_inertia
Eigen::Matrix< Scalar, 6, Eigen::Dynamic, Options > u_inertia(const JointDataTpl< Scalar, Options, JointCollectionTpl > &jdata)
Visit a JointDataTpl through JointUInertiaVisitor to get the U matrix of the inertia matrix decomposi...
pinocchio::JointModel
JointModelTpl< double > JointModel
Definition: multibody/joint/fwd.hpp:93
pinocchio::JointModelTpl::operator==
bool operator==(const JointModelTpl &other) const
Definition: joint-generic.hpp:231
pinocchio::traits< JointTpl< _Scalar, _Options, JointCollectionTpl > >::D_t
Eigen::Matrix< Scalar, Eigen::Dynamic, Eigen::Dynamic, Options > D_t
Definition: joint-generic.hpp:43
pinocchio::q
JointCollectionTpl const Eigen::MatrixBase< ConfigVectorType > & q
Definition: joint-configuration.hpp:747
pinocchio::traits< JointTpl< _Scalar, _Options, JointCollectionTpl > >::ConstraintTypeRef
Constraint_t ConstraintTypeRef
Definition: joint-generic.hpp:47
pinocchio::v
JointCollectionTpl const Eigen::MatrixBase< ConfigVectorType > const Eigen::MatrixBase< TangentVectorType > & v
Definition: joint-configuration.hpp:748
pinocchio::JointModelTpl::PINOCCHIO_JOINT_TYPEDEF_TEMPLATE
PINOCCHIO_JOINT_TYPEDEF_TEMPLATE(JointDerived)
pinocchio::JointDataTpl::JointDerived
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef JointTpl< _Scalar, _Options, JointCollectionTpl > JointDerived
Definition: joint-generic.hpp:80
pinocchio::operator!=
bool operator!=(const JointDataBase< JointDataDerived > &joint_data, const JointDataTpl< Scalar, Options, JointCollectionTpl > &joint_data_generic)
Definition: joint-generic.hpp:293
pinocchio::traits< JointTpl< _Scalar, _Options, JointCollectionTpl > >::ConfigVector_t
Eigen::Matrix< Scalar, Eigen::Dynamic, 1, Options > ConfigVector_t
Definition: joint-generic.hpp:61
pinocchio::traits< JointTpl< _Scalar, _Options, JointCollectionTpl > >::ConstraintTypeConstRef
Constraint_t ConstraintTypeConstRef
Definition: joint-generic.hpp:46
pinocchio::JointModelTpl::hasSameIndexes
bool hasSameIndexes(const JointModelBase< JointModelDerived > &other) const
Definition: joint-generic.hpp:221
pinocchio::calc_aba
void calc_aba(const JointModelTpl< Scalar, Options, JointCollectionTpl > &jmodel, JointDataTpl< Scalar, Options, JointCollectionTpl > &jdata, const Eigen::MatrixBase< Matrix6Type > &I, const bool update_I)
Visit a JointModelTpl and the corresponding JointDataTpl through JointCalcAbaVisitor to.
pinocchio::traits< JointTpl< _Scalar, _Options, JointCollectionTpl > >::UDTypeConstRef
UD_t UDTypeConstRef
Definition: joint-generic.hpp:58
pinocchio::JointDataTpl::Dinv
D_t Dinv() const
Definition: joint-generic.hpp:101
pinocchio::JointDataTpl::toVariant
const JointDataVariant & toVariant() const
Definition: joint-generic.hpp:92
pinocchio::traits< JointTpl< _Scalar, _Options, JointCollectionTpl > >::Bias_t
MotionTpl< Scalar, Options > Bias_t
Definition: joint-generic.hpp:39
pinocchio::traits< JointTpl< _Scalar, _Options, JointCollectionTpl > >::Motion_t
MotionTpl< Scalar, Options > Motion_t
Definition: joint-generic.hpp:38
pinocchio::traits< JointTpl< _Scalar, _Options, JointCollectionTpl > >::BiasTypeRef
Bias_t BiasTypeRef
Definition: joint-generic.hpp:53
pinocchio::motion
MotionTpl< Scalar, Options > motion(const JointDataTpl< Scalar, Options, JointCollectionTpl > &jdata)
Visit a JointDataTpl through JointMotionVisitor to get the joint internal motion as a dense motion.
pinocchio::traits< JointTpl< _Scalar, _Options, JointCollectionTpl > >::U_t
Eigen::Matrix< Scalar, 6, Eigen::Dynamic, Options > U_t
Definition: joint-generic.hpp:42
pinocchio::JointModelTpl::JointModelVariant
JointCollection::JointModelVariant JointModelVariant
Definition: joint-generic.hpp:174
pinocchio::JointDataTpl::JointDataTpl
JointDataTpl(const JointDataBase< JointDataDerived > &jdata)
Definition: joint-generic.hpp:113
pinocchio::traits< JointTpl< _Scalar, _Options, JointCollectionTpl > >::JointDataDerived
JointDataTpl< Scalar, Options, JointCollectionTpl > JointDataDerived
Definition: joint-generic.hpp:33
pinocchio::JointIndex
Index JointIndex
Definition: multibody/fwd.hpp:28
pinocchio::JointDataTpl::JointCollection
JointCollectionTpl< _Scalar, _Options > JointCollection
Definition: joint-generic.hpp:85
pinocchio::traits
Common traits structure to fully define base classes for CRTP.
Definition: fwd.hpp:44
pinocchio::JointDataVariant
JointCollectionDefault::JointDataVariant JointDataVariant
Definition: joint-collection.hpp:149
pinocchio::calc_zero_order
void calc_zero_order(const JointModelTpl< Scalar, Options, JointCollectionTpl > &jmodel, JointDataTpl< Scalar, Options, JointCollectionTpl > &jdata, const Eigen::MatrixBase< ConfigVectorType > &q)
Visit a JointModelTpl and the corresponding JointDataTpl through JointCalcZeroOrderVisitor to compute...
pinocchio::JointModelTpl::JointDataVariant
JointCollection::JointDataVariant JointDataVariant
Definition: joint-generic.hpp:173
pinocchio::JointModelTpl::PINOCCHIO_JOINT_USE_INDEXES
PINOCCHIO_JOINT_USE_INDEXES(JointModelTpl)
pinocchio::traits< JointTpl< _Scalar, _Options, JointCollectionTpl > >::JointModelDerived
JointModelTpl< Scalar, Options, JointCollectionTpl > JointModelDerived
Definition: joint-generic.hpp:34
pinocchio::joint_transform
SE3Tpl< Scalar, Options > joint_transform(const JointDataTpl< Scalar, Options, JointCollectionTpl > &jdata)
Visit a JointDataTpl through JointTransformVisitor to get the joint internal transform (transform bet...
pinocchio::bias
MotionTpl< Scalar, Options > bias(const JointDataTpl< Scalar, Options, JointCollectionTpl > &jdata)
Visit a JointDataTpl through JointBiasVisitor to get the joint bias as a dense motion.
pinocchio::MotionTpl< Scalar, Options >
pinocchio::CastType
Type of the cast of a class C templated by Scalar and Options, to a new NewScalar type....
Definition: fwd.hpp:55
pinocchio::JointDataTpl::shortname
std::string shortname() const
Definition: joint-generic.hpp:129
dcrba.NV
NV
Definition: dcrba.py:444
dpendulum.NQ
int NQ
Definition: dpendulum.py:8
pinocchio::JointDataTpl::PINOCCHIO_JOINT_DATA_TYPEDEF_TEMPLATE
PINOCCHIO_JOINT_DATA_TYPEDEF_TEMPLATE(JointDerived)
pinocchio::dinv_inertia
Eigen::Matrix< Scalar, Eigen::Dynamic, Eigen::Dynamic, Options > dinv_inertia(const JointDataTpl< Scalar, Options, JointCollectionTpl > &jdata)
Visit a JointDataTpl through JointDInvInertiaVisitor to get the D^{-1} matrix of the inertia matrix d...
isEqual
virtual bool isEqual(const CollisionGeometry &other) const=0
pinocchio::JointDataTpl::M
Transformation_t M() const
Definition: joint-generic.hpp:95
pinocchio::JointModelTpl::JointCollection
JointCollectionTpl< Scalar, Options > JointCollection
Definition: joint-generic.hpp:172
pinocchio::PINOCCHIO_ALIGNED_STD_VECTOR
typedef PINOCCHIO_ALIGNED_STD_VECTOR(JointData) JointDataVector
pinocchio::CastType< NewScalar, JointModelTpl< Scalar, Options, JointCollectionTpl > >::type
JointModelTpl< NewScalar, Options, JointCollectionTpl > type
Definition: joint-generic.hpp:157
pinocchio::JointDataTpl::JointDataTpl
JointDataTpl(const JointDataVariant &jdata_variant)
Definition: joint-generic.hpp:108
pinocchio::JointModelTpl::calc_aba
void calc_aba(JointDataDerived &data, const Eigen::MatrixBase< Matrix6Like > &I, const bool update_I) const
Definition: joint-generic.hpp:253
pinocchio::JointModelBase::derived
JointModelDerived & derived()
Definition: joint-model-base.hpp:74
pinocchio::JointDataTpl::M_accessor
Transformation_t M_accessor() const
Definition: joint-generic.hpp:121
pinocchio::traits< JointDataTpl< Scalar, Options, JointCollectionTpl > >::JointDerived
JointTpl< Scalar, Options, JointCollectionTpl > JointDerived
Definition: joint-generic.hpp:67
pinocchio::JointModelTpl::shortname
std::string shortname() const
Definition: joint-generic.hpp:256
pinocchio::traits< JointTpl< _Scalar, _Options, JointCollectionTpl > >::TansformTypeRef
Transformation_t TansformTypeRef
Definition: joint-generic.hpp:49
pinocchio
Main pinocchio namespace.
Definition: timings.cpp:28
pinocchio::ConstraintTpl
Definition: constraint-generic.hpp:42
pinocchio::JointModelTpl::calc
void calc(JointDataDerived &data, const Eigen::MatrixBase< ConfigVector > &q) const
Definition: joint-generic.hpp:242


pinocchio
Author(s):
autogenerated on Tue Feb 13 2024 03:43:58