joint-mimic.hpp
Go to the documentation of this file.
1 //
2 // Copyright (c) 2019-2021 INRIA
3 //
4 
5 #ifndef __pinocchio_multibody_joint_mimic_hpp__
6 #define __pinocchio_multibody_joint_mimic_hpp__
7 
8 #include "pinocchio/macros.hpp"
10 
11 namespace pinocchio
12 {
13 
14  template<class Constraint>
16 
17  template<class Constraint>
18  struct traits<ScaledJointMotionSubspace<Constraint>>
19  {
21  enum
22  {
24  };
25  enum
26  {
29  };
30 
35 
39  }; // traits ScaledJointMotionSubspace
40 
41  template<class Constraint>
43  {
45  };
46 
47  template<class Constraint, typename MotionDerived>
48  struct MotionAlgebraAction<ScaledJointMotionSubspace<Constraint>, MotionDerived>
49  {
51  };
52 
53  template<class Constraint, typename ForceDerived>
54  struct ConstraintForceOp<ScaledJointMotionSubspace<Constraint>, ForceDerived>
55  {
56  typedef typename Constraint::Scalar Scalar;
58 
60  typedef Eigen::Matrix<
61  Scalar,
62  IdealReturnType::RowsAtCompileTime,
63  IdealReturnType::ColsAtCompileTime,
66  };
67 
68  template<class Constraint, typename ForceSet>
70  {
71  typedef typename Constraint::Scalar Scalar;
74  typedef Eigen::Matrix<
75  Scalar,
77  ForceSet::ColsAtCompileTime,
78  Constraint::Options | Eigen::RowMajor>
80  };
81 
82  template<class Constraint>
83  struct ScaledJointMotionSubspace : JointMotionSubspaceBase<ScaledJointMotionSubspace<Constraint>>
84  {
85  EIGEN_MAKE_ALIGNED_OPERATOR_NEW
86 
88  enum
89  {
91  };
93  using Base::nv;
94 
96 
98  {
99  }
100 
101  explicit ScaledJointMotionSubspace(const Scalar & scaling_factor)
102  : m_scaling_factor(scaling_factor)
103  {
104  }
105 
106  ScaledJointMotionSubspace(const Constraint & constraint, const Scalar & scaling_factor)
108  , m_scaling_factor(scaling_factor)
109  {
110  }
111 
113  : m_constraint(other.m_constraint)
115  {
116  }
117 
119  {
120  m_constraint = other.m_constraint;
122  return *this;
123  }
124 
125  template<typename VectorLike>
126  JointMotion __mult__(const Eigen::MatrixBase<VectorLike> & v) const
127  {
128  assert(v.size() == nv());
129  JointMotion jm = m_constraint * v;
130  return jm * m_scaling_factor;
131  }
132 
133  template<typename S1, int O1>
135  {
136  SE3ActionReturnType res = m_constraint.se3Action(m);
137  return m_scaling_factor * res;
138  }
139 
140  template<typename S1, int O1>
142  {
143  SE3ActionReturnType res = m_constraint.se3ActionInverse(m);
144  return m_scaling_factor * res;
145  }
146 
147  int nv_impl() const
148  {
149  return m_constraint.nv();
150  }
151 
152  struct TransposeConst : JointMotionSubspaceTransposeBase<ScaledJointMotionSubspace>
153  {
156  : ref(ref)
157  {
158  }
159 
160  template<typename Derived>
163  {
164  // TODO: I don't know why, but we should a dense a return type, otherwise it fails at the
165  // evaluation level;
166  typedef
168  return ReturnType(ref.m_scaling_factor * (ref.m_constraint.transpose() * f));
169  }
170 
172  template<typename Derived>
174  operator*(const Eigen::MatrixBase<Derived> & F) const
175  {
176  typedef
178  return ReturnType(ref.m_scaling_factor * (ref.m_constraint.transpose() * F));
179  }
180 
181  }; // struct TransposeConst
182 
184  {
185  return TransposeConst(*this);
186  }
187 
188  DenseBase matrix_impl() const
189  {
190  DenseBase S = m_scaling_factor * m_constraint.matrix();
191  return S;
192  }
193 
194  template<typename MotionDerived>
197  {
199  ReturnType;
200  ReturnType res = m_scaling_factor * m_constraint.motionAction(m);
201  return res;
202  }
203 
204  inline const Scalar & scaling() const
205  {
206  return m_scaling_factor;
207  }
208  inline Scalar & scaling()
209  {
210  return m_scaling_factor;
211  }
212 
213  inline const Constraint & constraint() const
214  {
215  return m_constraint;
216  }
217  inline Constraint & constraint()
218  {
219  return m_constraint;
220  }
221 
222  bool isEqual(const ScaledJointMotionSubspace & other) const
223  {
226  }
227 
228  protected:
229  Constraint m_constraint;
231  }; // struct ScaledJointMotionSubspace
232 
233  namespace details
234  {
235  template<typename ParentConstraint>
237  {
240 
242  {
243  const Constraint & constraint_ = constraint.derived();
244  return (constraint_.constraint().transpose() * constraint_.constraint())
245  * (constraint_.scaling() * constraint_.scaling());
246  }
247  };
248  } // namespace details
249 
250  template<typename S1, int O1, typename _Constraint>
252  {
255  typedef typename Constraint::Scalar Scalar;
256 
258  // typedef typename ScalarMatrixProduct<Scalar,OriginalReturnType>::type ReturnType;
260  };
261 
262  /* [CRBA] ForceSet operator* (Inertia Y,Constraint S) */
263  namespace impl
264  {
265  template<typename S1, int O1, typename _Constraint>
267  {
271 
272  static inline ReturnType run(const Inertia & Y, const Constraint & scaled_constraint)
273  {
274  return scaled_constraint.scaling() * (Y * scaled_constraint.constraint());
275  }
276  };
277  } // namespace impl
278 
279  template<typename M6Like, typename _Constraint>
280  struct MultiplicationOp<Eigen::MatrixBase<M6Like>, ScaledJointMotionSubspace<_Constraint>>
281  {
283  typedef typename PINOCCHIO_EIGEN_PLAIN_TYPE(OriginalReturnType) ReturnType;
284  };
285 
286  /* [ABA] operator* (Inertia Y,Constraint S) */
287  namespace impl
288  {
289  template<typename M6Like, typename _Constraint>
290  struct LhsMultiplicationOp<Eigen::MatrixBase<M6Like>, ScaledJointMotionSubspace<_Constraint>>
291  {
293  typedef
295 
296  static inline ReturnType
297  run(const Eigen::MatrixBase<M6Like> & Y, const Constraint & scaled_constraint)
298  {
299  return scaled_constraint.scaling() * (Y.derived() * scaled_constraint.constraint());
300  }
301  };
302  } // namespace impl
303 
304  template<class Joint>
305  struct JointMimic;
306  template<class JointModel>
308  template<class JointData>
310 
311  template<class Joint>
313  {
314  enum
315  {
318  };
319  typedef typename traits<Joint>::Scalar Scalar;
320  enum
321  {
323  };
324 
327 
330 
334  typedef typename traits<Joint>::Bias_t Bias_t;
335 
336  // [ABA]
337  typedef typename traits<Joint>::U_t U_t;
338  typedef typename traits<Joint>::D_t D_t;
339  typedef typename traits<Joint>::UD_t UD_t;
340 
343 
345  };
346 
347  template<class Joint>
349  {
352  };
353 
354  template<class Joint>
356  {
359  };
360 
361  template<class JointData>
362  struct JointDataMimic : public JointDataBase<JointDataMimic<JointData>>
363  {
364  EIGEN_MAKE_ALIGNED_OPERATOR_NEW
365 
368 
370 
372  : m_scaling((Scalar)0)
373  , joint_q(ConfigVector_t::Zero())
374  , joint_v(TangentVector_t::Zero())
375  , S((Scalar)0)
376  {
377  }
378 
380  {
381  *this = other;
382  }
383 
385  : m_jdata_ref(jdata.derived())
386  , m_scaling(scaling)
387  , S(m_jdata_ref.S, scaling)
388  {
389  }
390 
392  {
393  m_jdata_ref = other.m_jdata_ref;
394  m_scaling = other.m_scaling;
395  joint_q = other.joint_q;
396  joint_v = other.joint_v;
397  S = Constraint_t(m_jdata_ref.S, other.m_scaling);
398  return *this;
399  }
400 
401  using Base::isEqual;
402  bool isEqual(const JointDataMimic & other) const
403  {
408  }
409 
410  static std::string classname()
411  {
412  return std::string("JointDataMimic<") + JointData::classname() + std::string(">");
413  }
414 
415  std::string shortname() const
416  {
417  return std::string("JointDataMimic<") + m_jdata_ref.shortname() + std::string(">");
418  }
419 
420  // Accessors
421  ConfigVectorTypeConstRef joint_q_accessor() const
422  {
423  return joint_q;
424  }
425  ConfigVectorTypeRef joint_q_accessor()
426  {
427  return joint_q;
428  }
429 
430  TangentVectorTypeConstRef joint_v_accessor() const
431  {
432  return joint_v;
433  }
434  TangentVectorTypeRef joint_v_accessor()
435  {
436  return joint_v;
437  }
438 
439  ConstraintTypeConstRef S_accessor() const
440  {
441  return S;
442  }
443  ConstraintTypeRef S_accessor()
444  {
445  return S;
446  }
447 
448  TansformTypeConstRef M_accessor() const
449  {
450  return m_jdata_ref.M;
451  }
452  TansformTypeRef M_accessor()
453  {
454  return m_jdata_ref.M;
455  }
456 
457  MotionTypeConstRef v_accessor() const
458  {
459  return m_jdata_ref.v;
460  }
461  MotionTypeRef v_accessor()
462  {
463  return m_jdata_ref.v;
464  }
465 
466  BiasTypeConstRef c_accessor() const
467  {
468  return m_jdata_ref.c;
469  }
470  BiasTypeRef c_accessor()
471  {
472  return m_jdata_ref.c;
473  }
474 
475  UTypeConstRef U_accessor() const
476  {
477  return m_jdata_ref.U;
478  }
479  UTypeRef U_accessor()
480  {
481  return m_jdata_ref.U;
482  }
483 
484  DTypeConstRef Dinv_accessor() const
485  {
486  return m_jdata_ref.Dinv;
487  }
488  DTypeRef Dinv_accessor()
489  {
490  return m_jdata_ref.Dinv;
491  }
492 
493  UDTypeConstRef UDinv_accessor() const
494  {
495  return m_jdata_ref.UDinv;
496  }
497  UDTypeRef UDinv_accessor()
498  {
499  return m_jdata_ref.UDinv;
500  }
501 
502  DTypeConstRef StU_accessor() const
503  {
504  return m_jdata_ref.StU;
505  }
506  DTypeRef StU_accessor()
507  {
508  return m_jdata_ref.StU;
509  }
510 
511  template<class JointModel>
512  friend struct JointModelMimic;
513 
514  const JointData & jdata() const
515  {
516  return m_jdata_ref;
517  }
519  {
520  return m_jdata_ref;
521  }
522 
523  const Scalar & scaling() const
524  {
525  return m_scaling;
526  }
528  {
529  return m_scaling;
530  }
531 
532  ConfigVector_t & jointConfiguration()
533  {
534  return joint_q;
535  }
536  const ConfigVector_t & jointConfiguration() const
537  {
538  return joint_q;
539  }
540 
541  TangentVector_t & jointVelocity()
542  {
543  return joint_v;
544  }
545  const TangentVector_t & jointVelocity() const
546  {
547  return joint_v;
548  }
549 
550  protected:
553 
555  ConfigVector_t joint_q;
557  TangentVector_t joint_v;
558 
559  public:
560  // data
561  Constraint_t S;
562 
563  }; // struct JointDataMimic
564 
565  template<typename NewScalar, typename JointModel>
566  struct CastType<NewScalar, JointModelMimic<JointModel>>
567  {
570  };
571 
572  template<class JointModel>
573  struct JointModelMimic : public JointModelBase<JointModelMimic<JointModel>>
574  {
575  EIGEN_MAKE_ALIGNED_OPERATOR_NEW
576 
578 
580 
582  using Base::id;
583  using Base::idx_q;
584  using Base::idx_v;
585  using Base::nq;
586  using Base::nv;
587  using Base::setIndexes;
588 
590  {
591  }
592 
594  const JointModelBase<JointModel> & jmodel, const Scalar & scaling, const Scalar & offset)
595  : m_jmodel_ref(jmodel.derived())
596  , m_scaling(scaling)
597  , m_offset(offset)
598  {
599  }
600 
601  Base & base()
602  {
603  return *static_cast<Base *>(this);
604  }
605  const Base & base() const
606  {
607  return *static_cast<const Base *>(this);
608  }
609 
610  inline int nq_impl() const
611  {
612  return 0;
613  }
614  inline int nv_impl() const
615  {
616  return 0;
617  }
618 
619  inline int idx_q_impl() const
620  {
621  return m_jmodel_ref.idx_q();
622  }
623  inline int idx_v_impl() const
624  {
625  return m_jmodel_ref.idx_v();
626  }
627 
628  void setIndexes_impl(JointIndex id, int /*q*/, int /*v*/)
629  {
630  Base::i_id = id; // Only the id of the joint in the model is different.
631  Base::i_q = m_jmodel_ref.idx_q();
632  Base::i_v = m_jmodel_ref.idx_v();
633  }
634 
635  JointDataDerived createData() const
636  {
637  return JointDataDerived(m_jmodel_ref.createData(), scaling());
638  }
639 
640  const std::vector<bool> hasConfigurationLimit() const
641  {
643  }
644 
645  const std::vector<bool> hasConfigurationLimitInTangent() const
646  {
648  }
649 
650  template<typename ConfigVector>
651  EIGEN_DONT_INLINE void
652  calc(JointDataDerived & jdata, const typename Eigen::MatrixBase<ConfigVector> & qs) const
653  {
654  typedef typename ConfigVectorAffineTransform<JointDerived>::Type AffineTransform;
655 
656  AffineTransform::run(qs.head(m_jmodel_ref.nq()), m_scaling, m_offset, jdata.joint_q);
657  m_jmodel_ref.calc(jdata.m_jdata_ref, jdata.joint_q);
658  }
659 
660  template<typename TangentVector>
661  EIGEN_DONT_INLINE void calc(
662  JointDataDerived & jdata,
663  const Blank blank,
664  const typename Eigen::MatrixBase<TangentVector> & vs) const
665  {
666  jdata.joint_v = m_scaling * vs.head(m_jmodel_ref.nv());
667  m_jmodel_ref.calc(jdata.m_jdata_ref, blank, jdata.joint_v);
668  }
669 
670  template<typename ConfigVector, typename TangentVector>
671  EIGEN_DONT_INLINE void calc(
672  JointDataDerived & jdata,
673  const typename Eigen::MatrixBase<ConfigVector> & qs,
674  const typename Eigen::MatrixBase<TangentVector> & vs) const
675  {
676  typedef typename ConfigVectorAffineTransform<JointDerived>::Type AffineTransform;
677 
678  AffineTransform::run(qs.head(m_jmodel_ref.nq()), m_scaling, m_offset, jdata.joint_q);
679  jdata.joint_v = m_scaling * vs.head(m_jmodel_ref.nv());
680  m_jmodel_ref.calc(jdata.m_jdata_ref, jdata.joint_q, jdata.joint_v);
681  }
682 
683  template<typename VectorLike, typename Matrix6Like>
684  void calc_aba(
685  JointDataDerived & data,
686  const Eigen::MatrixBase<VectorLike> & armature,
687  const Eigen::MatrixBase<Matrix6Like> & I,
688  const bool update_I) const
689  {
690  // TODO: fixme
692  data.m_jdata_ref, armature, PINOCCHIO_EIGEN_CONST_CAST(Matrix6Like, I), update_I);
693  }
694 
695  static std::string classname()
696  {
697  return std::string("JointModelMimic<") + JointModel::classname() + std::string(">");
698  ;
699  }
700 
701  std::string shortname() const
702  {
703  return std::string("JointModelMimic<") + m_jmodel_ref.shortname() + std::string(">");
704  }
705 
707  template<typename NewScalar>
709  {
710  typedef typename CastType<NewScalar, JointModelMimic>::type ReturnType;
711 
712  ReturnType res(
713  m_jmodel_ref.template cast<NewScalar>(), pinocchio::cast<NewScalar>(m_scaling),
714  pinocchio::cast<NewScalar>(m_offset));
715  res.setIndexes(id(), idx_q(), idx_v());
716  return res;
717  }
718 
719  const JointModel & jmodel() const
720  {
721  return m_jmodel_ref;
722  }
724  {
725  return m_jmodel_ref;
726  }
727 
728  const Scalar & scaling() const
729  {
730  return m_scaling;
731  }
733  {
734  return m_scaling;
735  }
736 
737  const Scalar & offset() const
738  {
739  return m_offset;
740  }
742  {
743  return m_offset;
744  }
745 
746  protected:
747  // data
750 
751  public:
752  /* Acces to dedicated segment in robot config space. */
753  // Const access
754  template<typename D>
755  typename SizeDepType<NQ>::template SegmentReturn<D>::ConstType
756  jointConfigSelector_impl(const Eigen::MatrixBase<D> & a) const
757  {
758  return SizeDepType<NQ>::segment(a.derived(), m_jmodel_ref.idx_q(), m_jmodel_ref.nq());
759  }
760 
761  // Non-const access
762  template<typename D>
763  typename SizeDepType<NQ>::template SegmentReturn<D>::Type
764  jointConfigSelector_impl(Eigen::MatrixBase<D> & a) const
765  {
766  return SizeDepType<NQ>::segment(a.derived(), m_jmodel_ref.idx_q(), m_jmodel_ref.nq());
767  }
768 
769  /* Acces to dedicated segment in robot config velocity space. */
770  // Const access
771  template<typename D>
772  typename SizeDepType<NV>::template SegmentReturn<D>::ConstType
773  jointVelocitySelector_impl(const Eigen::MatrixBase<D> & a) const
774  {
775  return SizeDepType<NV>::segment(a.derived(), m_jmodel_ref.idx_v(), m_jmodel_ref.nv());
776  }
777 
778  // Non-const access
779  template<typename D>
780  typename SizeDepType<NV>::template SegmentReturn<D>::Type
781  jointVelocitySelector_impl(Eigen::MatrixBase<D> & a) const
782  {
783  return SizeDepType<NV>::segment(a.derived(), m_jmodel_ref.idx_v(), m_jmodel_ref.nv());
784  }
785 
786  /* Acces to dedicated columns in a ForceSet or MotionSet matrix.*/
787  // Const access
788  template<typename D>
789  typename SizeDepType<NV>::template ColsReturn<D>::ConstType
790  jointCols_impl(const Eigen::MatrixBase<D> & A) const
791  {
792  return SizeDepType<NV>::middleCols(A.derived(), m_jmodel_ref.idx_v(), m_jmodel_ref.nv());
793  }
794 
795  // Non-const access
796  template<typename D>
797  typename SizeDepType<NV>::template ColsReturn<D>::Type
798  jointCols_impl(Eigen::MatrixBase<D> & A) const
799  {
800  return SizeDepType<NV>::middleCols(A.derived(), m_jmodel_ref.idx_v(), m_jmodel_ref.nv());
801  }
802 
803  /* Acces to dedicated rows in a matrix.*/
804  // Const access
805  template<typename D>
806  typename SizeDepType<NV>::template RowsReturn<D>::ConstType
807  jointRows_impl(const Eigen::MatrixBase<D> & A) const
808  {
809  return SizeDepType<NV>::middleRows(A.derived(), m_jmodel_ref.idx_v(), m_jmodel_ref.nv());
810  }
811 
812  // Non-const access
813  template<typename D>
814  typename SizeDepType<NV>::template RowsReturn<D>::Type
815  jointRows_impl(Eigen::MatrixBase<D> & A) const
816  {
817  return SizeDepType<NV>::middleRows(A.derived(), m_jmodel_ref.idx_v(), m_jmodel_ref.nv());
818  }
819 
822  // Const access
823  template<typename D>
824  typename SizeDepType<NV>::template BlockReturn<D>::ConstType
825  jointBlock_impl(const Eigen::MatrixBase<D> & Mat) const
826  {
827  return SizeDepType<NV>::block(
828  Mat.derived(), m_jmodel_ref.idx_v(), m_jmodel_ref.idx_v(), m_jmodel_ref.nv(),
829  m_jmodel_ref.nv());
830  }
831 
832  // Non-const access
833  template<typename D>
834  typename SizeDepType<NV>::template BlockReturn<D>::Type
835  jointBlock_impl(Eigen::MatrixBase<D> & Mat) const
836  {
837  return SizeDepType<NV>::block(
838  Mat.derived(), m_jmodel_ref.idx_v(), m_jmodel_ref.idx_v(), m_jmodel_ref.nv(),
839  m_jmodel_ref.nv());
840  }
841 
842  }; // struct JointModelMimic
843 
844 } // namespace pinocchio
845 
846 #endif // ifndef __pinocchio_multibody_joint_mimic_hpp__
pinocchio::traits< ScaledJointMotionSubspace< Constraint > >::JointMotion
traits< Constraint >::JointMotion JointMotion
Definition: joint-mimic.hpp:31
pinocchio::InertiaTpl
Definition: spatial/fwd.hpp:58
pinocchio::SizeDepType
Definition: matrix-block.hpp:13
pinocchio::JointModelMimic::createData
JointDataDerived createData() const
Definition: joint-mimic.hpp:635
pinocchio::JointModelMimic::scaling
Scalar & scaling()
Definition: joint-mimic.hpp:732
PINOCCHIO_JOINT_DATA_BASE_ACCESSOR_DEFAULT_RETURN_TYPE
#define PINOCCHIO_JOINT_DATA_BASE_ACCESSOR_DEFAULT_RETURN_TYPE
Definition: joint-data-base.hpp:137
pinocchio::ScaledJointMotionSubspace::isEqual
bool isEqual(const ScaledJointMotionSubspace &other) const
Definition: joint-mimic.hpp:222
pinocchio::ScaledJointMotionSubspace::m_constraint
Constraint m_constraint
Definition: joint-mimic.hpp:229
pinocchio::JointDataTpl::v
Motion_t v() const
Definition: joint-generic.hpp:131
pinocchio::JointMotionSubspaceBase::nv
int nv() const
Definition: joint-motion-subspace-base.hpp:91
pinocchio::JointDataMimic::scaling
const Scalar & scaling() const
Definition: joint-mimic.hpp:523
pinocchio::traits< JointMimic< Joint > >::ConfigVector_t
traits< Joint >::ConfigVector_t ConfigVector_t
Definition: joint-mimic.hpp:341
Eigen
pinocchio::MultiplicationOp
Forward declaration of the multiplication operation return type. Should be overloaded,...
Definition: binary-op.hpp:15
test-cpp2pybind11.m
m
Definition: test-cpp2pybind11.py:25
pinocchio::ScaledJointMotionSubspace
Definition: joint-mimic.hpp:15
pinocchio::ConstraintForceOp< ScaledJointMotionSubspace< Constraint >, ForceDerived >::Scalar
Constraint::Scalar Scalar
Definition: joint-mimic.hpp:56
pinocchio::JointModelMimic::JointDerived
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef traits< JointModelMimic >::JointDerived JointDerived
Definition: joint-mimic.hpp:577
pinocchio::MultiplicationOp< InertiaTpl< S1, O1 >, ScaledJointMotionSubspace< _Constraint > >::ReturnType
OriginalReturnType ReturnType
Definition: joint-mimic.hpp:259
pinocchio::JointModelTpl::hasConfigurationLimitInTangent
const std::vector< bool > hasConfigurationLimitInTangent() const
Definition: joint-generic.hpp:294
pinocchio::MultiplicationOp< InertiaTpl< S1, O1 >, ScaledJointMotionSubspace< _Constraint > >::Inertia
InertiaTpl< S1, O1 > Inertia
Definition: joint-mimic.hpp:253
pinocchio::JointModelMimic::jointBlock_impl
SizeDepType< NV >::template BlockReturn< D >::ConstType jointBlock_impl(const Eigen::MatrixBase< D > &Mat) const
Returns a block of dimension nv()xnv() located at position idx_v(),idx_v() in the matrix Mat.
Definition: joint-mimic.hpp:825
pinocchio::JointModelMimic::jointConfigSelector_impl
SizeDepType< NQ >::template SegmentReturn< D >::ConstType jointConfigSelector_impl(const Eigen::MatrixBase< D > &a) const
Definition: joint-mimic.hpp:756
pinocchio::JointModelMimic::idx_q_impl
int idx_q_impl() const
Definition: joint-mimic.hpp:619
pinocchio::impl::LhsMultiplicationOp< InertiaTpl< S1, O1 >, ScaledJointMotionSubspace< _Constraint > >::run
static ReturnType run(const Inertia &Y, const Constraint &scaled_constraint)
Definition: joint-mimic.hpp:272
pinocchio::JointDataMimic::JointDataMimic
JointDataMimic(const JointDataMimic &other)
Definition: joint-mimic.hpp:379
pinocchio::JointModelMimic
Definition: joint-mimic.hpp:307
pinocchio::JointDataBase::isEqual
bool isEqual(const JointDataBase< Derived > &other) const
&#160;
Definition: joint-data-base.hpp:289
pinocchio::traits< JointMimic< Joint > >::JointDataBase
traits< Joint >::JointDataDerived JointDataBase
Definition: joint-mimic.hpp:325
macros.hpp
pinocchio::traits< ScaledJointMotionSubspace< Constraint > >::Scalar
traits< Constraint >::Scalar Scalar
Definition: joint-mimic.hpp:20
pinocchio::JointMimic
Definition: joint-mimic.hpp:305
pinocchio::JointDataMimic::U_accessor
UTypeConstRef U_accessor() const
Definition: joint-mimic.hpp:475
pinocchio::traits< ScaledJointMotionSubspace< Constraint > >::MatrixReturnType
traits< Constraint >::MatrixReturnType MatrixReturnType
Definition: joint-mimic.hpp:36
omniidl_be_python_with_docstring.run
def run(tree, args)
Definition: cmake/hpp/idl/omniidl_be_python_with_docstring.py:140
pinocchio::JointModelMimic::scaling
const Scalar & scaling() const
Definition: joint-mimic.hpp:728
pinocchio::JointModelMimic::offset
Scalar & offset()
Definition: joint-mimic.hpp:741
pinocchio::traits< JointMimic< Joint > >::U_t
traits< Joint >::U_t U_t
Definition: joint-mimic.hpp:337
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::ScaledJointMotionSubspace::SE3ActionReturnType
SE3GroupAction< Constraint >::ReturnType SE3ActionReturnType
Definition: joint-mimic.hpp:95
pinocchio::JointModelBase
Definition: joint-model-base.hpp:75
pinocchio::traits< ScaledJointMotionSubspace< Constraint > >::ConstMatrixReturnType
traits< Constraint >::ConstMatrixReturnType ConstMatrixReturnType
Definition: joint-mimic.hpp:37
pinocchio::ConstraintForceOp
Return type of the Constraint::Transpose * Force operation.
Definition: joint-motion-subspace-base.hpp:46
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:1082
pinocchio::SizeDepType::middleCols
static ColsReturn< D >::ConstType middleCols(const Eigen::MatrixBase< D > &mat, typename Eigen::DenseBase< D >::Index start, typename Eigen::DenseBase< D >::Index size=NV)
Definition: matrix-block.hpp:50
pinocchio::JointModelMimic::hasConfigurationLimitInTangent
const std::vector< bool > hasConfigurationLimitInTangent() const
Definition: joint-mimic.hpp:645
pinocchio::JointTpl
Definition: joint-generic.hpp:22
pinocchio::CastType< NewScalar, JointModelMimic< JointModel > >::type
JointModelMimic< JointModelNewType > type
Definition: joint-mimic.hpp:569
pinocchio::ScaledJointMotionSubspace::ScaledJointMotionSubspace
ScaledJointMotionSubspace()
Definition: joint-mimic.hpp:97
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::JointMotionSubspaceBase
Definition: joint-motion-subspace-base.hpp:59
pinocchio::JointDataTpl::StU
D_t StU() const
Definition: joint-generic.hpp:153
pinocchio::traits< JointMimic< Joint > >::JointModelBase
traits< Joint >::JointModelDerived JointModelBase
Definition: joint-mimic.hpp:326
pinocchio::JointDataMimic::joint_v_accessor
TangentVectorTypeRef joint_v_accessor()
Definition: joint-mimic.hpp:434
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
Definition: context/casadi.hpp:29
pinocchio::JointModelMimic::Base
JointModelBase< JointModelMimic > Base
Definition: joint-mimic.hpp:581
pinocchio::JointModelTpl< context::Scalar >::classname
static std::string classname()
Definition: joint-generic.hpp:386
pinocchio::JointDataMimic::Dinv_accessor
DTypeRef Dinv_accessor()
Definition: joint-mimic.hpp:488
pinocchio::ScaledJointMotionSubspace::ScaledJointMotionSubspace
ScaledJointMotionSubspace(const Scalar &scaling_factor)
Definition: joint-mimic.hpp:101
pinocchio::SE3GroupAction::ReturnType
D ReturnType
Definition: spatial/se3.hpp:41
pinocchio::JointDataBase
Definition: joint-data-base.hpp:161
pinocchio::JointModelMimic::jointRows_impl
SizeDepType< NV >::template RowsReturn< D >::ConstType jointRows_impl(const Eigen::MatrixBase< D > &A) const
Definition: joint-mimic.hpp:807
pinocchio::JointDataMimic::isEqual
bool isEqual(const JointDataMimic &other) const
Definition: joint-mimic.hpp:402
pinocchio::details::StDiagonalMatrixSOperation< ScaledJointMotionSubspace< ParentConstraint > >::run
static ReturnType run(const JointMotionSubspaceBase< Constraint > &constraint)
Definition: joint-mimic.hpp:241
pinocchio::JointDataMimic::S_accessor
ConstraintTypeRef S_accessor()
Definition: joint-mimic.hpp:443
pinocchio::impl::LhsMultiplicationOp< InertiaTpl< S1, O1 >, ScaledJointMotionSubspace< _Constraint > >::ReturnType
MultiplicationOp< Inertia, Constraint >::ReturnType ReturnType
Definition: joint-mimic.hpp:270
pinocchio::ScaledJointMotionSubspace::constraint
Constraint & constraint()
Definition: joint-mimic.hpp:217
setup.data
data
Definition: cmake/cython/setup.in.py:48
pinocchio::impl::LhsMultiplicationOp< Eigen::MatrixBase< M6Like >, ScaledJointMotionSubspace< _Constraint > >::run
static ReturnType run(const Eigen::MatrixBase< M6Like > &Y, const Constraint &scaled_constraint)
Definition: joint-mimic.hpp:297
pinocchio::JointModelBase::i_id
JointIndex i_id
Definition: joint-model-base.hpp:447
pinocchio::ScaledJointMotionSubspace::ScaledJointMotionSubspace
ScaledJointMotionSubspace(const ScaledJointMotionSubspace &other)
Definition: joint-mimic.hpp:112
pinocchio::MotionDense
Definition: context/casadi.hpp:36
pinocchio::python::Scalar
context::Scalar Scalar
Definition: admm-solver.cpp:29
pinocchio::ScaledJointMotionSubspace::TransposeConst::operator*
ConstraintForceSetOp< ScaledJointMotionSubspace, Derived >::ReturnType operator*(const Eigen::MatrixBase< Derived > &F) const
[CRBA] MatrixBase operator* (Constraint::Transpose S, ForceSet::Block)
Definition: joint-mimic.hpp:174
pinocchio::JointModelMimic::jointCols_impl
SizeDepType< NV >::template ColsReturn< D >::ConstType jointCols_impl(const Eigen::MatrixBase< D > &A) const
Definition: joint-mimic.hpp:790
pinocchio::JointDataMimic
Definition: joint-mimic.hpp:309
pinocchio::JointModelTpl::hasConfigurationLimit
const std::vector< bool > hasConfigurationLimit() const
Definition: joint-generic.hpp:289
pinocchio::ScaledJointMotionSubspace::transpose
TransposeConst transpose() const
Definition: joint-mimic.hpp:183
pinocchio::JointDataTpl< context::Scalar >
pinocchio::JointModelMimic::setIndexes_impl
void setIndexes_impl(JointIndex id, int, int)
Definition: joint-mimic.hpp:628
pinocchio::ScaledJointMotionSubspace::ScaledJointMotionSubspace
ScaledJointMotionSubspace(const Constraint &constraint, const Scalar &scaling_factor)
Definition: joint-mimic.hpp:106
pinocchio::details::StDiagonalMatrixSOperation< ScaledJointMotionSubspace< ParentConstraint > >::ReturnType
traits< Constraint >::StDiagonalMatrixSOperationReturnType ReturnType
Definition: joint-mimic.hpp:239
pinocchio::ConstraintForceOp::ReturnType
ReturnTypeNotDefined ReturnType
Definition: joint-motion-subspace-base.hpp:48
pinocchio::JointModelMimic::JointModelMimic
JointModelMimic()
Definition: joint-mimic.hpp:589
pinocchio::JointModelBase::setIndexes
void setIndexes(JointIndex id, int q, int v)
Definition: joint-model-base.hpp:186
pinocchio::JointModelMimic::offset
const Scalar & offset() const
Definition: joint-mimic.hpp:737
pinocchio::res
ReturnType res
Definition: spatial/classic-acceleration.hpp:57
pinocchio::JointModelMimic::base
const Base & base() const
Definition: joint-mimic.hpp:605
pinocchio::JointDataMimic::c_accessor
BiasTypeConstRef c_accessor() const
Definition: joint-mimic.hpp:466
pinocchio::impl::LhsMultiplicationOp< InertiaTpl< S1, O1 >, ScaledJointMotionSubspace< _Constraint > >::Constraint
ScaledJointMotionSubspace< _Constraint > Constraint
Definition: joint-mimic.hpp:269
pinocchio::JointDataMimic::U_accessor
UTypeRef U_accessor()
Definition: joint-mimic.hpp:479
pinocchio::JointDataMimic::joint_q_accessor
ConfigVectorTypeConstRef joint_q_accessor() const
Definition: joint-mimic.hpp:421
pinocchio::MultiplicationOp< InertiaTpl< S1, O1 >, ScaledJointMotionSubspace< _Constraint > >::Constraint
ScaledJointMotionSubspace< _Constraint > Constraint
Definition: joint-mimic.hpp:254
pinocchio::MotionAlgebraAction
Return type of the ation of a Motion onto an object of type D.
Definition: spatial/motion.hpp:45
pinocchio::traits< JointMimic< Joint > >::Transformation_t
traits< Joint >::Transformation_t Transformation_t
Definition: joint-mimic.hpp:332
pinocchio::ScaledJointMotionSubspace::__mult__
JointMotion __mult__(const Eigen::MatrixBase< VectorLike > &v) const
Definition: joint-mimic.hpp:126
pinocchio::traits< JointDataMimic< Joint > >::Scalar
traits< JointDerived >::Scalar Scalar
Definition: joint-mimic.hpp:351
pinocchio::ConstraintForceOp< ScaledJointMotionSubspace< Constraint >, ForceDerived >::OriginalReturnType
ConstraintForceOp< Constraint, ForceDerived >::ReturnType OriginalReturnType
Definition: joint-mimic.hpp:57
pinocchio::ConstraintForceOp< ScaledJointMotionSubspace< Constraint >, ForceDerived >::ReturnType
Eigen::Matrix< Scalar, IdealReturnType::RowsAtCompileTime, IdealReturnType::ColsAtCompileTime, Constraint::Options > ReturnType
Definition: joint-mimic.hpp:65
pinocchio::impl::LhsMultiplicationOp
Definition: binary-op.hpp:20
autodiff-rnea.f
f
Definition: autodiff-rnea.py:24
pinocchio::JointDataTpl::c
Bias_t c() const
Definition: joint-generic.hpp:135
pinocchio::ScaledJointMotionSubspace::TransposeConst
Definition: joint-mimic.hpp:152
pinocchio::Blank
Blank type.
Definition: fwd.hpp:76
pinocchio::ScaledJointMotionSubspace::nv_impl
int nv_impl() const
Definition: joint-mimic.hpp:147
pinocchio::SE3GroupAction< ScaledJointMotionSubspace< Constraint > >::ReturnType
SE3GroupAction< Constraint >::ReturnType ReturnType
Definition: joint-mimic.hpp:44
pinocchio::ScaledJointMotionSubspace::se3Action
SE3ActionReturnType se3Action(const SE3Tpl< S1, O1 > &m) const
Definition: joint-mimic.hpp:134
pinocchio::traits< JointMimic< Joint > >::UD_t
traits< Joint >::UD_t UD_t
Definition: joint-mimic.hpp:339
pinocchio::JointDataMimic::S
Constraint_t S
Definition: joint-mimic.hpp:561
pinocchio::SE3GroupAction
Definition: spatial/se3.hpp:39
pinocchio::JointDataMimic::classname
static std::string classname()
Definition: joint-mimic.hpp:410
pinocchio::traits< JointMimic< Joint > >::TangentVector_t
traits< Joint >::TangentVector_t TangentVector_t
Definition: joint-mimic.hpp:342
pinocchio::JointDataMimic::v_accessor
MotionTypeRef v_accessor()
Definition: joint-mimic.hpp:461
pinocchio::MotionAlgebraAction::ReturnType
D ReturnType
Definition: spatial/motion.hpp:47
pinocchio::impl::LhsMultiplicationOp< Eigen::MatrixBase< M6Like >, ScaledJointMotionSubspace< _Constraint > >::ReturnType
MultiplicationOp< Eigen::MatrixBase< M6Like >, Constraint >::ReturnType ReturnType
Definition: joint-mimic.hpp:294
pinocchio::ScaledJointMotionSubspace::TransposeConst::ref
const ScaledJointMotionSubspace & ref
Definition: joint-mimic.hpp:154
pinocchio::JointDataMimic::jointVelocity
TangentVector_t & jointVelocity()
Definition: joint-mimic.hpp:541
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:372
pinocchio::ScaledJointMotionSubspace::motionAction
MotionAlgebraAction< ScaledJointMotionSubspace, MotionDerived >::ReturnType motionAction(const MotionDense< MotionDerived > &m) const
Definition: joint-mimic.hpp:196
pinocchio::traits< JointModelMimic< Joint > >::Scalar
traits< JointDerived >::Scalar Scalar
Definition: joint-mimic.hpp:358
pinocchio::JointModelBase::i_v
int i_v
Definition: joint-model-base.hpp:449
pinocchio::python::Options
@ Options
Definition: expose-contact-inverse-dynamics.cpp:22
pinocchio::JointDataMimic::S_accessor
ConstraintTypeConstRef S_accessor() const
Definition: joint-mimic.hpp:439
pinocchio::ScaledJointMotionSubspace::Base
JointMotionSubspaceBase< ScaledJointMotionSubspace > Base
Definition: joint-mimic.hpp:92
pinocchio::traits< ScaledJointMotionSubspace< Constraint > >::JointForce
traits< Constraint >::JointForce JointForce
Definition: joint-mimic.hpp:32
pinocchio::JointModelMimic::calc
EIGEN_DONT_INLINE void calc(JointDataDerived &jdata, const typename Eigen::MatrixBase< ConfigVector > &qs, const typename Eigen::MatrixBase< TangentVector > &vs) const
Definition: joint-mimic.hpp:671
pinocchio::ScaledJointMotionSubspace::scaling
Scalar & scaling()
Definition: joint-mimic.hpp:208
pinocchio::ConstraintForceSetOp::ReturnType
ReturnTypeNotDefined ReturnType
Definition: joint-motion-subspace-base.hpp:55
simulation-contact-dynamics.S
S
Definition: simulation-contact-dynamics.py:80
pinocchio::JointDataMimic::StU_accessor
DTypeConstRef StU_accessor() const
Definition: joint-mimic.hpp:502
pinocchio::ConstraintForceSetOp< ScaledJointMotionSubspace< Constraint >, ForceSet >::Scalar
Constraint::Scalar Scalar
Definition: joint-mimic.hpp:71
pinocchio::LinearAffineTransform
Linear affine transformation of the configuration vector. Valide for most common joints which are evo...
Definition: joint-common-operations.hpp:50
details
pinocchio::MultiplicationOp< InertiaTpl< S1, O1 >, ScaledJointMotionSubspace< _Constraint > >::Scalar
Constraint::Scalar Scalar
Definition: joint-mimic.hpp:255
pinocchio::impl::LhsMultiplicationOp< InertiaTpl< S1, O1 >, ScaledJointMotionSubspace< _Constraint > >::Inertia
InertiaTpl< S1, O1 > Inertia
Definition: joint-mimic.hpp:268
pinocchio::JointModelMimic::jointRows_impl
SizeDepType< NV >::template RowsReturn< D >::Type jointRows_impl(Eigen::MatrixBase< D > &A) const
Definition: joint-mimic.hpp:815
pinocchio::JointDataMimic::Dinv_accessor
DTypeConstRef Dinv_accessor() const
Definition: joint-mimic.hpp:484
pinocchio::JointDataMimic::c_accessor
BiasTypeRef c_accessor()
Definition: joint-mimic.hpp:470
pinocchio::traits< JointDataMimic< Joint > >::JointDerived
JointMimic< typename traits< Joint >::JointDerived > JointDerived
Definition: joint-mimic.hpp:350
pinocchio::JointModelTpl::createData
JointDataDerived createData() const
Definition: joint-generic.hpp:317
pinocchio::ConstraintForceSetOp< ScaledJointMotionSubspace< Constraint >, ForceSet >::IdealReturnType
ScalarMatrixProduct< Scalar, OriginalReturnType >::type IdealReturnType
Definition: joint-mimic.hpp:73
pinocchio::traits< JointMimic< Joint > >::Motion_t
traits< Joint >::Motion_t Motion_t
Definition: joint-mimic.hpp:333
pinocchio::ScaledJointMotionSubspace::m_scaling_factor
Scalar m_scaling_factor
Definition: joint-mimic.hpp:230
pinocchio::JointModelMimic::cast
CastType< NewScalar, JointModelMimic >::type cast() const
Definition: joint-mimic.hpp:708
pinocchio::JointDataTpl< context::Scalar >::classname
static std::string classname()
Definition: joint-generic.hpp:217
pinocchio::JointModelTpl< context::Scalar >
pinocchio::JointDataMimic::jdata
const JointData & jdata() const
Definition: joint-mimic.hpp:514
pinocchio::JointModelMimic::jointVelocitySelector_impl
SizeDepType< NV >::template SegmentReturn< D >::Type jointVelocitySelector_impl(Eigen::MatrixBase< D > &a) const
Definition: joint-mimic.hpp:781
pinocchio::ScaledJointMotionSubspace::constraint
const Constraint & constraint() const
Definition: joint-mimic.hpp:213
pinocchio::JointDataMimic::operator=
JointDataMimic & operator=(const JointDataMimic &other)
Definition: joint-mimic.hpp:391
pinocchio::JointDataMimic::StU_accessor
DTypeRef StU_accessor()
Definition: joint-mimic.hpp:506
pinocchio::JointMotionSubspaceBase::derived
EIGEN_MAKE_ALIGNED_OPERATOR_NEW Derived & derived()
Definition: joint-motion-subspace-base.hpp:67
pinocchio::MotionAlgebraAction< ScaledJointMotionSubspace< Constraint >, MotionDerived >::ReturnType
MotionAlgebraAction< Constraint, MotionDerived >::ReturnType ReturnType
Definition: joint-mimic.hpp:50
pinocchio::JointDataTpl::U
U_t U() const
Definition: joint-generic.hpp:141
pinocchio::ConstraintForceSetOp< ScaledJointMotionSubspace< Constraint >, ForceSet >::OriginalReturnType
ConstraintForceSetOp< Constraint, ForceSet >::ReturnType OriginalReturnType
Definition: joint-mimic.hpp:72
pinocchio::traits< JointMimic< Joint > >::JointModelDerived
JointModelMimic< JointModelBase > JointModelDerived
Definition: joint-mimic.hpp:329
joint-base.hpp
pinocchio::JointDataMimic::joint_v_accessor
TangentVectorTypeConstRef joint_v_accessor() const
Definition: joint-mimic.hpp:430
pinocchio::SizeDepType::middleRows
static RowsReturn< D >::ConstType middleRows(const Eigen::MatrixBase< D > &mat, typename Eigen::DenseBase< D >::Index start, typename Eigen::DenseBase< D >::Index size=NV)
Definition: matrix-block.hpp:77
pinocchio::details::StDiagonalMatrixSOperation< ScaledJointMotionSubspace< ParentConstraint > >::Constraint
ScaledJointMotionSubspace< ParentConstraint > Constraint
Definition: joint-mimic.hpp:238
pinocchio::traits< JointMimic< Joint > >::Bias_t
traits< Joint >::Bias_t Bias_t
Definition: joint-mimic.hpp:334
pinocchio::JointDataMimic::jdata
JointData & jdata()
Definition: joint-mimic.hpp:518
pinocchio::ConstraintForceOp< ScaledJointMotionSubspace< Constraint >, ForceDerived >::IdealReturnType
ScalarMatrixProduct< Scalar, OriginalReturnType >::type IdealReturnType
Definition: joint-mimic.hpp:59
pinocchio::JointModelMimic::nv_impl
int nv_impl() const
Definition: joint-mimic.hpp:614
pinocchio::SizeDepType::segment
static SegmentReturn< D >::ConstType segment(const Eigen::MatrixBase< D > &mat, typename Eigen::DenseBase< D >::Index start, typename Eigen::DenseBase< D >::Index size=NV)
Definition: matrix-block.hpp:23
pinocchio::JointModelMimic::PINOCCHIO_JOINT_TYPEDEF_TEMPLATE
PINOCCHIO_JOINT_TYPEDEF_TEMPLATE(JointDerived)
pinocchio::JointModelMimic::jmodel
JointModel & jmodel()
Definition: joint-mimic.hpp:723
pinocchio::JointDataMimic::joint_q_accessor
ConfigVectorTypeRef joint_q_accessor()
Definition: joint-mimic.hpp:425
pinocchio::traits< ScaledJointMotionSubspace< Constraint > >::DenseBase
traits< Constraint >::DenseBase DenseBase
Definition: joint-mimic.hpp:33
simulation-contact-dynamics.A
A
Definition: simulation-contact-dynamics.py:110
pinocchio::traits< JointMimic< Joint > >::Scalar
traits< Joint >::Scalar Scalar
Definition: joint-mimic.hpp:319
pinocchio::JointDataMimic::jointVelocity
const TangentVector_t & jointVelocity() const
Definition: joint-mimic.hpp:545
pinocchio::traits< ScaledJointMotionSubspace< Constraint > >::StDiagonalMatrixSOperationReturnType
ReducedSquaredMatrix StDiagonalMatrixSOperationReturnType
Definition: joint-mimic.hpp:38
pinocchio::JointDataTpl::UDinv
UD_t UDinv() const
Definition: joint-generic.hpp:149
pinocchio::JointModelBase::nq
int nq() const
Definition: joint-model-base.hpp:145
pinocchio::JointDataTpl::S
Constraint_t S() const
Definition: joint-generic.hpp:123
pinocchio::traits< JointMimic< Joint > >::Constraint_t
ScaledJointMotionSubspace< typename traits< Joint >::Constraint_t > Constraint_t
Definition: joint-mimic.hpp:331
pinocchio::JointModelMimic::jointVelocitySelector_impl
SizeDepType< NV >::template SegmentReturn< D >::ConstType jointVelocitySelector_impl(const Eigen::MatrixBase< D > &a) const
Definition: joint-mimic.hpp:773
a
Vec3f a
pinocchio::CastType< NewScalar, JointModelMimic< JointModel > >::JointModelNewType
CastType< NewScalar, JointModel >::type JointModelNewType
Definition: joint-mimic.hpp:568
pinocchio::JointModelMimic::jointConfigSelector_impl
SizeDepType< NQ >::template SegmentReturn< D >::Type jointConfigSelector_impl(Eigen::MatrixBase< D > &a) const
Definition: joint-mimic.hpp:764
pinocchio::JointModelMimic::jmodel
const JointModel & jmodel() const
Definition: joint-mimic.hpp:719
pinocchio::ScaledJointMotionSubspace::operator=
ScaledJointMotionSubspace & operator=(const ScaledJointMotionSubspace &other)
Definition: joint-mimic.hpp:118
pinocchio::JointModelBase::idx_v
int idx_v() const
Definition: joint-model-base.hpp:164
pinocchio::ForceSetTpl
Definition: force-set.hpp:14
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::ConstraintForceSetOp
Return type of the Constraint::Transpose * ForceSet operation.
Definition: joint-motion-subspace-base.hpp:53
pinocchio::JointDataMimic::m_scaling
Scalar m_scaling
Definition: joint-mimic.hpp:552
pinocchio::traits< JointModelMimic< Joint > >::JointDerived
JointMimic< typename traits< Joint >::JointDerived > JointDerived
Definition: joint-mimic.hpp:357
pinocchio::JointModelMimic::calc
EIGEN_DONT_INLINE void calc(JointDataDerived &jdata, const typename Eigen::MatrixBase< ConfigVector > &qs) const
Definition: joint-mimic.hpp:652
pinocchio::JointModelMimic::base
Base & base()
Definition: joint-mimic.hpp:601
pinocchio::JointDataMimic::UDinv_accessor
UDTypeRef UDinv_accessor()
Definition: joint-mimic.hpp:497
pinocchio::MultiplicationOp< InertiaTpl< S1, O1 >, ScaledJointMotionSubspace< _Constraint > >::OriginalReturnType
MultiplicationOp< Inertia, _Constraint >::ReturnType OriginalReturnType
Definition: joint-mimic.hpp:257
pinocchio::JointModelMimic::classname
static std::string classname()
Definition: joint-mimic.hpp:695
pinocchio::JointDataMimic::M_accessor
TansformTypeRef M_accessor()
Definition: joint-mimic.hpp:452
pinocchio::ScaledJointMotionSubspace::matrix_impl
DenseBase matrix_impl() const
Definition: joint-mimic.hpp:188
pinocchio::ScaledJointMotionSubspace::NV
@ NV
Definition: joint-mimic.hpp:90
pinocchio::JointModelBase::idx_q
int idx_q() const
Definition: joint-model-base.hpp:160
pinocchio::JointDataMimic::JointDataMimic
JointDataMimic()
Definition: joint-mimic.hpp:371
pinocchio::JointDataTpl::Dinv
D_t Dinv() const
Definition: joint-generic.hpp:145
pinocchio::impl::LhsMultiplicationOp< Eigen::MatrixBase< M6Like >, ScaledJointMotionSubspace< _Constraint > >::Constraint
ScaledJointMotionSubspace< _Constraint > Constraint
Definition: joint-mimic.hpp:292
pinocchio::JointModelMimic::m_offset
Scalar m_offset
Definition: joint-mimic.hpp:749
pinocchio::ScalarMatrixProduct
Definition: math/matrix.hpp:78
pinocchio::JointDataMimic::PINOCCHIO_JOINT_DATA_TYPEDEF_TEMPLATE
PINOCCHIO_JOINT_DATA_TYPEDEF_TEMPLATE(JointDerived)
pinocchio::JointDataMimic::joint_v
TangentVector_t joint_v
Transform velocity vector.
Definition: joint-mimic.hpp:557
pinocchio::JointDataMimic::UDinv_accessor
UDTypeConstRef UDinv_accessor() const
Definition: joint-mimic.hpp:493
pinocchio::ForceDense
Definition: context/casadi.hpp:34
pinocchio::JointModelMimic::shortname
std::string shortname() const
Definition: joint-mimic.hpp:701
pinocchio::JointDataMimic::M_accessor
TansformTypeConstRef M_accessor() const
Definition: joint-mimic.hpp:448
pinocchio::traits< JointMimic< Joint > >::D_t
traits< Joint >::D_t D_t
Definition: joint-mimic.hpp:338
pinocchio::details::StDiagonalMatrixSOperation
Definition: joint-motion-subspace-base.hpp:172
pinocchio::ScaledJointMotionSubspace::TransposeConst::operator*
ConstraintForceOp< ScaledJointMotionSubspace, Derived >::ReturnType operator*(const ForceDense< Derived > &f) const
Definition: joint-mimic.hpp:162
pinocchio::JointModelMimic::jointCols_impl
SizeDepType< NV >::template ColsReturn< D >::Type jointCols_impl(Eigen::MatrixBase< D > &A) const
Definition: joint-mimic.hpp:798
pinocchio::JointModelMimic::hasConfigurationLimit
const std::vector< bool > hasConfigurationLimit() const
Definition: joint-mimic.hpp:640
pinocchio::JointModelMimic::calc
EIGEN_DONT_INLINE void calc(JointDataDerived &jdata, const Blank blank, const typename Eigen::MatrixBase< TangentVector > &vs) const
Definition: joint-mimic.hpp:661
pinocchio::ScaledJointMotionSubspace::TransposeConst::TransposeConst
TransposeConst(const ScaledJointMotionSubspace &ref)
Definition: joint-mimic.hpp:155
PINOCCHIO_CONSTRAINT_TYPEDEF_TPL
#define PINOCCHIO_CONSTRAINT_TYPEDEF_TPL(DERIVED)
Definition: joint-motion-subspace-base.hpp:36
pinocchio::JointModelMimic::m_scaling
Scalar m_scaling
Definition: joint-mimic.hpp:749
pinocchio::ScaledJointMotionSubspace::se3ActionInverse
SE3ActionReturnType se3ActionInverse(const SE3Tpl< S1, O1 > &m) const
Definition: joint-mimic.hpp:141
pinocchio::JointIndex
Index JointIndex
Definition: multibody/fwd.hpp:26
Y
Y
pinocchio::traits
Common traits structure to fully define base classes for CRTP.
Definition: fwd.hpp:71
pinocchio::JointModelMimic::nq_impl
int nq_impl() const
Definition: joint-mimic.hpp:610
pinocchio::JointDataMimic::v_accessor
MotionTypeConstRef v_accessor() const
Definition: joint-mimic.hpp:457
pinocchio::PINOCCHIO_EIGEN_PLAIN_TYPE
PINOCCHIO_EIGEN_PLAIN_TYPE(ConfigVectorType) integrate(const ModelTpl< Scalar
Integrate a configuration vector for the specified model for a tangent vector during one unit time.
pinocchio::ConstraintForceSetOp< ScaledJointMotionSubspace< Constraint >, ForceSet >::ReturnType
Eigen::Matrix< Scalar, Constraint::NV, ForceSet::ColsAtCompileTime, Constraint::Options|Eigen::RowMajor > ReturnType
Definition: joint-mimic.hpp:79
pinocchio::JointModelBase::nv
int nv() const
Definition: joint-model-base.hpp:141
pinocchio::SizeDepType::block
static BlockReturn< D >::ConstType block(const Eigen::MatrixBase< D > &mat, typename Eigen::DenseBase< D >::Index row_id, typename Eigen::DenseBase< D >::Index col_id, typename Eigen::DenseBase< D >::Index row_size_block=NV, typename Eigen::DenseBase< D >::Index col_size_block=NV)
Definition: matrix-block.hpp:104
pinocchio::JointMotionSubspaceTransposeBase
Definition: joint-motion-subspace-base.hpp:185
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::traits< ScaledJointMotionSubspace< Constraint > >::ReducedSquaredMatrix
traits< Constraint >::ReducedSquaredMatrix ReducedSquaredMatrix
Definition: joint-mimic.hpp:34
pinocchio::JointDataTpl::shortname
std::string shortname() const
Definition: joint-generic.hpp:221
pinocchio::JointDataMimic::shortname
std::string shortname() const
Definition: joint-mimic.hpp:415
dcrba.NV
NV
Definition: dcrba.py:536
pinocchio::JointModelMimic::idx_v_impl
int idx_v_impl() const
Definition: joint-mimic.hpp:623
dpendulum.NQ
int NQ
Definition: dpendulum.py:9
pinocchio::JointDataMimic::m_jdata_ref
JointData m_jdata_ref
Definition: joint-mimic.hpp:551
pinocchio::JointDataMimic::scaling
Scalar & scaling()
Definition: joint-mimic.hpp:527
pinocchio::JointDataTpl::M
Transformation_t M() const
Definition: joint-generic.hpp:127
meshcat-viewer.qs
qs
Definition: meshcat-viewer.py:128
pinocchio::JointModelMimic::jointBlock_impl
SizeDepType< NV >::template BlockReturn< D >::Type jointBlock_impl(Eigen::MatrixBase< D > &Mat) const
Definition: joint-mimic.hpp:835
pinocchio::JointDataMimic::JointDataMimic
JointDataMimic(const JointDataBase< JointData > &jdata, const Scalar &scaling)
Definition: joint-mimic.hpp:384
pinocchio::JointDataMimic::jointConfiguration
ConfigVector_t & jointConfiguration()
Definition: joint-mimic.hpp:532
pinocchio::JointModelMimic::calc_aba
void calc_aba(JointDataDerived &data, const Eigen::MatrixBase< VectorLike > &armature, const Eigen::MatrixBase< Matrix6Like > &I, const bool update_I) const
Definition: joint-mimic.hpp:684
pinocchio::MultiplicationOp< Eigen::MatrixBase< M6Like >, ScaledJointMotionSubspace< _Constraint > >::OriginalReturnType
MultiplicationOp< Inertia, _Constraint >::ReturnType OriginalReturnType
Definition: joint-mimic.hpp:282
pinocchio::JointModelMimic::JointModelMimic
JointModelMimic(const JointModelBase< JointModel > &jmodel, const Scalar &scaling, const Scalar &offset)
Definition: joint-mimic.hpp:593
pinocchio::ScaledJointMotionSubspace::scaling
const Scalar & scaling() const
Definition: joint-mimic.hpp:204
pinocchio::JointDataMimic::joint_q
ConfigVector_t joint_q
Transform configuration vector.
Definition: joint-mimic.hpp:555
pinocchio::JointDataMimic::JointDerived
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef traits< JointDataMimic >::JointDerived JointDerived
Definition: joint-mimic.hpp:366
pinocchio::JointModelBase::i_q
int i_q
Definition: joint-model-base.hpp:448
pinocchio::JointModelMimic::m_jmodel_ref
JointModel m_jmodel_ref
Definition: joint-mimic.hpp:748
pinocchio::JointModelTpl::shortname
std::string shortname() const
Definition: joint-generic.hpp:382
pinocchio::JointDataMimic::jointConfiguration
const ConfigVector_t & jointConfiguration() const
Definition: joint-mimic.hpp:536
pinocchio
Main pinocchio namespace.
Definition: timings.cpp:27
pinocchio::traits< JointMimic< Joint > >::JointDataDerived
JointDataMimic< JointDataBase > JointDataDerived
Definition: joint-mimic.hpp:328
pinocchio::JointModelTpl::calc
void calc(JointDataDerived &data, const Eigen::MatrixBase< ConfigVector > &q) const
Definition: joint-generic.hpp:350
pinocchio::JointModelBase::id
JointIndex id() const
Definition: joint-model-base.hpp:168
pinocchio::JointDataMimic::Base
JointDataBase< JointDataMimic< JointData > > Base
Definition: joint-mimic.hpp:367


pinocchio
Author(s):
autogenerated on Sun Nov 10 2024 03:42:59