joint-generic.hpp
Go to the documentation of this file.
1 //
2 // Copyright (c) 2016-2021 CNRS INRIA
3 //
4 
5 #ifndef __pinocchio_multibody_joint_generic_hpp__
6 #define __pinocchio_multibody_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<
19  typename Scalar,
21  template<typename S, int O> class JointCollectionTpl = JointCollectionDefaultTpl>
22  struct JointTpl;
24 
25  template<typename _Scalar, int _Options, template<typename S, int O> class JointCollectionTpl>
26  struct traits<JointTpl<_Scalar, _Options, JointCollectionTpl>>
27  {
28  enum
29  {
30  Options = _Options,
31  NQ = Eigen::Dynamic, // Dynamic because unknown at compile time
33  };
34 
35  typedef _Scalar Scalar;
36  typedef JointCollectionTpl<Scalar, Options> JointCollection;
39 
44 
45  // [ABA]
46  typedef Eigen::Matrix<Scalar, 6, Eigen::Dynamic, Options> U_t;
47  typedef Eigen::Matrix<Scalar, Eigen::Dynamic, Eigen::Dynamic, Options> D_t;
48  typedef Eigen::Matrix<Scalar, 6, Eigen::Dynamic, Options> UD_t;
49 
58  typedef U_t UTypeConstRef;
59  typedef U_t UTypeRef;
60  typedef D_t DTypeConstRef;
61  typedef D_t DTypeRef;
63  typedef UD_t UDTypeRef;
64 
65  typedef Eigen::Matrix<Scalar, Eigen::Dynamic, 1, Options> ConfigVector_t;
66  typedef Eigen::Matrix<Scalar, Eigen::Dynamic, 1, Options> TangentVector_t;
67 
72  };
73 
74  template<typename _Scalar, int _Options, template<typename S, int O> class JointCollectionTpl>
75  struct traits<JointDataTpl<_Scalar, _Options, JointCollectionTpl>>
76  {
79  };
80 
81  template<typename _Scalar, int _Options, template<typename S, int O> class JointCollectionTpl>
82  struct traits<JointModelTpl<_Scalar, _Options, JointCollectionTpl>>
83  {
86  };
87 
88  template<typename _Scalar, int _Options, template<typename S, int O> class JointCollectionTpl>
89  struct JointDataTpl
90  : public JointDataBase<JointDataTpl<_Scalar, _Options, JointCollectionTpl>>
91  , JointCollectionTpl<_Scalar, _Options>::JointDataVariant
92  {
93  EIGEN_MAKE_ALIGNED_OPERATOR_NEW
94 
97 
99 
100  typedef JointCollectionTpl<_Scalar, _Options> JointCollection;
102 
103  using Base::operator==;
104  using Base::operator!=;
105 
107  {
108  return *static_cast<JointDataVariant *>(this);
109  }
110  const JointDataVariant & toVariant() const
111  {
112  return *static_cast<const JointDataVariant *>(this);
113  }
114 
115  ConfigVector_t joint_q() const
116  {
117  return pinocchio::joint_q(*this);
118  }
119  TangentVector_t joint_v() const
120  {
121  return pinocchio::joint_v(*this);
122  }
123  Constraint_t S() const
124  {
125  return joint_motin_subspace_xd(*this);
126  }
127  Transformation_t M() const
128  {
129  return joint_transform(*this);
130  }
131  Motion_t v() const
132  {
133  return motion(*this);
134  }
135  Bias_t c() const
136  {
137  return bias(*this);
138  }
139 
140  // [ABA CCRBA]
141  U_t U() const
142  {
143  return u_inertia(*this);
144  }
145  D_t Dinv() const
146  {
147  return dinv_inertia(*this);
148  }
149  UD_t UDinv() const
150  {
151  return udinv_inertia(*this);
152  }
153  D_t StU() const
154  {
155  return stu_inertia(*this);
156  }
157 
159  : JointDataVariant()
160  {
161  }
162 
163  JointDataTpl(const JointDataVariant & jdata_variant)
164  : JointDataVariant(jdata_variant)
165  {
166  }
167 
168  template<typename JointDataDerived>
171  {
172  BOOST_MPL_ASSERT((boost::mpl::contains<typename JointDataVariant::types, JointDataDerived>));
173  }
174 
175  // Define all the standard accessors
176  ConfigVector_t joint_q_accessor() const
177  {
178  return joint_q();
179  }
180  TangentVector_t joint_v_accessor() const
181  {
182  return joint_v();
183  }
184  Constraint_t S_accessor() const
185  {
186  return S();
187  }
188  Transformation_t M_accessor() const
189  {
190  return M();
191  }
192  Motion_t v_accessor() const
193  {
194  return v();
195  }
196  Bias_t c_accessor() const
197  {
198  return c();
199  }
200  U_t U_accessor() const
201  {
202  return U();
203  }
204  D_t Dinv_accessor() const
205  {
206  return Dinv();
207  }
208  UD_t UDinv_accessor() const
209  {
210  return UDinv();
211  }
212  D_t StU_accessor() const
213  {
214  return StU();
215  }
216 
217  static std::string classname()
218  {
219  return "JointData";
220  }
221  std::string shortname() const
222  {
224  }
225 
226  template<typename JointDataDerived>
227  bool isEqual(const JointDataBase<JointDataDerived> & other) const
228  {
229  return ::pinocchio::isEqual(*this, other.derived());
230  }
231 
232  bool isEqual(const JointDataTpl & other) const
233  {
234  return Base::isEqual(other) && toVariant() == other.toVariant();
235  }
236 
237  bool operator==(const JointDataTpl & other) const
238  {
239  return isEqual(other);
240  }
241 
242  bool operator!=(const JointDataTpl & other) const
243  {
244  return !(*this == other);
245  }
246  };
247 
248  template<
249  typename NewScalar,
250  typename Scalar,
251  int Options,
252  template<typename S, int O>
253  class JointCollectionTpl>
254  struct CastType<NewScalar, JointModelTpl<Scalar, Options, JointCollectionTpl>>
255  {
257  };
258 
259  template<typename _Scalar, int _Options, template<typename S, int O> class JointCollectionTpl>
260  struct JointModelTpl
261  : JointModelBase<JointModelTpl<_Scalar, _Options, JointCollectionTpl>>
262  , JointCollectionTpl<_Scalar, _Options>::JointModelVariant
263  {
264  EIGEN_MAKE_ALIGNED_OPERATOR_NEW
265 
267 
270 
271  typedef JointCollectionTpl<Scalar, Options> JointCollection;
274 
275  using Base::id;
276  using Base::setIndexes;
277  using Base::operator==;
278  using Base::operator!=;
279 
282  {
283  }
284 
285  JointModelTpl(const JointModelVariant & jmodel_variant)
286  : JointCollection::JointModelVariant(jmodel_variant)
287  {
288  }
289 
290  const std::vector<bool> hasConfigurationLimit() const
291  {
293  }
294 
295  const std::vector<bool> hasConfigurationLimitInTangent() const
296  {
298  }
299 
300  template<typename JointModelDerived>
302  : JointModelVariant((JointModelVariant)jmodel.derived())
303  {
304  BOOST_MPL_ASSERT(
305  (boost::mpl::contains<typename JointModelVariant::types, JointModelDerived>));
306  }
307 
309  {
310  return *static_cast<JointModelVariant *>(this);
311  }
312 
313  const JointModelVariant & toVariant() const
314  {
315  return *static_cast<const JointModelVariant *>(this);
316  }
317 
318  JointDataDerived createData() const
319  {
320  return ::pinocchio::createData<Scalar, Options, JointCollectionTpl>(*this);
321  }
322 
323  template<typename JointModelDerived>
324  bool isEqual(const JointModelBase<JointModelDerived> & other) const
325  {
326  return ::pinocchio::isEqual(*this, other.derived());
327  }
328 
329  template<typename JointModelDerived>
331  {
333  }
334 
335  bool isEqual(const JointModelTpl & other) const
336  {
337  return Base::isEqual(other) && toVariant() == other.toVariant();
338  }
339 
340  bool operator==(const JointModelTpl & other) const
341  {
342  return isEqual(other);
343  }
344 
345  bool operator!=(const JointModelTpl & other) const
346  {
347  return !(*this == other);
348  }
349 
350  template<typename ConfigVector>
351  void calc(JointDataDerived & data, const Eigen::MatrixBase<ConfigVector> & q) const
352  {
353  calc_zero_order(*this, data, q.derived());
354  }
355 
356  template<typename TangentVector>
357  void calc(
358  JointDataDerived & data, const Blank blank, const Eigen::MatrixBase<TangentVector> & v) const
359  {
360  calc_first_order(*this, data, blank, v.derived());
361  }
362 
363  template<typename ConfigVector, typename TangentVector>
364  void calc(
365  JointDataDerived & data,
366  const Eigen::MatrixBase<ConfigVector> & q,
367  const Eigen::MatrixBase<TangentVector> & v) const
368  {
369  calc_first_order(*this, data, q.derived(), v.derived());
370  }
371 
372  template<typename VectorLike, typename Matrix6Like>
373  void calc_aba(
374  JointDataDerived & data,
375  const Eigen::MatrixBase<VectorLike> & armature,
376  const Eigen::MatrixBase<Matrix6Like> & I,
377  const bool update_I) const
378  {
380  *this, data, armature.derived(), PINOCCHIO_EIGEN_CONST_CAST(Matrix6Like, I), update_I);
381  }
382 
383  std::string shortname() const
384  {
386  }
387  static std::string classname()
388  {
389  return "JointModel";
390  }
391 
392  int nq_impl() const
393  {
394  return ::pinocchio::nq(*this);
395  }
396  int nv_impl() const
397  {
398  return ::pinocchio::nv(*this);
399  }
400 
401  int idx_q_impl() const
402  {
404  }
405  int idx_v_impl() const
406  {
408  }
409 
411  {
412  return ::pinocchio::id(*this);
413  }
414 
415  void setIndexes(JointIndex id, int nq, int nv)
416  {
417  ::pinocchio::setIndexes(*this, id, nq, nv);
418  }
419 
421  template<typename NewScalar>
423  {
424  return cast_joint<NewScalar, Scalar, Options, JointCollectionTpl>(*this);
425  }
426  };
427 
428  typedef PINOCCHIO_ALIGNED_STD_VECTOR(JointData) JointDataVector;
429  typedef PINOCCHIO_ALIGNED_STD_VECTOR(JointModel) JointModelVector;
430 
431  template<
432  typename Scalar,
433  int Options,
434  template<typename S, int O>
435  class JointCollectionTpl,
436  typename JointDataDerived>
438  const JointDataBase<JointDataDerived> & joint_data,
439  const JointDataTpl<Scalar, Options, JointCollectionTpl> & joint_data_generic)
440  {
441  return joint_data_generic == joint_data.derived();
442  }
443 
444  template<
445  typename Scalar,
446  int Options,
447  template<typename S, int O>
448  class JointCollectionTpl,
449  typename JointDataDerived>
451  const JointDataBase<JointDataDerived> & joint_data,
452  const JointDataTpl<Scalar, Options, JointCollectionTpl> & joint_data_generic)
453  {
454  return joint_data_generic != joint_data.derived();
455  }
456 
457  template<
458  typename Scalar,
459  int Options,
460  template<typename S, int O>
461  class JointCollectionTpl,
462  typename JointModelDerived>
464  const JointModelBase<JointModelDerived> & joint_model,
465  const JointModelTpl<Scalar, Options, JointCollectionTpl> & joint_model_generic)
466  {
467  return joint_model_generic == joint_model.derived();
468  }
469 
470  template<
471  typename Scalar,
472  int Options,
473  template<typename S, int O>
474  class JointCollectionTpl,
475  typename JointModelDerived>
477  const JointModelBase<JointModelDerived> & joint_model,
478  const JointModelTpl<Scalar, Options, JointCollectionTpl> & joint_model_generic)
479  {
480  return joint_model_generic != joint_model.derived();
481  }
482 
483 } // namespace pinocchio
484 
485 #endif // ifndef __pinocchio_multibody_joint_generic_hpp__
pinocchio::JointModelTpl::operator!=
bool operator!=(const JointModelTpl &other) const
Definition: joint-generic.hpp:345
pinocchio::traits< JointTpl< _Scalar, _Options, JointCollectionTpl > >::BiasTypeConstRef
Bias_t BiasTypeConstRef
Definition: joint-generic.hpp:56
pinocchio::traits< JointDataTpl< _Scalar, _Options, JointCollectionTpl > >::JointDerived
JointTpl< _Scalar, _Options, JointCollectionTpl > JointDerived
Definition: joint-generic.hpp:77
pinocchio::joint_q
JointDataTpl< Scalar, Options, JointCollectionTpl >::ConfigVector_t joint_q(const JointDataTpl< Scalar, Options, JointCollectionTpl > &jdata)
Visit a JointDataVariant through JointConfigVisitor to get the joint configuration vector.
pinocchio::JointDataTpl::v
Motion_t v() const
Definition: joint-generic.hpp:131
pinocchio::JointDataTpl::Base
JointDataBase< JointDataTpl > Base
Definition: joint-generic.hpp:96
pinocchio::JointModelTpl::hasConfigurationLimitInTangent
const std::vector< bool > hasConfigurationLimitInTangent() const
Definition: joint-generic.hpp:295
pinocchio::JointModelTpl::idx_v_impl
int idx_v_impl() const
Definition: joint-generic.hpp:405
pinocchio::JointModelTpl::nv_impl
int nv_impl() const
Definition: joint-generic.hpp:396
pinocchio::traits< JointTpl< _Scalar, _Options, JointCollectionTpl > >::TangentVectorTypeRef
TangentVector_t TangentVectorTypeRef
Definition: joint-generic.hpp:71
pinocchio::JointDataTpl::JointDataTpl
JointDataTpl()
Definition: joint-generic.hpp:158
autodiff-rnea.nq
nq
Definition: autodiff-rnea.py:11
pinocchio::traits< JointTpl< _Scalar, _Options, JointCollectionTpl > >::D_t
Eigen::Matrix< Scalar, Eigen::Dynamic, Eigen::Dynamic, Options > D_t
Definition: joint-generic.hpp:47
pinocchio::JointDataBase::isEqual
bool isEqual(const JointDataBase< Derived > &other) const
&#160;
Definition: joint-data-base.hpp:289
autodiff-rnea.nv
nv
Definition: autodiff-rnea.py:12
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:392
pinocchio::JointModelBase
Definition: joint-model-base.hpp:75
pinocchio::JointDataTpl::joint_q_accessor
ConfigVector_t joint_q_accessor() const
Definition: joint-generic.hpp:176
pinocchio::JointModelTpl::calc
void calc(JointDataDerived &data, const Eigen::MatrixBase< ConfigVector > &q, const Eigen::MatrixBase< TangentVector > &v) const
Definition: joint-generic.hpp:364
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:1116
pinocchio::JointTpl
Definition: joint-generic.hpp:22
pinocchio::JointDataTpl::joint_v_accessor
TangentVector_t joint_v_accessor() const
Definition: joint-generic.hpp:180
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::StU
D_t StU() const
Definition: joint-generic.hpp:153
pinocchio::JointDataTpl::operator!=
bool operator!=(const JointDataTpl &other) const
Definition: joint-generic.hpp:242
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:410
PINOCCHIO_EIGEN_CONST_CAST
#define PINOCCHIO_EIGEN_CONST_CAST(TYPE, OBJ)
Macro for an automatic const_cast.
Definition: eigen-macros.hpp:51
pinocchio::SE3Tpl< Scalar, Options >
pinocchio::JointModelTpl::classname
static std::string classname()
Definition: joint-generic.hpp:387
pinocchio::JointDataTpl::v_accessor
Motion_t v_accessor() const
Definition: joint-generic.hpp:192
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:161
pinocchio::operator==
bool operator==(const ConstraintDataBase< ConstraintDataDerived > &data1, const ConstraintDataTpl< Scalar, Options, ConstraintCollectionTpl > &data2)
Definition: constraint-data-generic.hpp:107
pinocchio::JointDataTpl::U_accessor
U_t U_accessor() const
Definition: joint-generic.hpp:200
pinocchio::JointDataTpl::JointCollection
JointCollectionTpl< _Scalar, _Options > JointCollection
Definition: joint-generic.hpp:100
setup.data
data
Definition: cmake/cython/setup.in.py:48
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::python::Scalar
context::Scalar Scalar
Definition: admm-solver.cpp:29
pinocchio::JointDataTpl::toVariant
JointDataVariant & toVariant()
Definition: joint-generic.hpp:106
pinocchio::JointModelTpl::JointModelTpl
JointModelTpl(const JointModelBase< JointModelDerived > &jmodel)
Definition: joint-generic.hpp:301
pinocchio::traits< JointTpl< _Scalar, _Options, JointCollectionTpl > >::UTypeRef
U_t UTypeRef
Definition: joint-generic.hpp:59
pinocchio::JointModelTpl::hasConfigurationLimit
const std::vector< bool > hasConfigurationLimit() const
Definition: joint-generic.hpp:290
pinocchio::JointDataTpl
Definition: multibody/joint/fwd.hpp:162
pinocchio::JointModelTpl::idx_q_impl
int idx_q_impl() const
Definition: joint-generic.hpp:401
pinocchio::JointModelTpl::JointModelTpl
JointModelTpl(const JointModelVariant &jmodel_variant)
Definition: joint-generic.hpp:285
pinocchio::traits< JointTpl< _Scalar, _Options, JointCollectionTpl > >::MotionTypeRef
Motion_t MotionTypeRef
Definition: joint-generic.hpp:55
pinocchio::JointModelTpl::toVariant
JointModelVariant & toVariant()
Definition: joint-generic.hpp:308
pinocchio::JointModelTpl::isEqual
bool isEqual(const JointModelBase< JointModelDerived > &other) const
Definition: joint-generic.hpp:324
pinocchio::JointDataTpl::isEqual
bool isEqual(const JointDataBase< JointDataDerived > &other) const
Definition: joint-generic.hpp:227
pinocchio::JointModelTpl::calc
void calc(JointDataDerived &data, const Blank blank, const Eigen::MatrixBase< TangentVector > &v) const
Definition: joint-generic.hpp:357
pinocchio::Joint
JointTpl< context::Scalar > Joint
Definition: joint-generic.hpp:22
pinocchio::JointDataBase::derived
Derived & derived()
Definition: joint-data-base.hpp:168
pinocchio::JointDataTpl::c
Bias_t c() const
Definition: joint-generic.hpp:135
pinocchio::Blank
Blank type.
Definition: fwd.hpp:76
pinocchio::traits< JointTpl< _Scalar, _Options, JointCollectionTpl > >::DTypeConstRef
D_t DTypeConstRef
Definition: joint-generic.hpp:60
pinocchio::traits< JointTpl< _Scalar, _Options, JointCollectionTpl > >::DTypeRef
D_t DTypeRef
Definition: joint-generic.hpp:61
pinocchio::JointDataTpl::JointDataVariant
JointCollection::JointDataVariant JointDataVariant
Definition: joint-generic.hpp:101
pinocchio::traits< JointDataTpl< _Scalar, _Options, JointCollectionTpl > >::Scalar
traits< JointDerived >::Scalar Scalar
Definition: joint-generic.hpp:78
pinocchio::JointDataTpl::isEqual
bool isEqual(const JointDataTpl &other) const
Definition: joint-generic.hpp:232
pinocchio::JointModelTpl::JointModelTpl
JointModelTpl()
Definition: joint-generic.hpp:280
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 > >::Bias_t
MotionTpl< Scalar, Options > Bias_t
Definition: joint-generic.hpp:43
pinocchio::traits< JointTpl< _Scalar, _Options, JointCollectionTpl > >::UTypeConstRef
U_t UTypeConstRef
Definition: joint-generic.hpp:58
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::JointModelTpl::JointDerived
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef JointTpl< _Scalar, _Options, JointCollectionTpl > JointDerived
Definition: joint-generic.hpp:266
pinocchio::traits< JointTpl< _Scalar, _Options, JointCollectionTpl > >::TansformTypeConstRef
Transformation_t TansformTypeConstRef
Definition: joint-generic.hpp:52
pinocchio::CastType< NewScalar, JointModelTpl< Scalar, Options, JointCollectionTpl > >::type
JointModelTpl< NewScalar, Options, JointCollectionTpl > type
Definition: joint-generic.hpp:256
pinocchio::JointModelTpl::calc_aba
void calc_aba(JointDataDerived &data, const Eigen::MatrixBase< VectorLike > &armature, const Eigen::MatrixBase< Matrix6Like > &I, const bool update_I) const
Definition: joint-generic.hpp:373
joint-composite.hpp
pinocchio::traits< JointTpl< _Scalar, _Options, JointCollectionTpl > >::ConfigVectorTypeConstRef
ConfigVector_t ConfigVectorTypeConstRef
Definition: joint-generic.hpp:68
pinocchio::JointModelTpl::setIndexes
void setIndexes(JointIndex id, int nq, int nv)
Definition: joint-generic.hpp:415
pinocchio::traits< JointTpl< _Scalar, _Options, JointCollectionTpl > >::UD_t
Eigen::Matrix< Scalar, 6, Eigen::Dynamic, Options > UD_t
Definition: joint-generic.hpp:48
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:313
joint-collection.hpp
pinocchio::JointDataTpl::joint_q
ConfigVector_t joint_q() const
Definition: joint-generic.hpp:115
pinocchio::traits< JointTpl< _Scalar, _Options, JointCollectionTpl > >::U_t
Eigen::Matrix< Scalar, 6, Eigen::Dynamic, Options > U_t
Definition: joint-generic.hpp:46
pinocchio::JointDataTpl::operator==
bool operator==(const JointDataTpl &other) const
Definition: joint-generic.hpp:237
pinocchio::JointModelTpl::cast
JointModelTpl< NewScalar, Options, JointCollectionTpl > cast() const
Definition: joint-generic.hpp:422
pinocchio::JointData
JointDataTpl< context::Scalar > JointData
Definition: multibody/joint/fwd.hpp:162
pinocchio::traits< JointTpl< _Scalar, _Options, JointCollectionTpl > >::TangentVector_t
Eigen::Matrix< Scalar, Eigen::Dynamic, 1, Options > TangentVector_t
Definition: joint-generic.hpp:66
pinocchio::joint_v
JointDataTpl< Scalar, Options, JointCollectionTpl >::TangentVector_t joint_v(const JointDataTpl< Scalar, Options, JointCollectionTpl > &jdata)
Visit a JointDataVariant through JointConfigVisitor to get the joint velocity vector.
pinocchio::traits< JointTpl< _Scalar, _Options, JointCollectionTpl > >::ConfigVectorTypeRef
ConfigVector_t ConfigVectorTypeRef
Definition: joint-generic.hpp:69
pinocchio::JointModelTpl::createData
JointDataDerived createData() const
Definition: joint-generic.hpp:318
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::Dynamic
const int Dynamic
Definition: fwd.hpp:140
pinocchio::JointDataTpl::classname
static std::string classname()
Definition: joint-generic.hpp:217
pinocchio::JointDataTpl::StU_accessor
D_t StU_accessor() const
Definition: joint-generic.hpp:212
pinocchio::JointModelVariant
JointCollectionDefault::JointModelVariant JointModelVariant
Definition: joint-collection.hpp:205
pinocchio::traits< JointTpl< _Scalar, _Options, JointCollectionTpl > >::MotionTypeConstRef
Motion_t MotionTypeConstRef
Definition: joint-generic.hpp:54
pinocchio::JointModelTpl
Definition: multibody/joint/fwd.hpp:155
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::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::traits< JointTpl< _Scalar, _Options, JointCollectionTpl > >::Scalar
_Scalar Scalar
Definition: joint-generic.hpp:35
pinocchio::JointDataTpl::U
U_t U() const
Definition: joint-generic.hpp:141
pinocchio::hasConfigurationLimit
const std::vector< bool > hasConfigurationLimit(const JointModelTpl< Scalar, Options, JointCollectionTpl > &jmodel)
Visit a JointModelTpl through JointConfigurationLimitVisitor to get the configurations limits.
pinocchio::JointDataTpl::S_accessor
Constraint_t S_accessor() const
Definition: joint-generic.hpp:184
pinocchio::JointDataTpl::joint_v
TangentVector_t joint_v() const
Definition: joint-generic.hpp:119
pinocchio::JointDataTpl::UDinv_accessor
UD_t UDinv_accessor() const
Definition: joint-generic.hpp:208
pinocchio::JointDataTpl::Dinv_accessor
D_t Dinv_accessor() const
Definition: joint-generic.hpp:204
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:335
pinocchio::traits< JointModelTpl< _Scalar, _Options, JointCollectionTpl > >::Scalar
traits< JointDerived >::Scalar Scalar
Definition: joint-generic.hpp:85
pinocchio::JointDataTpl::c_accessor
Bias_t c_accessor() const
Definition: joint-generic.hpp:196
pinocchio::calc_aba
void calc_aba(const JointModelTpl< Scalar, Options, JointCollectionTpl > &jmodel, JointDataTpl< Scalar, Options, JointCollectionTpl > &jdata, const Eigen::MatrixBase< VectorLike > &armature, const Eigen::MatrixBase< Matrix6Type > &I, const bool update_I)
Visit a JointModelTpl and the corresponding JointDataTpl through JointCalcAbaVisitor to.
pinocchio::JointModel
JointModelTpl< context::Scalar > JointModel
Definition: multibody/joint/fwd.hpp:155
pinocchio::context::Options
@ Options
Definition: context/generic.hpp:45
pinocchio::JointDataTpl::UDinv
UD_t UDinv() const
Definition: joint-generic.hpp:149
pinocchio::traits< JointTpl< _Scalar, _Options, JointCollectionTpl > >::UDTypeRef
UD_t UDTypeRef
Definition: joint-generic.hpp:63
pinocchio::traits< JointModelTpl< _Scalar, _Options, JointCollectionTpl > >::JointDerived
JointTpl< _Scalar, _Options, JointCollectionTpl > JointDerived
Definition: joint-generic.hpp:84
pinocchio::JointDataTpl::S
Constraint_t S() const
Definition: joint-generic.hpp:123
pinocchio::traits< JointTpl< _Scalar, _Options, JointCollectionTpl > >::ConfigVector_t
Eigen::Matrix< Scalar, Eigen::Dynamic, 1, Options > ConfigVector_t
Definition: joint-generic.hpp:65
pinocchio::JointModelTpl::operator==
bool operator==(const JointModelTpl &other) const
Definition: joint-generic.hpp:340
pinocchio::q
JointCollectionTpl const Eigen::MatrixBase< ConfigVectorType > & q
Definition: joint-configuration.hpp:1117
pinocchio::traits< JointTpl< _Scalar, _Options, JointCollectionTpl > >::ConstraintTypeRef
Constraint_t ConstraintTypeRef
Definition: joint-generic.hpp:51
pinocchio::v
JointCollectionTpl const Eigen::MatrixBase< ConfigVectorType > const Eigen::MatrixBase< TangentVectorType > & v
Definition: joint-configuration.hpp:1118
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::JointModelTpl::PINOCCHIO_JOINT_TYPEDEF_TEMPLATE
PINOCCHIO_JOINT_TYPEDEF_TEMPLATE(JointDerived)
pinocchio::operator!=
bool operator!=(const JointDataBase< JointDataDerived > &joint_data, const JointDataTpl< Scalar, Options, JointCollectionTpl > &joint_data_generic)
Definition: joint-generic.hpp:450
pinocchio::traits< JointTpl< _Scalar, _Options, JointCollectionTpl > >::ConstraintTypeConstRef
Constraint_t ConstraintTypeConstRef
Definition: joint-generic.hpp:50
pinocchio::traits< JointTpl< _Scalar, _Options, JointCollectionTpl > >::JointDataDerived
JointDataTpl< Scalar, Options, JointCollectionTpl > JointDataDerived
Definition: joint-generic.hpp:37
pinocchio::JointModelTpl::hasSameIndexes
bool hasSameIndexes(const JointModelBase< JointModelDerived > &other) const
Definition: joint-generic.hpp:330
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...
pinocchio::traits< JointTpl< _Scalar, _Options, JointCollectionTpl > >::UDTypeConstRef
UD_t UDTypeConstRef
Definition: joint-generic.hpp:62
pinocchio::JointDataTpl::Dinv
D_t Dinv() const
Definition: joint-generic.hpp:145
pinocchio::JointDataTpl::toVariant
const JointDataVariant & toVariant() const
Definition: joint-generic.hpp:110
pinocchio::traits< JointTpl< _Scalar, _Options, JointCollectionTpl > >::Constraint_t
JointMotionSubspaceTpl< Eigen::Dynamic, Scalar, Options > Constraint_t
Definition: joint-generic.hpp:40
pinocchio::traits< JointTpl< _Scalar, _Options, JointCollectionTpl > >::BiasTypeRef
Bias_t BiasTypeRef
Definition: joint-generic.hpp:57
pinocchio::traits< JointTpl< _Scalar, _Options, JointCollectionTpl > >::JointModelDerived
JointModelTpl< Scalar, Options, JointCollectionTpl > JointModelDerived
Definition: joint-generic.hpp:38
pinocchio::traits< JointTpl< _Scalar, _Options, JointCollectionTpl > >::JointCollection
JointCollectionTpl< Scalar, Options > JointCollection
Definition: joint-generic.hpp:36
pinocchio::JointModelTpl::JointModelVariant
JointCollection::JointModelVariant JointModelVariant
Definition: joint-generic.hpp:273
pinocchio::JointDataTpl::JointDataTpl
JointDataTpl(const JointDataBase< JointDataDerived > &jdata)
Definition: joint-generic.hpp:169
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::JointIndex
Index JointIndex
Definition: multibody/fwd.hpp:26
pinocchio::JointDataTpl::JointDerived
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef JointTpl< _Scalar, _Options, JointCollectionTpl > JointDerived
Definition: joint-generic.hpp:95
pinocchio::stu_inertia
Eigen::Matrix< Scalar, Eigen::Dynamic, Eigen::Dynamic, Options > stu_inertia(const JointDataTpl< Scalar, Options, JointCollectionTpl > &jdata)
Visit a JointDataTpl through JointStUInertiaVisitor to get St*I*S matrix of the inertia matrix decomp...
pinocchio::traits
Common traits structure to fully define base classes for CRTP.
Definition: fwd.hpp:71
pinocchio::JointDataVariant
JointCollectionDefault::JointDataVariant JointDataVariant
Definition: joint-collection.hpp:206
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:272
pinocchio::JointModelTpl::PINOCCHIO_JOINT_USE_INDEXES
PINOCCHIO_JOINT_USE_INDEXES(JointModelTpl)
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:99
pinocchio::JointDataTpl::shortname
std::string shortname() const
Definition: joint-generic.hpp:221
dcrba.NV
NV
Definition: dcrba.py:514
pinocchio::JointModelTpl::JointCollection
JointCollectionTpl< Scalar, Options > JointCollection
Definition: joint-generic.hpp:271
dpendulum.NQ
int NQ
Definition: dpendulum.py:8
pinocchio::JointDataTpl::PINOCCHIO_JOINT_DATA_TYPEDEF_TEMPLATE
PINOCCHIO_JOINT_DATA_TYPEDEF_TEMPLATE(JointDerived)
isEqual
virtual bool isEqual(const CollisionGeometry &other) const=0
pinocchio::JointDataTpl::M
Transformation_t M() const
Definition: joint-generic.hpp:127
pinocchio::joint_motin_subspace_xd
JointMotionSubspaceTpl< Eigen::Dynamic, Scalar, Options > joint_motin_subspace_xd(const JointDataTpl< Scalar, Options, JointCollectionTpl > &jdata)
Visit a JointDataVariant through JointConstraintVisitor to get the joint constraint as a dense constr...
pinocchio::PINOCCHIO_ALIGNED_STD_VECTOR
typedef PINOCCHIO_ALIGNED_STD_VECTOR(JointData) JointDataVector
pinocchio::JointDataTpl::JointDataTpl
JointDataTpl(const JointDataVariant &jdata_variant)
Definition: joint-generic.hpp:163
pinocchio::JointMotionSubspaceTpl
Definition: constraint-generic.hpp:48
pinocchio::JointModelBase::derived
JointModelDerived & derived()
Definition: joint-model-base.hpp:82
pinocchio::traits< JointTpl< _Scalar, _Options, JointCollectionTpl > >::Motion_t
MotionTpl< Scalar, Options > Motion_t
Definition: joint-generic.hpp:42
pinocchio::traits< JointTpl< _Scalar, _Options, JointCollectionTpl > >::Transformation_t
SE3Tpl< Scalar, Options > Transformation_t
Definition: joint-generic.hpp:41
pinocchio::JointDataTpl::M_accessor
Transformation_t M_accessor() const
Definition: joint-generic.hpp:188
pinocchio::JointModelTpl::shortname
std::string shortname() const
Definition: joint-generic.hpp:383
pinocchio::traits< JointTpl< _Scalar, _Options, JointCollectionTpl > >::TangentVectorTypeConstRef
TangentVector_t TangentVectorTypeConstRef
Definition: joint-generic.hpp:70
pinocchio::traits< JointTpl< _Scalar, _Options, JointCollectionTpl > >::TansformTypeRef
Transformation_t TansformTypeRef
Definition: joint-generic.hpp:53
pinocchio
Main pinocchio namespace.
Definition: timings.cpp:27
pinocchio::JointModelTpl::calc
void calc(JointDataDerived &data, const Eigen::MatrixBase< ConfigVector > &q) const
Definition: joint-generic.hpp:351


pinocchio
Author(s):
autogenerated on Sat Jun 22 2024 02:41:47