joint-composite.hpp
Go to the documentation of this file.
1 //
2 // Copyright (c) 2016-2021 CNRS INRIA
3 //
4 
5 #ifndef __pinocchio_multibody_joint_composite_hpp__
6 #define __pinocchio_multibody_joint_composite_hpp__
7 
13 
15 
16 namespace pinocchio
17 {
18 
19  template<typename Scalar, int Options, template<typename S, int O> class JointCollectionTpl>
21 
22  template<typename _Scalar, int _Options, template<typename S, int O> class JointCollectionTpl>
23  struct traits<JointCompositeTpl<_Scalar, _Options, JointCollectionTpl>>
24  {
25  typedef _Scalar Scalar;
26 
27  enum
28  {
29  Options = _Options,
32  NVExtended = Eigen::Dynamic
33  };
34 
35  typedef JointCollectionTpl<Scalar, Options> JointCollection;
42 
43  // [ABA]
44  typedef Eigen::Matrix<Scalar, 6, Eigen::Dynamic, Options> U_t;
45  typedef Eigen::Matrix<Scalar, Eigen::Dynamic, Eigen::Dynamic, Options> D_t;
46  typedef Eigen::Matrix<Scalar, 6, Eigen::Dynamic, Options> UD_t;
47 
48  typedef Eigen::Matrix<Scalar, Eigen::Dynamic, 1, Options> ConfigVector_t;
49  typedef Eigen::Matrix<Scalar, Eigen::Dynamic, 1, Options> TangentVector_t;
50 
51  typedef boost::mpl::false_ is_mimicable_t;
52 
54  };
55 
56  template<typename _Scalar, int _Options, template<typename S, int O> class JointCollectionTpl>
57  struct traits<JointModelCompositeTpl<_Scalar, _Options, JointCollectionTpl>>
58  {
60  typedef _Scalar Scalar;
61  };
62 
63  template<typename _Scalar, int _Options, template<typename S, int O> class JointCollectionTpl>
64  struct traits<JointDataCompositeTpl<_Scalar, _Options, JointCollectionTpl>>
65  {
67  typedef _Scalar Scalar;
68  };
69 
70  template<typename _Scalar, int _Options, template<typename S, int O> class JointCollectionTpl>
72  : public JointDataBase<JointDataCompositeTpl<_Scalar, _Options, JointCollectionTpl>>
73  {
74  EIGEN_MAKE_ALIGNED_OPERATOR_NEW
75 
80 
81  typedef JointCollectionTpl<Scalar, Options> JointCollection;
83 
84  typedef PINOCCHIO_ALIGNED_STD_VECTOR(JointDataVariant) JointDataVector;
85 
86  // JointDataComposite() {} // can become necessary if we want a vector of JointDataComposite ?
87 
89  : joints()
90  , iMlast(0)
91  , pjMi(0)
92  , joint_q(ConfigVector_t::Zero(0))
93  , joint_v(TangentVector_t::Zero(0))
94  , S(0)
95  , M(Transformation_t::Identity())
96  , v(Motion_t::Zero())
97  , c(Motion_t::Zero())
98  , U(6, 0)
99  , Dinv(0, 0)
100  , UDinv(6, 0)
101  , StU(0, 0)
102  {
103  }
104 
105  JointDataCompositeTpl(const JointDataVector & joint_data, const int nq, const int nv)
106  : joints(joint_data)
107  , iMlast(joint_data.size())
108  , pjMi(joint_data.size())
109  , joint_q(ConfigVector_t::Zero(nq))
110  , joint_v(TangentVector_t::Zero(nv))
111  , S(Constraint_t::Zero(nv))
112  , M(Transformation_t::Identity())
113  , v(Motion_t::Zero())
114  , c(Motion_t::Zero())
115  , U(U_t::Zero(6, nv))
116  , Dinv(D_t::Zero(nv, nv))
117  , UDinv(UD_t::Zero(6, nv))
118  , StU(D_t::Zero(nv, nv))
119  {
120  }
121 
123  JointDataVector joints;
124 
126  PINOCCHIO_ALIGNED_STD_VECTOR(Transformation_t) iMlast;
127 
129  PINOCCHIO_ALIGNED_STD_VECTOR(Transformation_t) pjMi;
130 
131  ConfigVector_t joint_q;
132  TangentVector_t joint_v;
133 
134  Constraint_t S;
135  Transformation_t M;
136  Motion_t v;
137  Bias_t c;
138 
139  // // [ABA] specific data
140  U_t U;
141  D_t Dinv;
142  UD_t UDinv;
143  D_t StU;
144 
145  static std::string classname()
146  {
147  return std::string("JointDataComposite");
148  }
149  std::string shortname() const
150  {
151  return classname();
152  }
153 
154  void disp(std::ostream & os) const
155  {
156  os << "JointDataComposite containing following models:\n";
157  for (typename JointDataVector::const_iterator it = joints.begin(); it != joints.end(); ++it)
158  os << " " << it->shortname() << std::endl;
159  }
160  };
161 
162  template<
163  typename NewScalar,
164  typename Scalar,
165  int Options,
166  template<typename S, int O> class JointCollectionTpl>
167  struct CastType<NewScalar, JointModelCompositeTpl<Scalar, Options, JointCollectionTpl>>
168  {
170  };
171 
172  template<typename _Scalar, int _Options, template<typename S, int O> class JointCollectionTpl>
174  : public JointModelBase<JointModelCompositeTpl<_Scalar, _Options, JointCollectionTpl>>
175  {
176  EIGEN_MAKE_ALIGNED_OPERATOR_NEW
177 
181 
182  typedef JointCollectionTpl<Scalar, Options> JointCollection;
184 
188 
189  typedef PINOCCHIO_ALIGNED_STD_VECTOR(JointModelVariant) JointModelVector;
190 
191  using Base::id;
192  using Base::idx_q;
193  using Base::idx_v;
194  using Base::idx_vExtended;
195  using Base::nq;
196  using Base::nv;
197  using Base::nvExtended;
198  using Base::setIndexes;
199 
202  : joints()
203  , jointPlacements()
204  , m_nq(0)
205  , m_nv(0)
206  , m_nvExtended(0)
207  , njoints(0)
208  {
209  }
210 
213  : joints()
214  , jointPlacements()
215  , m_nq(0)
216  , m_nv(0)
217  , m_nvExtended(0)
218  , njoints(0)
219  {
220  joints.reserve(size);
221  jointPlacements.reserve(size);
222  m_idx_q.reserve(size);
223  m_idx_v.reserve(size);
224  m_idx_vExtended.reserve(size);
225  m_nqs.reserve(size);
226  m_nvs.reserve(size);
227  m_nvExtendeds.reserve(size);
228  }
229 
236  template<typename JointModel>
238  const JointModelBase<JointModel> & jmodel, const SE3 & placement = SE3::Identity())
239  : joints(1, (JointModelVariant)jmodel.derived())
240  , jointPlacements(1, placement)
241  , m_nq(jmodel.nq())
242  , m_nv(jmodel.nv())
243  , m_nvExtended(jmodel.nvExtended())
244  , m_idx_q(1, 0)
245  , m_nqs(1, jmodel.nq())
246  , m_idx_v(1, 0)
247  , m_nvs(1, jmodel.nv())
248  , m_idx_vExtended(1, 0)
249  , m_nvExtendeds(1, jmodel.nvExtended())
250  , njoints(1)
251  {
252  }
253 
260  : Base(other)
261  , joints(other.joints)
262  , jointPlacements(other.jointPlacements)
263  , m_nq(other.m_nq)
264  , m_nv(other.m_nv)
265  , m_nvExtended(other.m_nvExtended)
266  , m_idx_q(other.m_idx_q)
267  , m_nqs(other.m_nqs)
268  , m_idx_v(other.m_idx_v)
269  , m_nvs(other.m_nvs)
272  , njoints(other.njoints)
273  {
274  }
275 
284  template<typename JointModel>
285  JointModelDerived &
287  {
288  joints.push_back((JointModelVariant)jmodel.derived());
289  jointPlacements.push_back(placement);
290 
291  m_nq += jmodel.nq();
292  m_nv += jmodel.nv();
293  m_nvExtended += jmodel.nvExtended();
294 
296  njoints++;
297 
298  return *this;
299  }
300 
301  JointDataDerived createData() const
302  {
303  typename JointDataDerived::JointDataVector jdata(joints.size());
304  for (int i = 0; i < (int)joints.size(); ++i)
305  jdata[(size_t)i] =
306  ::pinocchio::createData<Scalar, Options, JointCollectionTpl>(joints[(size_t)i]);
307  return JointDataDerived(jdata, nq(), nv());
308  }
309 
310  const std::vector<bool> hasConfigurationLimit() const
311  {
312  std::vector<bool> vec;
313  for (size_t i = 0; i < joints.size(); ++i)
314  {
315  const std::vector<bool> & joint_cf_limit = joints[i].hasConfigurationLimit();
316  vec.insert(vec.end(), joint_cf_limit.begin(), joint_cf_limit.end());
317  }
318  return vec;
319  }
320 
321  const std::vector<bool> hasConfigurationLimitInTangent() const
322  {
323  std::vector<bool> vec;
324  for (size_t i = 0; i < joints.size(); ++i)
325  {
326  const std::vector<bool> & joint_cf_limit = joints[i].hasConfigurationLimitInTangent();
327  vec.insert(vec.end(), joint_cf_limit.begin(), joint_cf_limit.end());
328  }
329  return vec;
330  }
331 
332  template<typename, int, template<typename S, int O> class, typename>
334 
335  template<typename ConfigVectorType>
336  void calc(JointDataDerived & data, const Eigen::MatrixBase<ConfigVectorType> & qs) const;
337 
338  template<typename, int, template<typename S, int O> class, typename, typename>
340 
341  template<typename ConfigVectorType, typename TangentVectorType>
342  void calc(
343  JointDataDerived & data,
344  const Eigen::MatrixBase<ConfigVectorType> & qs,
345  const Eigen::MatrixBase<TangentVectorType> & vs) const;
346 
347  template<typename TangentVectorType>
348  void calc(
349  JointDataDerived & data,
350  const Blank blank,
351  const Eigen::MatrixBase<TangentVectorType> & vs) const;
352 
353  template<typename VectorLike, typename Matrix6Like>
354  void calc_aba(
355  JointDataDerived & data,
356  const Eigen::MatrixBase<VectorLike> & armature,
357  const Eigen::MatrixBase<Matrix6Like> & I,
358  const bool update_I) const
359  {
360  data.U.noalias() = I * data.S.matrix();
361  data.StU.noalias() = data.S.matrix().transpose() * data.U;
362  data.StU.diagonal() += armature;
363 
365  data.UDinv.noalias() = data.U * data.Dinv;
366 
367  if (update_I)
368  PINOCCHIO_EIGEN_CONST_CAST(Matrix6Like, I).noalias() -= data.UDinv * data.U.transpose();
369  }
370 
371  int nv_impl() const
372  {
373  return m_nv;
374  }
375  int nq_impl() const
376  {
377  return m_nq;
378  }
379  int nvExtended_impl() const
380  {
381  return m_nvExtended;
382  }
383 
387  void setIndexes_impl(JointIndex id, int q, int v, int vExtended)
388  {
389  Base::setIndexes_impl(id, q, v, vExtended);
391  }
392 
393  static std::string classname()
394  {
395  return std::string("JointModelComposite");
396  }
397  std::string shortname() const
398  {
399  return classname();
400  }
401 
403  {
404  Base::operator=(other);
405  m_nq = other.m_nq;
406  m_nv = other.m_nv;
407  m_nvExtended = other.m_nvExtended;
408  m_idx_q = other.m_idx_q;
409  m_idx_v = other.m_idx_v;
411  m_nqs = other.m_nqs;
412  m_nvs = other.m_nvs;
414  joints = other.joints;
415  jointPlacements = other.jointPlacements;
416  njoints = other.njoints;
417 
418  return *this;
419  }
420 
421  using Base::isEqual;
422  bool isEqual(const JointModelCompositeTpl & other) const
423  {
424  return Base::isEqual(other) && internal::comparison_eq(nq(), other.nq())
425  && internal::comparison_eq(nv(), other.nv())
426  && internal::comparison_eq(nvExtended(), other.nvExtended())
434  && internal::comparison_eq(jointPlacements, other.jointPlacements)
436  }
437 
439  template<typename NewScalar>
441  {
443  ReturnType res((size_t)njoints);
444  res.setIndexes(id(), idx_q(), idx_v(), idx_vExtended());
445  res.m_nq = m_nq;
446  res.m_nv = m_nv;
447  res.m_nvExtended = m_nvExtended;
448  res.m_idx_q = m_idx_q;
449  res.m_idx_v = m_idx_v;
450  res.m_idx_vExtended = m_idx_vExtended;
451  res.m_nqs = m_nqs;
452  res.m_nvs = m_nvs;
453  res.m_nvExtendeds = m_nvExtendeds;
454  res.njoints = njoints;
455 
456  res.joints.resize(joints.size());
457  res.jointPlacements.resize(jointPlacements.size());
458  for (size_t k = 0; k < jointPlacements.size(); ++k)
459  {
460  res.joints[k] = joints[k].template cast<NewScalar>();
461  res.jointPlacements[k] = jointPlacements[k].template cast<NewScalar>();
462  }
463 
464  return res;
465  }
466 
468  JointModelVector joints;
471  PINOCCHIO_ALIGNED_STD_VECTOR(SE3) jointPlacements;
472 
473  template<typename D>
474  typename SizeDepType<NQ>::template SegmentReturn<D>::ConstType
475  JointMappedConfigSelector(const Eigen::MatrixBase<D> & a) const
476  {
477  return a.segment(Base::i_q, nq());
478  }
479  template<typename D>
480  typename SizeDepType<NQ>::template SegmentReturn<D>::Type
481  JointMappedConfigSelector(Eigen::MatrixBase<D> & a) const
482  {
483  return a.segment(Base::i_q, nq());
484  }
485 
486  template<typename D>
487  typename SizeDepType<NQ>::template SegmentReturn<D>::ConstType
488  jointConfigSelector(const Eigen::MatrixBase<D> & a) const
489  {
490  return a.segment(Base::i_q, nq());
491  }
492  template<typename D>
493  typename SizeDepType<NQ>::template SegmentReturn<D>::Type
494  jointConfigSelector(Eigen::MatrixBase<D> & a) const
495  {
496  return a.segment(Base::i_q, nq());
497  }
498 
499  template<typename D>
500  typename SizeDepType<NV>::template SegmentReturn<D>::ConstType
501  JointMappedVelocitySelector(const Eigen::MatrixBase<D> & a) const
502  {
503  return a.segment(Base::i_v, nv());
504  }
505  template<typename D>
506  typename SizeDepType<NV>::template SegmentReturn<D>::Type
507  JointMappedVelocitySelector(Eigen::MatrixBase<D> & a) const
508  {
509  return a.segment(Base::i_v, nv());
510  }
511 
512  template<typename D>
513  typename SizeDepType<NV>::template SegmentReturn<D>::ConstType
514  jointVelocitySelector(const Eigen::MatrixBase<D> & a) const
515  {
516  return a.segment(Base::i_v, nv());
517  }
518  template<typename D>
519  typename SizeDepType<NV>::template SegmentReturn<D>::Type
520  jointVelocitySelector(Eigen::MatrixBase<D> & a) const
521  {
522  return a.segment(Base::i_v, nv());
523  }
524 
525  template<typename D>
526  typename SizeDepType<NV>::template ColsReturn<D>::ConstType
527  jointCols(const Eigen::MatrixBase<D> & A) const
528  {
529  return A.middleCols(Base::i_v, nv());
530  }
531  template<typename D>
532  typename SizeDepType<NV>::template ColsReturn<D>::ConstType
533  jointExtendedModelCols(const Eigen::MatrixBase<D> & A) const
534  {
535  return A.middleCols(Base::i_vExtended, nvExtended());
536  }
537  template<typename D>
538  typename SizeDepType<NV>::template ColsReturn<D>::Type jointCols(Eigen::MatrixBase<D> & A) const
539  {
540  return A.middleCols(Base::i_v, nv());
541  }
542  template<typename D>
543  typename SizeDepType<NV>::template ColsReturn<D>::Type
544  jointExtendedModelCols(Eigen::MatrixBase<D> & A) const
545  {
546  return A.middleCols(Base::i_vExtended, nvExtended());
547  }
548 
549  template<typename D>
550  typename SizeDepType<Eigen::Dynamic>::template SegmentReturn<D>::ConstType
551  jointConfigSelector_impl(const Eigen::MatrixBase<D> & a) const
552  {
553  return a.segment(Base::i_q, nq());
554  }
555  template<typename D>
556  typename SizeDepType<Eigen::Dynamic>::template SegmentReturn<D>::Type
557  jointConfigSelector_impl(Eigen::MatrixBase<D> & a) const
558  {
559  return a.segment(Base::i_q, nq());
560  }
561 
562  template<typename D>
563  typename SizeDepType<Eigen::Dynamic>::template SegmentReturn<D>::ConstType
564  JointMappedConfigSelector_impl(const Eigen::MatrixBase<D> & a) const
565  {
566  return a.segment(Base::i_q, nq());
567  }
568  template<typename D>
569  typename SizeDepType<Eigen::Dynamic>::template SegmentReturn<D>::Type
570  JointMappedConfigSelector_impl(Eigen::MatrixBase<D> & a) const
571  {
572  return a.segment(Base::i_q, nq());
573  }
574 
575  template<typename D>
576  typename SizeDepType<Eigen::Dynamic>::template SegmentReturn<D>::ConstType
577  JointMappedVelocitySelector_impl(const Eigen::MatrixBase<D> & a) const
578  {
579  return a.segment(Base::i_v, nv());
580  }
581  template<typename D>
582  typename SizeDepType<Eigen::Dynamic>::template SegmentReturn<D>::Type
583  JointMappedVelocitySelector_impl(Eigen::MatrixBase<D> & a) const
584  {
585  return a.segment(Base::i_v, nv());
586  }
587 
588  template<typename D>
589  typename SizeDepType<Eigen::Dynamic>::template SegmentReturn<D>::ConstType
590  jointVelocitySelector_impl(const Eigen::MatrixBase<D> & a) const
591  {
592  return a.segment(Base::i_v, nv());
593  }
594  template<typename D>
595  typename SizeDepType<Eigen::Dynamic>::template SegmentReturn<D>::Type
596  jointVelocitySelector_impl(Eigen::MatrixBase<D> & a) const
597  {
598  return a.segment(Base::i_v, nv());
599  }
600 
601  template<typename D>
602  typename SizeDepType<Eigen::Dynamic>::template ColsReturn<D>::ConstType
603  jointCols_impl(const Eigen::MatrixBase<D> & A) const
604  {
605  return A.middleCols(Base::i_v, nv());
606  }
607  template<typename D>
608  typename SizeDepType<Eigen::Dynamic>::template ColsReturn<D>::ConstType
609  jointExtendedModelCols_impl(const Eigen::MatrixBase<D> & A) const
610  {
611  return A.middleCols(Base::i_vExtended, nvExtended());
612  }
613  template<typename D>
614  typename SizeDepType<Eigen::Dynamic>::template ColsReturn<D>::Type
615  jointCols_impl(Eigen::MatrixBase<D> & A) const
616  {
617  return A.middleCols(Base::i_v, nv());
618  }
619  template<typename D>
620  typename SizeDepType<Eigen::Dynamic>::template ColsReturn<D>::Type
621  jointExtendedModelCols_impl(Eigen::MatrixBase<D> & A) const
622  {
623  return A.middleCols(Base::i_vExtended, nvExtended());
624  }
625 
626  void disp(std::ostream & os) const
627  {
629  JointModelVector;
630 
631  os << "JointModelComposite containing following models:\n";
632  for (typename JointModelVector::const_iterator it = joints.begin(); it != joints.end(); ++it)
633  os << " " << it->shortname() << std::endl;
634  }
635 
636  protected:
638 
639  template<typename, int, template<typename, int> class>
640  friend struct JointModelCompositeTpl;
641 
645  {
646  int idx_q = this->idx_q();
647  int idx_v = this->idx_v();
648  int idx_vExtended = this->idx_vExtended();
649 
650  m_idx_q.resize(joints.size());
651  m_idx_v.resize(joints.size());
652  m_idx_vExtended.resize(joints.size());
653  m_nqs.resize(joints.size());
654  m_nvs.resize(joints.size());
655  m_nvExtendeds.resize(joints.size());
656 
657  for (size_t i = 0; i < joints.size(); ++i)
658  {
659  JointModelVariant & joint = joints[i];
660 
661  m_idx_q[i] = idx_q;
662  m_idx_v[i] = idx_v;
665  m_nqs[i] = ::pinocchio::nq(joint);
666  m_nvs[i] = ::pinocchio::nv(joint);
668  idx_q += m_nqs[i];
669  idx_v += m_nvs[i];
671  }
672  }
673 
676 
678 
680  std::vector<int> m_idx_q;
682  std::vector<int> m_nqs;
684  std::vector<int> m_idx_v;
686  std::vector<int> m_nvs;
688  std::vector<int> m_idx_vExtended;
690  std::vector<int> m_nvExtendeds;
691 
692  public:
694  int njoints;
695  };
696 
697 } // namespace pinocchio
698 
699 #include <boost/type_traits.hpp>
700 
701 namespace boost
702 {
703  template<typename Scalar, int Options, template<typename S, int O> class JointCollectionTpl>
704  struct has_nothrow_constructor<
705  ::pinocchio::JointModelCompositeTpl<Scalar, Options, JointCollectionTpl>>
706  : public integral_constant<bool, true>
707  {
708  };
709 
710  template<typename Scalar, int Options, template<typename S, int O> class JointCollectionTpl>
711  struct has_nothrow_copy<::pinocchio::JointModelCompositeTpl<Scalar, Options, JointCollectionTpl>>
712  : public integral_constant<bool, true>
713  {
714  };
715 
716  template<typename Scalar, int Options, template<typename S, int O> class JointCollectionTpl>
717  struct has_nothrow_constructor<
718  ::pinocchio::JointDataCompositeTpl<Scalar, Options, JointCollectionTpl>>
719  : public integral_constant<bool, true>
720  {
721  };
722 
723  template<typename Scalar, int Options, template<typename S, int O> class JointCollectionTpl>
724  struct has_nothrow_copy<::pinocchio::JointDataCompositeTpl<Scalar, Options, JointCollectionTpl>>
725  : public integral_constant<bool, true>
726  {
727  };
728 } // namespace boost
729 
730 /* --- Details -------------------------------------------------------------- */
731 /* --- Details -------------------------------------------------------------- */
732 /* --- Details -------------------------------------------------------------- */
733 #include "pinocchio/multibody/joint/joint-composite.hxx"
734 
735 #endif // ifndef __pinocchio_multibody_joint_composite_hpp__
pinocchio::InertiaTpl< Scalar, Options >
pinocchio::SizeDepType
Definition: matrix-block.hpp:13
pinocchio::JointModelCompositeTpl::createData
JointDataDerived createData() const
Definition: joint-composite.hpp:301
pinocchio::JointDataCompositeTpl::JointDataCompositeTpl
JointDataCompositeTpl(const JointDataVector &joint_data, const int nq, const int nv)
Definition: joint-composite.hpp:105
PINOCCHIO_JOINT_DATA_BASE_ACCESSOR_DEFAULT_RETURN_TYPE
#define PINOCCHIO_JOINT_DATA_BASE_ACCESSOR_DEFAULT_RETURN_TYPE
Definition: joint-data-base.hpp:137
act-on-set.hpp
pinocchio::JointModelCompositeTpl::jointExtendedModelCols
SizeDepType< NV >::template ColsReturn< D >::ConstType jointExtendedModelCols(const Eigen::MatrixBase< D > &A) const
Definition: joint-composite.hpp:533
pinocchio::Serialize
Definition: serialization/fwd.hpp:18
pinocchio::JointModelCompositeTpl::JointCollection
JointCollectionTpl< Scalar, Options > JointCollection
Definition: joint-composite.hpp:182
pinocchio::JointModelCompositeTpl::jointConfigSelector_impl
SizeDepType< Eigen::Dynamic >::template SegmentReturn< D >::ConstType jointConfigSelector_impl(const Eigen::MatrixBase< D > &a) const
Definition: joint-composite.hpp:551
pinocchio::JointModelCompositeTpl::JointMappedVelocitySelector_impl
SizeDepType< Eigen::Dynamic >::template SegmentReturn< D >::ConstType JointMappedVelocitySelector_impl(const Eigen::MatrixBase< D > &a) const
Definition: joint-composite.hpp:577
pinocchio::JointDataCompositeTpl::c
Bias_t c
Definition: joint-composite.hpp:137
pinocchio::JointModelCompositeTpl::disp
void disp(std::ostream &os) const
Definition: joint-composite.hpp:626
pinocchio::traits< JointCompositeTpl< _Scalar, _Options, JointCollectionTpl > >::ConfigVector_t
Eigen::Matrix< Scalar, Eigen::Dynamic, 1, Options > ConfigVector_t
Definition: joint-composite.hpp:48
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::JointModelBase
Definition: joint-model-base.hpp:78
pinocchio::JointModelCompositeTpl::JointModelCompositeTpl
JointModelCompositeTpl(const JointModelBase< JointModel > &jmodel, const SE3 &placement=SE3::Identity())
Constructor with one joint.
Definition: joint-composite.hpp:237
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 model tangent space correspond...
pinocchio::Options
Options
Definition: joint-configuration.hpp:1082
pinocchio::traits< JointDataCompositeTpl< _Scalar, _Options, JointCollectionTpl > >::Scalar
_Scalar Scalar
Definition: joint-composite.hpp:67
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::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_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::nq
int nq(const JointModelTpl< Scalar, Options, JointCollectionTpl > &jmodel)
Visit a JointModelTpl through JointNqVisitor to get the dimension of the joint configuration space.
pinocchio::traits< JointCompositeTpl< _Scalar, _Options, JointCollectionTpl > >::D_t
Eigen::Matrix< Scalar, Eigen::Dynamic, Eigen::Dynamic, Options > D_t
Definition: joint-composite.hpp:45
pinocchio::CastType< NewScalar, JointModelCompositeTpl< Scalar, Options, JointCollectionTpl > >::type
JointModelCompositeTpl< NewScalar, Options, JointCollectionTpl > type
Definition: joint-composite.hpp:169
pinocchio::internal::PerformStYSInversion::run
static EIGEN_STRONG_INLINE void run(const Eigen::MatrixBase< M1 > &StYS, const Eigen::MatrixBase< M2 > &Dinv)
Definition: joint-common-operations.hpp:27
pinocchio::JointDataBase
Definition: joint-data-base.hpp:161
pinocchio::JointDataCompositeTpl::joints
JointDataVector joints
Vector of joints.
Definition: joint-composite.hpp:123
inverse-kinematics.i
int i
Definition: inverse-kinematics.py:17
pinocchio::JointModelCompositeTpl::JointCompositeCalcZeroOrderStep
friend struct JointCompositeCalcZeroOrderStep
Definition: joint-composite.hpp:333
pinocchio::JointModelCompositeTpl::JointModelCompositeTpl
JointModelCompositeTpl(const JointModelCompositeTpl &other)
Copy constructor.
Definition: joint-composite.hpp:259
setup.data
data
Definition: cmake/cython/setup.in.py:48
pinocchio::JointModelCompositeTpl::m_idx_q
std::vector< int > m_idx_q
Keep information of both the dimension and the position of the joints in the composition.
Definition: joint-composite.hpp:680
vec
vec
pinocchio::JointDataCompositeTpl::JointDerived
JointCompositeTpl< _Scalar, _Options, JointCollectionTpl > JointDerived
Definition: joint-composite.hpp:77
pinocchio::JointModelCompositeTpl::nq_impl
int nq_impl() const
Definition: joint-composite.hpp:375
boost
pinocchio::JointDataTpl
Definition: multibody/joint/fwd.hpp:176
pinocchio::JointModelCompositeTpl::JointMappedVelocitySelector
SizeDepType< NV >::template SegmentReturn< D >::Type JointMappedVelocitySelector(Eigen::MatrixBase< D > &a) const
Definition: joint-composite.hpp:507
pinocchio::JointModelCompositeTpl::operator=
JointModelCompositeTpl & operator=(const JointModelCompositeTpl &other)
Definition: joint-composite.hpp:402
pinocchio::JointDataCompositeTpl::joint_v
TangentVector_t joint_v
Definition: joint-composite.hpp:132
pinocchio::JointModelCompositeTpl::jointCols
SizeDepType< NV >::template ColsReturn< D >::Type jointCols(Eigen::MatrixBase< D > &A) const
Definition: joint-composite.hpp:538
pinocchio::JointModelCompositeTpl::JointMappedConfigSelector
SizeDepType< NQ >::template SegmentReturn< D >::Type JointMappedConfigSelector(Eigen::MatrixBase< D > &a) const
Definition: joint-composite.hpp:481
pinocchio::res
ReturnType res
Definition: spatial/classic-acceleration.hpp:57
pinocchio::JointModelCompositeTpl::jointVelocitySelector_impl
SizeDepType< Eigen::Dynamic >::template SegmentReturn< D >::ConstType jointVelocitySelector_impl(const Eigen::MatrixBase< D > &a) const
Definition: joint-composite.hpp:590
pinocchio::JointDataCompositeTpl::U
U_t U
Definition: joint-composite.hpp:140
pinocchio::JointDataCompositeTpl::StU
D_t StU
Definition: joint-composite.hpp:143
pinocchio::Blank
Blank type.
Definition: fwd.hpp:76
pinocchio::JointModelCompositeTpl::JointDerived
JointCompositeTpl< _Scalar, _Options, JointCollectionTpl > JointDerived
Definition: joint-composite.hpp:179
pinocchio::JointModelCompositeTpl::addJoint
JointModelDerived & addJoint(const JointModelBase< JointModel > &jmodel, const SE3 &placement=SE3::Identity())
Add a joint to the vector of joints.
Definition: joint-composite.hpp:286
pinocchio::JointModelCompositeTpl::JointMappedVelocitySelector
SizeDepType< NV >::template SegmentReturn< D >::ConstType JointMappedVelocitySelector(const Eigen::MatrixBase< D > &a) const
Definition: joint-composite.hpp:501
PINOCCHIO_JOINT_DATA_BASE_DEFAULT_ACCESSOR
#define PINOCCHIO_JOINT_DATA_BASE_DEFAULT_ACCESSOR
Definition: joint-data-base.hpp:55
pinocchio::JointDataCompositeTpl::classname
static std::string classname()
Definition: joint-composite.hpp:145
pinocchio::JointModelCompositeTpl::updateJointIndexes
void updateJointIndexes()
Update the indexes of the joints contained in the composition according to the position of the joint ...
Definition: joint-composite.hpp:644
pinocchio::JointModelCompositeTpl::jointCols_impl
SizeDepType< Eigen::Dynamic >::template ColsReturn< D >::ConstType jointCols_impl(const Eigen::MatrixBase< D > &A) const
Definition: joint-composite.hpp:603
pinocchio::JointModelCompositeTpl::Base
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef JointModelBase< JointModelCompositeTpl > Base
Definition: joint-composite.hpp:178
pinocchio::JointModelCompositeTpl::JointMappedConfigSelector
SizeDepType< NQ >::template SegmentReturn< D >::ConstType JointMappedConfigSelector(const Eigen::MatrixBase< D > &a) const
Definition: joint-composite.hpp:475
pinocchio::JointModelCompositeTpl::jointConfigSelector
SizeDepType< NQ >::template SegmentReturn< D >::Type jointConfigSelector(Eigen::MatrixBase< D > &a) const
Definition: joint-composite.hpp:494
pinocchio::JointModelCompositeTpl::Motion
MotionTpl< Scalar, Options > Motion
Definition: joint-composite.hpp:186
pinocchio::JointModelCompositeTpl::nvExtended_impl
int nvExtended_impl() const
Definition: joint-composite.hpp:379
codegen-rnea.nq
nq
Definition: codegen-rnea.py:18
pinocchio::JointModelCompositeTpl::jointVelocitySelector_impl
SizeDepType< Eigen::Dynamic >::template SegmentReturn< D >::Type jointVelocitySelector_impl(Eigen::MatrixBase< D > &a) const
Definition: joint-composite.hpp:596
pinocchio::traits< JointCompositeTpl< _Scalar, _Options, JointCollectionTpl > >::UD_t
Eigen::Matrix< Scalar, 6, Eigen::Dynamic, Options > UD_t
Definition: joint-composite.hpp:46
pinocchio::JointDataCompositeTpl::PINOCCHIO_JOINT_DATA_TYPEDEF_TEMPLATE
PINOCCHIO_JOINT_DATA_TYPEDEF_TEMPLATE(JointDerived)
joint-collection.hpp
pinocchio::JointModelCompositeTpl::joints
JointModelVector joints
Vector of joints contained in the joint composite.
Definition: joint-composite.hpp:468
pinocchio::JointModelCompositeTpl::jointExtendedModelCols_impl
SizeDepType< Eigen::Dynamic >::template ColsReturn< D >::Type jointExtendedModelCols_impl(Eigen::MatrixBase< D > &A) const
Definition: joint-composite.hpp:621
pinocchio::JointModelCompositeTpl::JointCompositeCalcFirstOrderStep
friend struct JointCompositeCalcFirstOrderStep
Definition: joint-composite.hpp:339
pinocchio::JointModelCompositeTpl::jointExtendedModelCols_impl
SizeDepType< Eigen::Dynamic >::template ColsReturn< D >::ConstType jointExtendedModelCols_impl(const Eigen::MatrixBase< D > &A) const
Definition: joint-composite.hpp:609
pinocchio::JointModelCompositeTpl::jointVelocitySelector
SizeDepType< NV >::template SegmentReturn< D >::Type jointVelocitySelector(Eigen::MatrixBase< D > &a) const
Definition: joint-composite.hpp:520
pinocchio::placement
const MotionDense< Motion2 > const SE3Tpl< SE3Scalar, SE3Options > & placement
Definition: spatial/classic-acceleration.hpp:122
pinocchio::traits< JointDataCompositeTpl< _Scalar, _Options, JointCollectionTpl > >::JointDerived
JointCompositeTpl< _Scalar, _Options, JointCollectionTpl > JointDerived
Definition: joint-composite.hpp:66
pinocchio::JointModelBase::nvExtended
int nvExtended() const
Definition: joint-model-base.hpp:152
pinocchio::JointModelCompositeTpl::Inertia
InertiaTpl< Scalar, Options > Inertia
Definition: joint-composite.hpp:187
pinocchio::JointModelCompositeTpl::isEqual
bool isEqual(const JointModelCompositeTpl &other) const
Definition: joint-composite.hpp:422
pinocchio::traits< JointCompositeTpl< _Scalar, _Options, JointCollectionTpl > >::TangentVector_t
Eigen::Matrix< Scalar, Eigen::Dynamic, 1, Options > TangentVector_t
Definition: joint-composite.hpp:49
pinocchio::Dynamic
const int Dynamic
Definition: fwd.hpp:140
pinocchio::JointModelCompositeTpl::cast
JointModelCompositeTpl< NewScalar, Options, JointCollectionTpl > cast() const
Definition: joint-composite.hpp:440
pinocchio::JointDataCompositeTpl::JointDataVariant
JointDataTpl< Scalar, Options, JointCollectionTpl > JointDataVariant
Definition: joint-composite.hpp:82
pinocchio::JointModelTpl< Scalar, Options, JointCollectionTpl >
pinocchio::JointModelCompositeTpl::PINOCCHIO_JOINT_TYPEDEF_TEMPLATE
PINOCCHIO_JOINT_TYPEDEF_TEMPLATE(JointDerived)
size
FCL_REAL size() const
pinocchio::JointDataCompositeTpl::Dinv
D_t Dinv
Definition: joint-composite.hpp:141
pinocchio::JointModelCompositeTpl::nv_impl
int nv_impl() const
Definition: joint-composite.hpp:371
pinocchio::traits< JointCompositeTpl< _Scalar, _Options, JointCollectionTpl > >::Bias_t
MotionTpl< Scalar, Options > Bias_t
Definition: joint-composite.hpp:41
simulation-contact-dynamics.A
A
Definition: simulation-contact-dynamics.py:110
pinocchio::JointDataCompositeTpl::Base
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef JointDataBase< JointDataCompositeTpl > Base
Definition: joint-composite.hpp:76
pinocchio::JointDataCompositeTpl::disp
void disp(std::ostream &os) const
Definition: joint-composite.hpp:154
pinocchio::JointModelCompositeTpl::m_nvExtendeds
std::vector< int > m_nvExtendeds
Dimension of the segment in the jacobian matrix.
Definition: joint-composite.hpp:690
pinocchio::JointModelCompositeTpl::jointCols
SizeDepType< NV >::template ColsReturn< D >::ConstType jointCols(const Eigen::MatrixBase< D > &A) const
Definition: joint-composite.hpp:527
pinocchio::traits< JointCompositeTpl< _Scalar, _Options, JointCollectionTpl > >::JointDataDerived
JointDataCompositeTpl< Scalar, Options, JointCollectionTpl > JointDataDerived
Definition: joint-composite.hpp:36
pinocchio::JointDataCompositeTpl::M
Transformation_t M
Definition: joint-composite.hpp:135
pinocchio::JointDataCompositeTpl::UDinv
UD_t UDinv
Definition: joint-composite.hpp:142
pinocchio::JointModelCompositeTpl::njoints
int njoints
Number of joints contained in the JointModelComposite.
Definition: joint-composite.hpp:694
pinocchio::JointModelCompositeTpl::jointConfigSelector
SizeDepType< NQ >::template SegmentReturn< D >::ConstType jointConfigSelector(const Eigen::MatrixBase< D > &a) const
Definition: joint-composite.hpp:488
pinocchio::JointModelBase::nq
int nq() const
Definition: joint-model-base.hpp:148
inverse-kinematics-3d.it
int it
Definition: inverse-kinematics-3d.py:17
pinocchio::JointModelCompositeTpl::classname
static std::string classname()
Definition: joint-composite.hpp:393
pinocchio::JointModelCompositeTpl::m_nq
int m_nq
Dimensions of the config and tangent space of the composite joint.
Definition: joint-composite.hpp:675
pinocchio::JointModelCompositeTpl::JointMappedConfigSelector_impl
SizeDepType< Eigen::Dynamic >::template SegmentReturn< D >::ConstType JointMappedConfigSelector_impl(const Eigen::MatrixBase< D > &a) const
Definition: joint-composite.hpp:564
pinocchio::traits< JointModelCompositeTpl< _Scalar, _Options, JointCollectionTpl > >::Scalar
_Scalar Scalar
Definition: joint-composite.hpp:60
pinocchio::nvExtended
int nvExtended(const JointModelTpl< Scalar, Options, JointCollectionTpl > &jmodel)
Visit a JointModelTpl through JointNvExtendVisitor to get the dimension of the joint extended tangent...
pinocchio::JointModelCompositeTpl::calc
void calc(JointDataDerived &data, const Eigen::MatrixBase< ConfigVectorType > &qs) const
pinocchio::JointModelCompositeTpl::shortname
std::string shortname() const
Definition: joint-composite.hpp:397
pinocchio::q
JointCollectionTpl const Eigen::MatrixBase< ConfigVectorType > & q
Definition: joint-configuration.hpp:1083
pinocchio::idx_vExtended
int idx_vExtended(const JointModelTpl< Scalar, Options, JointCollectionTpl > &jmodel)
Visit a JointModelTpl through JointIdvExtendedVisitor to get the index in the model extended tangent ...
a
Vec3f a
pinocchio::v
JointCollectionTpl const Eigen::MatrixBase< ConfigVectorType > const Eigen::MatrixBase< TangentVectorType > & v
Definition: joint-configuration.hpp:1084
pinocchio::internal::comparison_eq
bool comparison_eq(const LhsType &lhs_value, const RhsType &rhs_value)
Definition: utils/static-if.hpp:120
pinocchio::setIndexes
void setIndexes(JointModelTpl< Scalar, Options, JointCollectionTpl > &jmodel, JointIndex id, int q, int v, int vExtended)
Visit a JointModelTpl through JointSetIndexesVisitor to set the indexes of the joint in the kinematic...
pinocchio::JointModelCompositeTpl::jointExtendedModelCols
SizeDepType< NV >::template ColsReturn< D >::Type jointExtendedModelCols(Eigen::MatrixBase< D > &A) const
Definition: joint-composite.hpp:544
pinocchio::JointModelCompositeTpl::m_nv
int m_nv
Definition: joint-composite.hpp:675
pinocchio::JointDataCompositeTpl::shortname
std::string shortname() const
Definition: joint-composite.hpp:149
pinocchio::JointModelCompositeTpl
Definition: multibody/joint/fwd.hpp:141
pinocchio::traits< JointCompositeTpl< _Scalar, _Options, JointCollectionTpl > >::Scalar
_Scalar Scalar
Definition: joint-composite.hpp:25
pinocchio::traits< JointCompositeTpl< _Scalar, _Options, JointCollectionTpl > >::U_t
Eigen::Matrix< Scalar, 6, Eigen::Dynamic, Options > U_t
Definition: joint-composite.hpp:44
pinocchio::JointModelCompositeTpl::PINOCCHIO_ALIGNED_STD_VECTOR
typedef PINOCCHIO_ALIGNED_STD_VECTOR(JointModelVariant) JointModelVector
pinocchio::JointModelCompositeTpl::JointModelVariant
JointModelTpl< Scalar, Options, JointCollectionTpl > JointModelVariant
Definition: joint-composite.hpp:183
joint-basic-visitors.hpp
pinocchio::traits< JointCompositeTpl< _Scalar, _Options, JointCollectionTpl > >::Motion_t
MotionTpl< Scalar, Options > Motion_t
Definition: joint-composite.hpp:40
pinocchio::JointModelCompositeTpl::m_nvExtended
int m_nvExtended
Definition: joint-composite.hpp:675
pinocchio::JointModelCompositeTpl::hasConfigurationLimitInTangent
const std::vector< bool > hasConfigurationLimitInTangent() const
Definition: joint-composite.hpp:321
pinocchio::JointDataCompositeTpl::JointDataCompositeTpl
JointDataCompositeTpl()
Definition: joint-composite.hpp:88
pinocchio::JointModelCompositeTpl::hasConfigurationLimit
const std::vector< bool > hasConfigurationLimit() const
Definition: joint-composite.hpp:310
pinocchio::JointModelCompositeTpl::jointConfigSelector_impl
SizeDepType< Eigen::Dynamic >::template SegmentReturn< D >::Type jointConfigSelector_impl(Eigen::MatrixBase< D > &a) const
Definition: joint-composite.hpp:557
pinocchio::JointDataCompositeTpl::joint_q
ConfigVector_t joint_q
Definition: joint-composite.hpp:131
pinocchio::JointModelCompositeTpl::m_nvs
std::vector< int > m_nvs
Dimension of the segment in the tangent vector.
Definition: joint-composite.hpp:686
pinocchio::JointModelCompositeTpl::JointMappedVelocitySelector_impl
SizeDepType< Eigen::Dynamic >::template SegmentReturn< D >::Type JointMappedVelocitySelector_impl(Eigen::MatrixBase< D > &a) const
Definition: joint-composite.hpp:583
pinocchio::JointModelCompositeTpl::JointMappedConfigSelector_impl
SizeDepType< Eigen::Dynamic >::template SegmentReturn< D >::Type JointMappedConfigSelector_impl(Eigen::MatrixBase< D > &a) const
Definition: joint-composite.hpp:570
pinocchio::SE3Tpl< Scalar, Options >::Identity
static SE3Tpl Identity()
Definition: spatial/se3-tpl.hpp:136
pinocchio::JointModelCompositeTpl::calc_aba
void calc_aba(JointDataDerived &data, const Eigen::MatrixBase< VectorLike > &armature, const Eigen::MatrixBase< Matrix6Like > &I, const bool update_I) const
Definition: joint-composite.hpp:354
pinocchio::JointDataCompositeTpl::PINOCCHIO_ALIGNED_STD_VECTOR
typedef PINOCCHIO_ALIGNED_STD_VECTOR(JointDataVariant) JointDataVector
pinocchio::traits< JointCompositeTpl< _Scalar, _Options, JointCollectionTpl > >::is_mimicable_t
boost::mpl::false_ is_mimicable_t
Definition: joint-composite.hpp:51
pinocchio::JointCompositeTpl
Definition: joint-composite.hpp:20
pinocchio::traits< JointCompositeTpl< _Scalar, _Options, JointCollectionTpl > >::JointModelDerived
JointModelCompositeTpl< Scalar, Options, JointCollectionTpl > JointModelDerived
Definition: joint-composite.hpp:37
pinocchio::JointDataCompositeTpl
Definition: multibody/joint/fwd.hpp:148
pinocchio::JointDataCompositeTpl::JointCollection
PINOCCHIO_JOINT_DATA_BASE_DEFAULT_ACCESSOR typedef JointCollectionTpl< Scalar, Options > JointCollection
Definition: joint-composite.hpp:81
fwd.hpp
pinocchio::JointModelCompositeTpl::JointModelCompositeTpl
JointModelCompositeTpl(const size_t size)
Default contructor with a defined size.
Definition: joint-composite.hpp:212
pinocchio::JointModelCompositeTpl::m_nqs
std::vector< int > m_nqs
Dimension of the segment in the config vector.
Definition: joint-composite.hpp:682
pinocchio::JointIndex
Index JointIndex
Definition: multibody/fwd.hpp:26
pinocchio::JointModelCompositeTpl::m_idx_v
std::vector< int > m_idx_v
Index in the tangent vector.
Definition: joint-composite.hpp:684
pinocchio::JointModelCompositeTpl::JointModelCompositeTpl
JointModelCompositeTpl()
Default contructor.
Definition: joint-composite.hpp:201
codegen-rnea.nv
nv
Definition: codegen-rnea.py:19
pinocchio::traits
Common traits structure to fully define base classes for CRTP.
Definition: fwd.hpp:71
pinocchio::JointModelCompositeTpl::setIndexes_impl
void setIndexes_impl(JointIndex id, int q, int v, int vExtended)
Update the indexes of subjoints in the stack.
Definition: joint-composite.hpp:387
pinocchio::JointModelCompositeTpl::SE3
SE3Tpl< Scalar, Options > SE3
Definition: joint-composite.hpp:185
pinocchio::JointDataCompositeTpl::v
Motion_t v
Definition: joint-composite.hpp:136
pinocchio::traits< JointModelCompositeTpl< _Scalar, _Options, JointCollectionTpl > >::JointDerived
JointCompositeTpl< _Scalar, _Options, JointCollectionTpl > JointDerived
Definition: joint-composite.hpp:59
pinocchio::JointModelBase::nv
int nv() const
Definition: joint-model-base.hpp:144
Base
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::JointDataCompositeTpl::S
Constraint_t S
Definition: joint-composite.hpp:134
dcrba.NV
NV
Definition: dcrba.py:536
Scalar
double Scalar
Definition: timings-cppad-jit.cpp:37
dpendulum.NQ
int NQ
Definition: dpendulum.py:9
isEqual
virtual bool isEqual(const CollisionGeometry &other) const=0
meshcat-viewer.qs
qs
Definition: meshcat-viewer.py:128
pinocchio::traits< JointCompositeTpl< _Scalar, _Options, JointCollectionTpl > >::Constraint_t
JointMotionSubspaceTpl< Eigen::Dynamic, Scalar, Options > Constraint_t
Definition: joint-composite.hpp:38
pinocchio::traits< JointCompositeTpl< _Scalar, _Options, JointCollectionTpl > >::Transformation_t
SE3Tpl< Scalar, Options > Transformation_t
Definition: joint-composite.hpp:39
operator=
AABB & operator=(const AABB &other)=default
pinocchio::traits< JointCompositeTpl< _Scalar, _Options, JointCollectionTpl > >::JointCollection
JointCollectionTpl< Scalar, Options > JointCollection
Definition: joint-composite.hpp:35
pinocchio::JointMotionSubspaceTpl
Definition: joint-motion-subspace-generic.hpp:65
pinocchio::JointModelCompositeTpl::m_idx_vExtended
std::vector< int > m_idx_vExtended
Index in the jacobian matrix.
Definition: joint-composite.hpp:688
fwd.hpp
pinocchio::JointModelBase::derived
JointModelDerived & derived()
Definition: joint-model-base.hpp:85
pinocchio::JointModelCompositeTpl::jointCols_impl
SizeDepType< Eigen::Dynamic >::template ColsReturn< D >::Type jointCols_impl(Eigen::MatrixBase< D > &A) const
Definition: joint-composite.hpp:615
pinocchio::JointModelCompositeTpl::jointVelocitySelector
SizeDepType< NV >::template SegmentReturn< D >::ConstType jointVelocitySelector(const Eigen::MatrixBase< D > &a) const
Definition: joint-composite.hpp:514
pinocchio
Main pinocchio namespace.
Definition: timings.cpp:33


pinocchio
Author(s):
autogenerated on Thu Apr 10 2025 02:42:18