joint-helical-unaligned.hpp
Go to the documentation of this file.
1 //
2 // Copyright (c) 2022-2023 INRIA
3 //
4 
5 #ifndef __pinocchio_multibody_joint_helical_unaligned_hpp__
6 #define __pinocchio_multibody_joint_helical_unaligned_hpp__
7 
8 #include "pinocchio/fwd.hpp"
12 
15 
16 namespace pinocchio
17 {
18 
19  template<typename Scalar, int Options>
21 
22  template<typename Scalar, int Options>
24  {
26  };
27 
28  template<typename Scalar, int Options, typename MotionDerived>
30  {
32  };
33 
34  template<typename _Scalar, int _Options>
35  struct traits<MotionHelicalUnalignedTpl<_Scalar, _Options>>
36  {
37  typedef _Scalar Scalar;
38  enum
39  {
40  Options = _Options
41  };
42  typedef Eigen::Matrix<Scalar, 3, 1, Options> Vector3;
43  typedef Eigen::Matrix<Scalar, 6, 1, Options> Vector6;
44  typedef Eigen::Matrix<Scalar, 4, 4, Options> Matrix4;
45  typedef Eigen::Matrix<Scalar, 6, 6, Options> Matrix6;
46  typedef typename PINOCCHIO_EIGEN_REF_CONST_TYPE(Vector6) ToVectorConstReturnType;
47  typedef typename PINOCCHIO_EIGEN_REF_TYPE(Vector6) ToVectorReturnType;
50  typedef const Vector3 ConstAngularType;
51  typedef const Vector3 ConstLinearType;
56  enum
57  {
58  LINEAR = 0,
59  ANGULAR = 3
60  };
61  }; // traits MotionHelicalUnalignedTpl
62 
63  template<typename _Scalar, int _Options>
64  struct MotionHelicalUnalignedTpl : MotionBase<MotionHelicalUnalignedTpl<_Scalar, _Options>>
65  {
66  EIGEN_MAKE_ALIGNED_OPERATOR_NEW
67 
69 
71  {
72  }
73 
74  template<typename Vector3Like, typename OtherScalar>
76  const Eigen::MatrixBase<Vector3Like> & axis, const OtherScalar & w, const OtherScalar & v)
77  : m_axis(axis)
78  , m_w(w)
79  , m_v(v)
80  {
81  }
82 
83  inline PlainReturnType plain() const
84  {
85  return PlainReturnType(m_axis * m_v, m_axis * m_w);
86  }
87 
88  template<typename OtherScalar>
89  MotionHelicalUnalignedTpl __mult__(const OtherScalar & alpha) const
90  {
92  }
93 
94  template<typename MotionDerived>
96  {
97  for (Eigen::DenseIndex k = 0; k < 3; ++k)
98  {
99  m.angular().noalias() = m_axis * m_w;
100  m.linear().noalias() = m_axis * m_v;
101  }
102  }
103 
104  template<typename MotionDerived>
105  inline void addTo(MotionDense<MotionDerived> & v) const
106  {
107  v.angular() += m_axis * m_w;
108  v.linear() += m_axis * m_v;
109  }
110 
111  template<typename S2, int O2, typename D2>
112  inline void se3Action_impl(const SE3Tpl<S2, O2> & m, MotionDense<D2> & v) const
113  {
114  v.angular().noalias() = m_w * m.rotation() * m_axis;
115  v.linear().noalias() = m.translation().cross(v.angular()) + m_v * m.rotation() * m_axis;
116  }
117 
118  template<typename S2, int O2>
119  MotionPlain se3Action_impl(const SE3Tpl<S2, O2> & m) const
120  {
121  MotionPlain res;
122  se3Action_impl(m, res);
123  return res;
124  }
125 
126  template<typename S2, int O2, typename D2>
128  {
129  // Linear
130  v.angular().noalias() = m_axis.cross(m.translation());
131  v.angular() *= m_w;
132  v.linear().noalias() =
133  m.rotation().transpose() * v.angular() + m_v * (m.rotation().transpose() * m_axis);
134 
135  // Angular
136  v.angular().noalias() = m.rotation().transpose() * m_axis * m_w;
137  }
138 
139  template<typename S2, int O2>
140  MotionPlain se3ActionInverse_impl(const SE3Tpl<S2, O2> & m) const
141  {
142  MotionPlain res;
144  return res;
145  }
146 
147  template<typename M1, typename M2>
148  void motionAction(const MotionDense<M1> & v, MotionDense<M2> & mout) const
149  {
150  // Linear
151  mout.linear().noalias() = v.linear().cross(m_axis);
152  mout.linear() *= m_w;
153  mout.angular().noalias() = v.angular().cross(m_axis);
154  mout.angular() *= m_v;
155  mout.linear() += mout.angular();
156 
157  // Angular
158  mout.angular().noalias() = v.angular().cross(m_axis);
159  mout.angular() *= m_w;
160  }
161 
162  template<typename M1>
163  MotionPlain motionAction(const MotionDense<M1> & v) const
164  {
165  MotionPlain res;
166  motionAction(v, res);
167  return res;
168  }
169 
171  {
172  return m_w;
173  }
174  const Scalar & angularRate() const
175  {
176  return m_w;
177  }
178 
180  {
181  return m_v;
182  }
183  const Scalar & linearRate() const
184  {
185  return m_v;
186  }
187 
189  {
190  return m_axis;
191  }
192  const Vector3 & axis() const
193  {
194  return m_axis;
195  }
196 
197  bool isEqual_impl(const MotionHelicalUnalignedTpl & other) const
198  {
199  return internal::comparison_eq(m_axis, other.m_axis)
200  && internal::comparison_eq(m_w, other.m_w) && internal::comparison_eq(m_v, other.m_v);
201  }
202 
203  protected:
206 
207  }; // struct MotionHelicalUnalignedTpl
208 
209  template<typename S1, int O1, typename MotionDerived>
210  typename MotionDerived::MotionPlain
212  {
213  typename MotionDerived::MotionPlain res(m2);
214  res += m1;
215  return res;
216  }
217 
218  template<typename MotionDerived, typename S2, int O2>
219  EIGEN_STRONG_INLINE typename MotionDerived::MotionPlain
221  {
222  return m2.motionAction(m1);
223  }
224 
225  template<typename Scalar, int Options>
227 
228  template<typename Scalar, int Options>
230  {
231  typedef Eigen::Matrix<Scalar, 6, 1, Options> ReturnType;
232  };
233 
234  template<typename Scalar, int Options, typename MotionDerived>
236  {
237  typedef Eigen::Matrix<Scalar, 6, 1, Options> ReturnType;
238  };
239 
240  template<typename Scalar, int Options, typename ForceDerived>
242  {
243  typedef typename Eigen::Matrix<Scalar, 1, 1> ReturnType;
244  };
245 
246  template<typename Scalar, int Options, typename ForceSet>
248  {
249  typedef typename Eigen::Matrix<Scalar, Eigen::Dynamic, Eigen::Dynamic> ReturnType;
250  };
251 
252  template<typename _Scalar, int _Options>
254  {
255  typedef _Scalar Scalar;
256  enum
257  {
258  Options = _Options
259  };
260  enum
261  {
262  LINEAR = 0,
263  ANGULAR = 3
264  };
265 
267  typedef Eigen::Matrix<Scalar, 1, 1, Options> JointForce;
268  typedef Eigen::Matrix<Scalar, 6, 1, Options> DenseBase;
269  typedef Eigen::Matrix<Scalar, 1, 1, Options> ReducedSquaredMatrix;
270 
273 
274  typedef Eigen::Matrix<Scalar, 3, 1, Options> Vector3;
275 
276  typedef typename ReducedSquaredMatrix::IdentityReturnType StDiagonalMatrixSOperationReturnType;
277  }; // traits JointMotionSubspaceHelicalUnalignedTpl
278 
279  template<typename _Scalar, int _Options>
281  : JointMotionSubspaceBase<JointMotionSubspaceHelicalUnalignedTpl<_Scalar, _Options>>
282  {
283  EIGEN_MAKE_ALIGNED_OPERATOR_NEW
284 
286  enum
287  {
288  NV = 1
289  };
290 
292  {
293  }
294 
296 
297  template<typename Vector3Like>
299  const Eigen::MatrixBase<Vector3Like> & axis, const Scalar & h)
300  : m_axis(axis)
301  , m_pitch(h)
302  {
303  }
304 
305  template<typename Vector1Like>
306  JointMotion __mult__(const Eigen::MatrixBase<Vector1Like> & v) const
307  {
308  EIGEN_STATIC_ASSERT_VECTOR_SPECIFIC_SIZE(Vector1Like, 1);
309  assert(v.size() == 1);
310  return JointMotion(m_axis, v[0], Scalar(v[0] * m_pitch));
311  }
312 
313  template<typename S1, int O1>
315  se3Action(const SE3Tpl<S1, O1> & m) const
316  {
317  typedef
319  ReturnType res;
320  res.template segment<3>(ANGULAR).noalias() = m.rotation() * m_axis;
321  res.template segment<3>(LINEAR).noalias() =
322  m.translation().cross(res.template segment<3>(ANGULAR)) + m_pitch * (m.rotation() * m_axis);
323  return res;
324  }
325 
326  template<typename S1, int O1>
329  {
330  typedef
332 
333  ReturnType res;
334  res.template segment<3>(ANGULAR).noalias() = m.rotation().transpose() * m_axis;
335  res.template segment<3>(LINEAR).noalias() =
336  -m.rotation().transpose() * m.translation().cross(m_axis)
337  + m.rotation().transpose() * m_axis * m_pitch;
338 
339  return res;
340  }
341 
342  int nv_impl() const
343  {
344  return NV;
345  }
346 
347  struct TransposeConst : JointMotionSubspaceTransposeBase<JointMotionSubspaceHelicalUnalignedTpl>
348  {
351  : ref(ref)
352  {
353  }
354 
355  template<typename ForceDerived>
358  {
359  typedef typename ConstraintForceOp<
360  JointMotionSubspaceHelicalUnalignedTpl, ForceDerived>::ReturnType ReturnType;
361  ReturnType res;
362  res[0] = ref.axis().dot(f.angular()) + ref.axis().dot(f.linear()) * ref.m_pitch;
363  return res;
364  }
365 
367  template<typename Derived>
369  operator*(const Eigen::MatrixBase<Derived> & F) const
370  {
371  assert(F.rows() == 6);
372  return (
373  ref.axis().transpose() * F.template middleRows<3>(ANGULAR)
374  + (ref.axis().transpose() * F.template middleRows<3>(LINEAR) * ref.m_pitch));
375  }
376  }; // struct TransposeConst
377 
379  {
380  return TransposeConst(*this);
381  }
382 
383  /* CRBA joint operators
384  * - ForceSet::Block = ForceSet
385  * - ForceSet operator* (Inertia Y,Constraint S)
386  * - MatrixBase operator* (Constraint::Transpose S, ForceSet::Block)
387  * - SE3::act(ForceSet::Block)
388  */
389  DenseBase matrix_impl() const
390  {
391  DenseBase S;
392  S.template segment<3>(LINEAR) = m_axis * m_pitch;
393  S.template segment<3>(ANGULAR) = m_axis;
394  return S;
395  }
396 
397  template<typename MotionDerived>
400  {
401  const typename MotionDerived::ConstLinearType v = m.linear();
402  const typename MotionDerived::ConstAngularType w = m.angular();
403 
404  DenseBase res;
405  res.template segment<3>(LINEAR).noalias() = v.cross(m_axis);
406  res.template segment<3>(ANGULAR).noalias() = w.cross(m_axis * m_pitch);
407  res.template segment<3>(LINEAR).noalias() += res.template segment<3>(ANGULAR);
408  res.template segment<3>(ANGULAR).noalias() = w.cross(m_axis);
409 
410  return res;
411  }
412 
414  {
415  return internal::comparison_eq(m_axis, other.m_axis)
417  }
418 
420  {
421  return m_axis;
422  }
423  const Vector3 & axis() const
424  {
425  return m_axis;
426  }
427 
428  Scalar & h()
429  {
430  return m_pitch;
431  }
432  const Scalar & h() const
433  {
434  return m_pitch;
435  }
436 
439 
440  }; // struct JointMotionSubspaceHelicalUnalignedTpl
441 
442  template<typename _Scalar, int _Options>
443  Eigen::Matrix<_Scalar, 1, 1, _Options> operator*(
445  S_transpose,
447  {
448  Eigen::Matrix<_Scalar, 1, 1, _Options> res;
449  res(0) = (S_transpose.ref.axis() * S_transpose.ref.h()).dot(S.axis() * S.h())
450  + (S_transpose.ref.axis().dot(S.axis()));
451  return res;
452  }
453 
454  template<typename S1, int O1, typename S2, int O2>
456  {
457  typedef Eigen::Matrix<S2, 6, 1, O2> ReturnType;
458  };
459 
460  /* [CRBA] ForceSet operator* (Inertia Y,Constraint S) */
461  namespace impl
462  {
463  template<typename S1, int O1, typename S2, int O2>
465  {
470  static inline ReturnType run(const Inertia & Y, const Constraint & cru)
471  {
472  ReturnType res;
473  /* YS = [ m -mcx ; mcx I-mcxcx ] [ h ; w ] = [mh-mcxw ; mcxh+Iw-mcxcxw ] */
474 
475  const S2 & m_pitch = cru.h();
476  const typename Inertia::Scalar & m = Y.mass();
477  const typename Inertia::Vector3 & c = Y.lever();
478  const typename Inertia::Symmetric3 & I = Y.inertia();
479 
480  res.template segment<3>(Inertia::LINEAR) = -m * c.cross(cru.axis());
481  res.template segment<3>(Inertia::ANGULAR).noalias() = I * cru.axis();
482  res.template segment<3>(Inertia::ANGULAR) += c.cross(cru.axis()) * m * m_pitch;
483  res.template segment<3>(Inertia::ANGULAR) +=
484  c.cross(res.template segment<3>(Inertia::LINEAR));
485  res.template segment<3>(Inertia::LINEAR) += m * m_pitch * cru.axis();
486  return res;
487  }
488  };
489  } // namespace impl
490 
491  template<typename M6Like, typename Scalar, int Options>
493  Eigen::MatrixBase<M6Like>,
495  {
496  typedef const Eigen::Matrix<Scalar, 6, 1> ReturnType;
497  };
498 
499  /* [ABA] operator* (Inertia Y,Constraint S) */
500  namespace impl
501  {
502  template<typename M6Like, typename Scalar, int Options>
504  Eigen::MatrixBase<M6Like>,
506  {
508  typedef Eigen::Matrix<Scalar, 6, 1> ReturnType;
509  static inline ReturnType run(const Eigen::MatrixBase<M6Like> & Y, const Constraint & cru)
510  {
511  EIGEN_STATIC_ASSERT_MATRIX_SPECIFIC_SIZE(M6Like, 6, 6);
512  return Y.derived().template middleCols<3>(Constraint::ANGULAR) * cru.axis()
513  + Y.derived().template middleCols<3>(Constraint::LINEAR) * cru.axis() * cru.h();
514  }
515  };
516  } // namespace impl
517 
518  template<typename Scalar, int Options>
520 
521  template<typename _Scalar, int _Options>
522  struct traits<JointHelicalUnalignedTpl<_Scalar, _Options>>
523  {
524  enum
525  {
526  NQ = 1,
527  NV = 1
528  };
529  typedef _Scalar Scalar;
530  enum
531  {
532  Options = _Options
533  };
540 
541  // [ABA]
542  typedef Eigen::Matrix<Scalar, 6, NV, Options> U_t;
543  typedef Eigen::Matrix<Scalar, NV, NV, Options> D_t;
544  typedef Eigen::Matrix<Scalar, 6, NV, Options> UD_t;
545 
546  typedef Eigen::Matrix<Scalar, NQ, 1, Options> ConfigVector_t;
547  typedef Eigen::Matrix<Scalar, NV, 1, Options> TangentVector_t;
548 
550  };
551 
552  template<typename _Scalar, int _Options>
553  struct traits<JointDataHelicalUnalignedTpl<_Scalar, _Options>>
554  {
556  typedef _Scalar Scalar;
557  };
558 
559  template<typename _Scalar, int _Options>
560  struct traits<JointModelHelicalUnalignedTpl<_Scalar, _Options>>
561  {
563  typedef _Scalar Scalar;
564  };
565 
566  template<typename _Scalar, int _Options>
568  : public JointDataBase<JointDataHelicalUnalignedTpl<_Scalar, _Options>>
569  {
570  EIGEN_MAKE_ALIGNED_OPERATOR_NEW
574 
575  ConfigVector_t joint_q;
576  TangentVector_t joint_v;
577 
578  Constraint_t S;
579  Transformation_t M;
580  Motion_t v;
581  Bias_t c;
582 
583  // [ABA] specific data
584  U_t U;
585  D_t Dinv;
586  UD_t UDinv;
587  D_t StU;
588 
590  : joint_q(ConfigVector_t::Zero())
591  , joint_v(TangentVector_t::Zero())
592  , S(Constraint_t::Vector3::Zero(), (Scalar)0)
593  , M(Transformation_t::Identity())
594  , v(Constraint_t::Vector3::Zero(), (Scalar)0, (Scalar)0)
595  , U(U_t::Zero())
596  , Dinv(D_t::Zero())
597  , UDinv(UD_t::Zero())
598  , StU(D_t::Zero())
599  {
600  }
601 
602  template<typename Vector3Like>
603  JointDataHelicalUnalignedTpl(const Eigen::MatrixBase<Vector3Like> & axis)
604  : joint_q(ConfigVector_t::Zero())
605  , joint_v(TangentVector_t::Zero())
606  , S(axis, (Scalar)0)
607  , M(Transformation_t::Identity())
608  , v(axis, (Scalar)0, (Scalar)0)
609  , U(U_t::Zero())
610  , Dinv(D_t::Zero())
611  , UDinv(UD_t::Zero())
612  , StU(D_t::Zero())
613  {
614  }
615 
616  static std::string classname()
617  {
618  return std::string("JointDataHelicalUnaligned");
619  }
620  std::string shortname() const
621  {
622  return classname();
623  }
624 
625  }; // struct JointDataHelicalUnalignedTpl
626 
627  PINOCCHIO_JOINT_CAST_TYPE_SPECIALIZATION(JointModelHelicalUnalignedTpl);
628  template<typename _Scalar, int _Options>
629  struct JointModelHelicalUnalignedTpl
630  : public JointModelBase<JointModelHelicalUnalignedTpl<_Scalar, _Options>>
631  {
632  EIGEN_MAKE_ALIGNED_OPERATOR_NEW
635  typedef Eigen::Matrix<Scalar, 3, 1, _Options> Vector3;
636 
638  using Base::id;
639  using Base::idx_q;
640  using Base::idx_v;
641  using Base::setIndexes;
642 
644  {
645  }
646 
647  template<typename Vector3Like>
648  JointModelHelicalUnalignedTpl(const Eigen::MatrixBase<Vector3Like> & axis)
649  : axis(axis)
650  , m_pitch((Scalar)0)
651  {
652  EIGEN_STATIC_ASSERT_VECTOR_ONLY(Vector3Like);
653  assert(isUnitary(axis) && "Rotation axis is not unitary");
654  }
655 
657  const Scalar & x, const Scalar & y, const Scalar & z, const Scalar & h)
658  : axis(x, y, z)
659  , m_pitch(h)
660  {
661  normalize(axis);
662  assert(isUnitary(axis) && "Rotation axis is not unitary");
663  }
664 
665  template<typename Vector3Like>
666  JointModelHelicalUnalignedTpl(const Eigen::MatrixBase<Vector3Like> & axis, const Scalar & h)
667  : axis(axis)
668  , m_pitch(h)
669  {
670  EIGEN_STATIC_ASSERT_VECTOR_ONLY(Vector3Like);
671  assert(isUnitary(axis) && "Rotation axis is not unitary");
672  }
673 
674  const std::vector<bool> hasConfigurationLimit() const
675  {
676  return {true, true};
677  }
678 
679  const std::vector<bool> hasConfigurationLimitInTangent() const
680  {
681  return {true, true};
682  }
683 
684  JointDataDerived createData() const
685  {
686  return JointDataDerived();
687  }
688 
689  using Base::isEqual;
690  bool isEqual(const JointModelHelicalUnalignedTpl & other) const
691  {
692  return Base::isEqual(other) && internal::comparison_eq(axis, other.axis)
693  && internal::comparison_eq(m_pitch, other.m_pitch);
694  }
695 
696  template<typename ConfigVector>
697  void calc(JointDataDerived & data, const typename Eigen::MatrixBase<ConfigVector> & qs) const
698  {
699  data.joint_q[0] = qs[idx_q()];
700 
701  toRotationMatrix(axis, data.joint_q[0], data.M.rotation());
702  data.M.translation() = axis * data.joint_q[0] * m_pitch;
703  data.S.h() = m_pitch;
704  data.S.axis() = axis;
705  }
706 
707  template<typename TangentVector>
708  void
709  calc(JointDataDerived & data, const Blank, const typename Eigen::MatrixBase<TangentVector> & vs)
710  const
711  {
712  data.v.angularRate() = static_cast<Scalar>(vs[idx_v()]);
713  data.v.axis() = axis;
714  data.v.linearRate() = static_cast<Scalar>(vs[idx_v()] * m_pitch);
715  }
716 
717  template<typename ConfigVector, typename TangentVector>
718  void calc(
719  JointDataDerived & data,
720  const typename Eigen::MatrixBase<ConfigVector> & qs,
721  const typename Eigen::MatrixBase<TangentVector> & vs) const
722  {
723  calc(data, qs.derived());
724  data.v.angularRate() = static_cast<Scalar>(vs[idx_v()]);
725  data.v.axis() = axis;
726  data.v.linearRate() = static_cast<Scalar>(vs[idx_v()] * m_pitch);
727  }
728 
729  template<typename VectorLike, typename Matrix6Like>
730  void calc_aba(
731  JointDataDerived & data,
732  const Eigen::MatrixBase<VectorLike> & armature,
733  const Eigen::MatrixBase<Matrix6Like> & I,
734  const bool update_I) const
735  {
736  data.U.noalias() = I.template middleCols<3>(Motion::ANGULAR) * axis
737  + m_pitch * I.template middleCols<3>(Motion::LINEAR) * axis;
738  data.StU[0] = axis.dot(data.U.template segment<3>(Motion::ANGULAR))
739  + m_pitch * axis.dot(data.U.template segment<3>(Motion::LINEAR)) + armature[0];
740  data.Dinv[0] = Scalar(1) / data.StU[0];
741  data.UDinv.noalias() = data.U * data.Dinv;
742  if (update_I)
743  PINOCCHIO_EIGEN_CONST_CAST(Matrix6Like, I).noalias() -= data.UDinv * data.U.transpose();
744  }
745 
746  static std::string classname()
747  {
748  return std::string("JointModelHelicalUnaligned");
749  }
750  std::string shortname() const
751  {
752  return classname();
753  }
754 
756  template<typename NewScalar>
758  {
760  ReturnType res(axis.template cast<NewScalar>(), ScalarCast<NewScalar, Scalar>::cast(m_pitch));
761  res.setIndexes(id(), idx_q(), idx_v());
762  return res;
763  }
764 
767 
768  }; // struct JointModelHelicalUnalignedTpl
769 
770 } // namespace pinocchio
771 
772 #include <boost/type_traits.hpp>
773 
774 namespace boost
775 {
776  template<typename Scalar, int Options>
777  struct has_nothrow_constructor<::pinocchio::JointModelHelicalUnalignedTpl<Scalar, Options>>
778  : public integral_constant<bool, true>
779  {
780  };
781 
782  template<typename Scalar, int Options>
783  struct has_nothrow_copy<::pinocchio::JointModelHelicalUnalignedTpl<Scalar, Options>>
784  : public integral_constant<bool, true>
785  {
786  };
787 
788  template<typename Scalar, int Options>
789  struct has_nothrow_constructor<::pinocchio::JointDataHelicalUnalignedTpl<Scalar, Options>>
790  : public integral_constant<bool, true>
791  {
792  };
793 
794  template<typename Scalar, int Options>
795  struct has_nothrow_copy<::pinocchio::JointDataHelicalUnalignedTpl<Scalar, Options>>
796  : public integral_constant<bool, true>
797  {
798  };
799 } // namespace boost
800 
801 #endif // ifndef __pinocchio_multibody_joint_helical_unaligned_hpp__
pinocchio::traits< JointMotionSubspaceHelicalUnalignedTpl< _Scalar, _Options > >::StDiagonalMatrixSOperationReturnType
ReducedSquaredMatrix::IdentityReturnType StDiagonalMatrixSOperationReturnType
Definition: joint-helical-unaligned.hpp:276
pinocchio::InertiaTpl
Definition: spatial/fwd.hpp:58
pinocchio::impl::LhsMultiplicationOp< Eigen::MatrixBase< M6Like >, JointMotionSubspaceHelicalUnalignedTpl< Scalar, Options > >::run
static ReturnType run(const Eigen::MatrixBase< M6Like > &Y, const Constraint &cru)
Definition: joint-helical-unaligned.hpp:509
PINOCCHIO_JOINT_DATA_BASE_ACCESSOR_DEFAULT_RETURN_TYPE
#define PINOCCHIO_JOINT_DATA_BASE_ACCESSOR_DEFAULT_RETURN_TYPE
Definition: joint-data-base.hpp:137
pinocchio::traits< JointHelicalUnalignedTpl< _Scalar, _Options > >::TangentVector_t
Eigen::Matrix< Scalar, NV, 1, Options > TangentVector_t
Definition: joint-helical-unaligned.hpp:547
pinocchio::JointMotionSubspaceHelicalUnalignedTpl
Definition: joint-helical-unaligned.hpp:226
pinocchio::traits< JointModelHelicalUnalignedTpl< _Scalar, _Options > >::JointDerived
JointHelicalUnalignedTpl< _Scalar, _Options > JointDerived
Definition: joint-helical-unaligned.hpp:562
Eigen
pinocchio::MultiplicationOp
Forward declaration of the multiplication operation return type. Should be overloaded,...
Definition: binary-op.hpp:15
pinocchio::JointDataHelicalUnalignedTpl::JointDataHelicalUnalignedTpl
JointDataHelicalUnalignedTpl()
Definition: joint-helical-unaligned.hpp:589
pinocchio::traits< JointMotionSubspaceHelicalUnalignedTpl< _Scalar, _Options > >::ReducedSquaredMatrix
Eigen::Matrix< Scalar, 1, 1, Options > ReducedSquaredMatrix
Definition: joint-helical-unaligned.hpp:269
test-cpp2pybind11.m
m
Definition: test-cpp2pybind11.py:25
pinocchio::MotionHelicalUnalignedTpl::m_v
Scalar m_v
Definition: joint-helical-unaligned.hpp:205
pinocchio::JointModelHelicalUnalignedTpl::JointModelHelicalUnalignedTpl
JointModelHelicalUnalignedTpl()
Definition: joint-helical-unaligned.hpp:643
pinocchio::MotionHelicalUnalignedTpl::angularRate
Scalar & angularRate()
Definition: joint-helical-unaligned.hpp:170
pinocchio::traits< JointHelicalUnalignedTpl< _Scalar, _Options > >::JointDataDerived
JointDataHelicalUnalignedTpl< Scalar, Options > JointDataDerived
Definition: joint-helical-unaligned.hpp:534
pinocchio::JointDataHelicalUnalignedTpl::M
Transformation_t M
Definition: joint-helical-unaligned.hpp:579
pinocchio::MotionAlgebraAction< JointMotionSubspaceHelicalUnalignedTpl< Scalar, Options >, MotionDerived >::ReturnType
Eigen::Matrix< Scalar, 6, 1, Options > ReturnType
Definition: joint-helical-unaligned.hpp:237
pinocchio::traits< MotionHelicalUnalignedTpl< _Scalar, _Options > >::MotionPlain
MotionTpl< Scalar, Options > MotionPlain
Definition: joint-helical-unaligned.hpp:53
rotation.hpp
pinocchio::isUnitary
bool isUnitary(const Eigen::MatrixBase< MatrixLike > &mat, const typename MatrixLike::RealScalar &prec=Eigen::NumTraits< typename MatrixLike::Scalar >::dummy_precision())
Check whether the input matrix is Unitary within the given precision.
Definition: math/matrix.hpp:155
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::JointModelHelicalUnalignedTpl::calc
void calc(JointDataDerived &data, const typename Eigen::MatrixBase< ConfigVector > &qs) const
Definition: joint-helical-unaligned.hpp:697
pinocchio::JointModelBase
Definition: joint-model-base.hpp:75
pinocchio::ConstraintForceSetOp< JointMotionSubspaceHelicalUnalignedTpl< Scalar, Options >, ForceSet >::ReturnType
Eigen::Matrix< Scalar, Eigen::Dynamic, Eigen::Dynamic > ReturnType
Definition: joint-helical-unaligned.hpp:249
pinocchio::traits< JointHelicalUnalignedTpl< _Scalar, _Options > >::ConfigVector_t
Eigen::Matrix< Scalar, NQ, 1, Options > ConfigVector_t
Definition: joint-helical-unaligned.hpp:546
pinocchio::JointDataHelicalUnalignedTpl::S
Constraint_t S
Definition: joint-helical-unaligned.hpp:578
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
y
y
pinocchio::JointMotionSubspaceBase
Definition: joint-motion-subspace-base.hpp:59
c
Vec3f c
PINOCCHIO_EIGEN_CONST_CAST
#define PINOCCHIO_EIGEN_CONST_CAST(TYPE, OBJ)
Macro for an automatic const_cast.
Definition: eigen-macros.hpp:51
pinocchio::traits< JointDataHelicalUnalignedTpl< _Scalar, _Options > >::JointDerived
JointHelicalUnalignedTpl< _Scalar, _Options > JointDerived
Definition: joint-helical-unaligned.hpp:555
pinocchio::SE3Tpl
Definition: context/casadi.hpp:29
fwd.hpp
pinocchio::SE3GroupAction::ReturnType
D ReturnType
Definition: spatial/se3.hpp:41
pinocchio::JointDataBase
Definition: joint-data-base.hpp:161
pinocchio::ConstraintForceOp< JointMotionSubspaceHelicalUnalignedTpl< Scalar, Options >, ForceDerived >::ReturnType
Eigen::Matrix< Scalar, 1, 1 > ReturnType
Definition: joint-helical-unaligned.hpp:243
pinocchio::PINOCCHIO_EIGEN_REF_CONST_TYPE
PINOCCHIO_EIGEN_REF_CONST_TYPE(Matrix6Like) operator*(const Eigen
Definition: joint-free-flyer.hpp:144
setup.data
data
Definition: cmake/cython/setup.in.py:48
pinocchio::JointMotionSubspaceHelicalUnalignedTpl::TransposeConst::operator*
ConstraintForceSetOp< JointMotionSubspaceHelicalUnalignedTpl, Derived >::ReturnType operator*(const Eigen::MatrixBase< Derived > &F) const
[CRBA] MatrixBase operator* (Constraint::Transpose S, ForceSet::Block)
Definition: joint-helical-unaligned.hpp:369
inertia.hpp
pinocchio::JointMotionSubspaceHelicalUnalignedTpl::se3ActionInverse
SE3GroupAction< JointMotionSubspaceHelicalUnalignedTpl >::ReturnType se3ActionInverse(const SE3Tpl< S1, O1 > &m) const
Definition: joint-helical-unaligned.hpp:328
pinocchio::JointDataHelicalUnalignedTpl::StU
D_t StU
Definition: joint-helical-unaligned.hpp:587
pinocchio::MotionHelicalUnalignedTpl::__mult__
MotionHelicalUnalignedTpl __mult__(const OtherScalar &alpha) const
Definition: joint-helical-unaligned.hpp:89
pinocchio::impl::LhsMultiplicationOp< InertiaTpl< S1, O1 >, JointMotionSubspaceHelicalUnalignedTpl< S2, O2 > >::Vector3
JointMotionSubspaceHelicalUnalignedTpl< S2, O2 >::Vector3 Vector3
Definition: joint-helical-unaligned.hpp:468
pinocchio::MotionDense
Definition: context/casadi.hpp:36
pinocchio::python::Scalar
context::Scalar Scalar
Definition: admm-solver.cpp:29
pinocchio::JointModelHelicalUnalignedTpl::calc
void calc(JointDataDerived &data, const typename Eigen::MatrixBase< ConfigVector > &qs, const typename Eigen::MatrixBase< TangentVector > &vs) const
Definition: joint-helical-unaligned.hpp:718
pinocchio::JointModelHelicalUnalignedTpl::isEqual
bool isEqual(const JointModelHelicalUnalignedTpl &other) const
Definition: joint-helical-unaligned.hpp:690
pinocchio::impl::LhsMultiplicationOp< InertiaTpl< S1, O1 >, JointMotionSubspaceHelicalUnalignedTpl< S2, O2 > >::run
static ReturnType run(const Inertia &Y, const Constraint &cru)
Definition: joint-helical-unaligned.hpp:470
pinocchio::JointDataHelicalUnalignedTpl
Definition: multibody/joint/fwd.hpp:69
pinocchio::operator+
MotionDerived::MotionPlain operator+(const MotionHelicalUnalignedTpl< S1, O1 > &m1, const MotionDense< MotionDerived > &m2)
Definition: joint-helical-unaligned.hpp:211
pinocchio::JointMotionSubspaceHelicalUnalignedTpl::motionAction
MotionAlgebraAction< JointMotionSubspaceHelicalUnalignedTpl, MotionDerived >::ReturnType motionAction(const MotionDense< MotionDerived > &m) const
Definition: joint-helical-unaligned.hpp:399
boost
pinocchio::JointMotionSubspaceHelicalUnalignedTpl::transpose
TransposeConst transpose() const
Definition: joint-helical-unaligned.hpp:378
pinocchio::ConstraintForceOp::ReturnType
ReturnTypeNotDefined ReturnType
Definition: joint-motion-subspace-base.hpp:48
pinocchio::JointModelBase::setIndexes
void setIndexes(JointIndex id, int q, int v)
Definition: joint-model-base.hpp:186
pinocchio::res
ReturnType res
Definition: spatial/classic-acceleration.hpp:57
pinocchio::JointModelHelicalUnalignedTpl::JointDerived
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef JointHelicalUnalignedTpl< _Scalar, _Options > JointDerived
Definition: joint-helical-unaligned.hpp:633
pinocchio::MotionHelicalUnalignedTpl::se3Action_impl
MotionPlain se3Action_impl(const SE3Tpl< S2, O2 > &m) const
Definition: joint-helical-unaligned.hpp:119
pinocchio::MotionAlgebraAction
Return type of the ation of a Motion onto an object of type D.
Definition: spatial/motion.hpp:45
pinocchio::traits< JointMotionSubspaceHelicalUnalignedTpl< _Scalar, _Options > >::Vector3
Eigen::Matrix< Scalar, 3, 1, Options > Vector3
Definition: joint-helical-unaligned.hpp:274
pinocchio::JointModelHelicalUnalignedTpl::axis
Vector3 axis
Definition: joint-helical-unaligned.hpp:765
pinocchio::impl::LhsMultiplicationOp< InertiaTpl< S1, O1 >, JointMotionSubspaceHelicalUnalignedTpl< S2, O2 > >::Inertia
InertiaTpl< S1, O1 > Inertia
Definition: joint-helical-unaligned.hpp:466
pinocchio::operator*
TridiagonalSymmetricMatrixApplyOnTheLeftReturnType< LhsMatrixType, TridiagonalSymmetricMatrixTpl< S, O > > operator*(const Eigen::MatrixBase< LhsMatrixType > &lhs, const TridiagonalSymmetricMatrixTpl< S, O > &rhs)
Definition: math/tridiagonal-matrix.hpp:319
pinocchio::traits< JointMotionSubspaceHelicalUnalignedTpl< _Scalar, _Options > >::DenseBase
Eigen::Matrix< Scalar, 6, 1, Options > DenseBase
Definition: joint-helical-unaligned.hpp:268
pinocchio::JointDataHelicalUnalignedTpl::joint_v
TangentVector_t joint_v
Definition: joint-helical-unaligned.hpp:576
pinocchio::impl::LhsMultiplicationOp
Definition: binary-op.hpp:20
autodiff-rnea.f
f
Definition: autodiff-rnea.py:24
pinocchio::Blank
Blank type.
Definition: fwd.hpp:76
pinocchio::JointMotionSubspaceHelicalUnalignedTpl::Vector3
traits< JointMotionSubspaceHelicalUnalignedTpl >::Vector3 Vector3
Definition: joint-helical-unaligned.hpp:295
pinocchio::traits< MotionHelicalUnalignedTpl< _Scalar, _Options > >::ConstAngularType
const typedef Vector3 ConstAngularType
Definition: joint-helical-unaligned.hpp:50
pinocchio::MotionDense::linear
ConstLinearType linear() const
Definition: motion-base.hpp:36
pinocchio::JointModelHelicalUnalignedTpl::hasConfigurationLimit
const std::vector< bool > hasConfigurationLimit() const
Definition: joint-helical-unaligned.hpp:674
pinocchio::traits< MotionHelicalUnalignedTpl< _Scalar, _Options > >::Vector3
Eigen::Matrix< Scalar, 3, 1, Options > Vector3
Definition: joint-helical-unaligned.hpp:42
pinocchio::JointModelHelicalUnalignedTpl::hasConfigurationLimitInTangent
const std::vector< bool > hasConfigurationLimitInTangent() const
Definition: joint-helical-unaligned.hpp:679
pinocchio::SE3GroupAction
Definition: spatial/se3.hpp:39
pinocchio::MotionHelicalUnalignedTpl::motionAction
MotionPlain motionAction(const MotionDense< M1 > &v) const
Definition: joint-helical-unaligned.hpp:163
pinocchio::MotionZeroTpl
Definition: context/casadi.hpp:23
PINOCCHIO_JOINT_DATA_BASE_DEFAULT_ACCESSOR
#define PINOCCHIO_JOINT_DATA_BASE_DEFAULT_ACCESSOR
Definition: joint-data-base.hpp:55
pinocchio::MotionHelicalUnalignedTpl::addTo
void addTo(MotionDense< MotionDerived > &v) const
Definition: joint-helical-unaligned.hpp:105
pinocchio::MotionAlgebraAction::ReturnType
D ReturnType
Definition: spatial/motion.hpp:47
pinocchio::JointMotionSubspaceHelicalUnalignedTpl::TransposeConst::ref
const JointMotionSubspaceHelicalUnalignedTpl & ref
Definition: joint-helical-unaligned.hpp:349
pinocchio::JointDataHelicalUnalignedTpl::shortname
std::string shortname() const
Definition: joint-helical-unaligned.hpp:620
pinocchio::JointDataHelicalUnalignedTpl::classname
static std::string classname()
Definition: joint-helical-unaligned.hpp:616
pinocchio::traits< MotionHelicalUnalignedTpl< _Scalar, _Options > >::Matrix6
Eigen::Matrix< Scalar, 6, 6, Options > Matrix6
Definition: joint-helical-unaligned.hpp:45
pinocchio::python::context::Symmetric3
Symmetric3Tpl< Scalar, Options > Symmetric3
Definition: bindings/python/context/generic.hpp:59
pinocchio::JointMotionSubspaceHelicalUnalignedTpl::__mult__
JointMotion __mult__(const Eigen::MatrixBase< Vector1Like > &v) const
Definition: joint-helical-unaligned.hpp:306
pinocchio::MotionAlgebraAction< MotionHelicalUnalignedTpl< Scalar, Options >, MotionDerived >::ReturnType
MotionTpl< Scalar, Options > ReturnType
Definition: joint-helical-unaligned.hpp:31
pinocchio::MotionHelicalUnalignedTpl::MOTION_TYPEDEF_TPL
EIGEN_MAKE_ALIGNED_OPERATOR_NEW MOTION_TYPEDEF_TPL(MotionHelicalUnalignedTpl)
pinocchio::traits< MotionHelicalUnalignedTpl< _Scalar, _Options > >::PlainReturnType
MotionPlain PlainReturnType
Definition: joint-helical-unaligned.hpp:54
pinocchio::ConstraintForceSetOp::ReturnType
ReturnTypeNotDefined ReturnType
Definition: joint-motion-subspace-base.hpp:55
simulation-contact-dynamics.S
S
Definition: simulation-contact-dynamics.py:80
matrix.hpp
reachable-workspace-with-collisions.alpha
float alpha
Definition: reachable-workspace-with-collisions.py:162
pinocchio::MotionHelicalUnalignedTpl::isEqual_impl
bool isEqual_impl(const MotionHelicalUnalignedTpl &other) const
Definition: joint-helical-unaligned.hpp:197
pinocchio::PINOCCHIO_JOINT_CAST_TYPE_SPECIALIZATION
PINOCCHIO_JOINT_CAST_TYPE_SPECIALIZATION(JointModelFreeFlyerTpl)
Free-flyer joint in .
pinocchio::JointModelHelicalUnalignedTpl::Vector3
Eigen::Matrix< Scalar, 3, 1, _Options > Vector3
Definition: joint-helical-unaligned.hpp:635
pinocchio::JointModelHelicalUnalignedTpl::calc_aba
void calc_aba(JointDataDerived &data, const Eigen::MatrixBase< VectorLike > &armature, const Eigen::MatrixBase< Matrix6Like > &I, const bool update_I) const
Definition: joint-helical-unaligned.hpp:730
pinocchio::traits< JointMotionSubspaceHelicalUnalignedTpl< _Scalar, _Options > >::MatrixReturnType
DenseBase MatrixReturnType
Definition: joint-helical-unaligned.hpp:271
pinocchio::traits< JointHelicalUnalignedTpl< _Scalar, _Options > >::D_t
Eigen::Matrix< Scalar, NV, NV, Options > D_t
Definition: joint-helical-unaligned.hpp:543
pinocchio::JointMotionSubspaceHelicalUnalignedTpl::matrix_impl
DenseBase matrix_impl() const
Definition: joint-helical-unaligned.hpp:389
pinocchio::traits< JointMotionSubspaceHelicalUnalignedTpl< _Scalar, _Options > >::JointMotion
MotionHelicalUnalignedTpl< Scalar, Options > JointMotion
Definition: joint-helical-unaligned.hpp:266
pinocchio::JointModelHelicalUnalignedTpl::Base
JointModelBase< JointModelHelicalUnalignedTpl > Base
Definition: joint-helical-unaligned.hpp:637
pinocchio::traits< MotionHelicalUnalignedTpl< _Scalar, _Options > >::ActionMatrixType
Matrix6 ActionMatrixType
Definition: joint-helical-unaligned.hpp:52
pinocchio::JointMotionSubspaceHelicalUnalignedTpl::JointMotionSubspaceHelicalUnalignedTpl
JointMotionSubspaceHelicalUnalignedTpl(const Eigen::MatrixBase< Vector3Like > &axis, const Scalar &h)
Definition: joint-helical-unaligned.hpp:298
pinocchio::impl::LhsMultiplicationOp< Eigen::MatrixBase< M6Like >, JointMotionSubspaceHelicalUnalignedTpl< Scalar, Options > >::Constraint
JointMotionSubspaceHelicalUnalignedTpl< Scalar, Options > Constraint
Definition: joint-helical-unaligned.hpp:507
pinocchio::JointModelHelicalUnalignedTpl
Definition: multibody/joint/fwd.hpp:65
pinocchio::JointDataHelicalUnalignedTpl::PINOCCHIO_JOINT_DATA_TYPEDEF_TEMPLATE
PINOCCHIO_JOINT_DATA_TYPEDEF_TEMPLATE(JointDerived)
pinocchio::JointMotionSubspaceHelicalUnalignedTpl::JointMotionSubspaceHelicalUnalignedTpl
JointMotionSubspaceHelicalUnalignedTpl()
Definition: joint-helical-unaligned.hpp:291
joint-base.hpp
x
x
pinocchio::JointMotionSubspaceHelicalUnalignedTpl::axis
const Vector3 & axis() const
Definition: joint-helical-unaligned.hpp:423
pinocchio::JointMotionSubspaceHelicalUnalignedTpl::TransposeConst
Definition: joint-helical-unaligned.hpp:347
pinocchio::MotionHelicalUnalignedTpl::se3Action_impl
void se3Action_impl(const SE3Tpl< S2, O2 > &m, MotionDense< D2 > &v) const
Definition: joint-helical-unaligned.hpp:112
pinocchio::MotionHelicalUnalignedTpl::linearRate
Scalar & linearRate()
Definition: joint-helical-unaligned.hpp:179
pinocchio::context::Vector3
Eigen::Matrix< Scalar, 3, 1, Options > Vector3
Definition: context/generic.hpp:53
pinocchio::traits< JointHelicalUnalignedTpl< _Scalar, _Options > >::U_t
Eigen::Matrix< Scalar, 6, NV, Options > U_t
Definition: joint-helical-unaligned.hpp:542
pinocchio::traits< MotionHelicalUnalignedTpl< _Scalar, _Options > >::Matrix4
Eigen::Matrix< Scalar, 4, 4, Options > Matrix4
Definition: joint-helical-unaligned.hpp:44
axis
axis
pinocchio::JointMotionSubspaceHelicalUnalignedTpl::se3Action
SE3GroupAction< JointMotionSubspaceHelicalUnalignedTpl >::ReturnType se3Action(const SE3Tpl< S1, O1 > &m) const
Definition: joint-helical-unaligned.hpp:315
pinocchio::traits< JointMotionSubspaceHelicalUnalignedTpl< _Scalar, _Options > >::JointForce
Eigen::Matrix< Scalar, 1, 1, Options > JointForce
Definition: joint-helical-unaligned.hpp:267
ur5x4.w
w
Definition: ur5x4.py:50
pinocchio::traits< MotionHelicalUnalignedTpl< _Scalar, _Options > >::LinearType
Vector3 LinearType
Definition: joint-helical-unaligned.hpp:49
pinocchio::traits< JointMotionSubspaceHelicalUnalignedTpl< _Scalar, _Options > >::ConstMatrixReturnType
const typedef DenseBase ConstMatrixReturnType
Definition: joint-helical-unaligned.hpp:272
pinocchio::SE3GroupAction< MotionHelicalUnalignedTpl< Scalar, Options > >::ReturnType
MotionTpl< Scalar, Options > ReturnType
Definition: joint-helical-unaligned.hpp:25
pinocchio::traits< JointHelicalUnalignedTpl< _Scalar, _Options > >::Bias_t
MotionZeroTpl< Scalar, Options > Bias_t
Definition: joint-helical-unaligned.hpp:539
pinocchio::impl::LhsMultiplicationOp< InertiaTpl< S1, O1 >, JointMotionSubspaceHelicalUnalignedTpl< S2, O2 > >::ReturnType
MultiplicationOp< Inertia, Constraint >::ReturnType ReturnType
Definition: joint-helical-unaligned.hpp:469
pinocchio::JointDataHelicalUnalignedTpl::UDinv
UD_t UDinv
Definition: joint-helical-unaligned.hpp:586
pinocchio::JointDataHelicalUnalignedTpl::JointDataHelicalUnalignedTpl
JointDataHelicalUnalignedTpl(const Eigen::MatrixBase< Vector3Like > &axis)
Definition: joint-helical-unaligned.hpp:603
pinocchio::MotionHelicalUnalignedTpl::MotionHelicalUnalignedTpl
MotionHelicalUnalignedTpl()
Definition: joint-helical-unaligned.hpp:70
pinocchio::MotionHelicalUnalignedTpl::se3ActionInverse_impl
MotionPlain se3ActionInverse_impl(const SE3Tpl< S2, O2 > &m) const
Definition: joint-helical-unaligned.hpp:140
ur5x4.h
h
Definition: ur5x4.py:50
pinocchio::JointMotionSubspaceHelicalUnalignedTpl::TransposeConst::operator*
ConstraintForceOp< JointMotionSubspaceHelicalUnalignedTpl, ForceDerived >::ReturnType operator*(const ForceDense< ForceDerived > &f) const
Definition: joint-helical-unaligned.hpp:357
pinocchio::JointModelHelicalUnalignedTpl::shortname
std::string shortname() const
Definition: joint-helical-unaligned.hpp:750
pinocchio::toRotationMatrix
void toRotationMatrix(const Eigen::MatrixBase< Vector3 > &axis, const Scalar &cos_value, const Scalar &sin_value, const Eigen::MatrixBase< Matrix3 > &res)
Computes a rotation matrix from a vector and values of sin and cos orientations values.
Definition: rotation.hpp:26
pinocchio::JointDataHelicalUnalignedTpl::joint_q
PINOCCHIO_JOINT_DATA_BASE_DEFAULT_ACCESSOR ConfigVector_t joint_q
Definition: joint-helical-unaligned.hpp:575
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::traits< JointHelicalUnalignedTpl< _Scalar, _Options > >::Scalar
_Scalar Scalar
Definition: joint-helical-unaligned.hpp:529
pinocchio::traits< MotionHelicalUnalignedTpl< _Scalar, _Options > >::HomogeneousMatrixType
Matrix4 HomogeneousMatrixType
Definition: joint-helical-unaligned.hpp:55
pinocchio::JointMotionSubspaceHelicalUnalignedTpl::h
Scalar & h()
Definition: joint-helical-unaligned.hpp:428
pinocchio::JointMotionSubspaceHelicalUnalignedTpl::m_pitch
Scalar m_pitch
Definition: joint-helical-unaligned.hpp:438
pinocchio::ConstraintForceSetOp
Return type of the Constraint::Transpose * ForceSet operation.
Definition: joint-motion-subspace-base.hpp:53
pinocchio::JointDataHelicalUnalignedTpl::c
Bias_t c
Definition: joint-helical-unaligned.hpp:581
pinocchio::traits< JointHelicalUnalignedTpl< _Scalar, _Options > >::Transformation_t
SE3Tpl< Scalar, Options > Transformation_t
Definition: joint-helical-unaligned.hpp:537
pinocchio::JointModelHelicalUnalignedTpl::PINOCCHIO_JOINT_TYPEDEF_TEMPLATE
PINOCCHIO_JOINT_TYPEDEF_TEMPLATE(JointDerived)
pinocchio::JointMotionSubspaceHelicalUnalignedTpl::m_axis
Vector3 m_axis
Definition: joint-helical-unaligned.hpp:437
pinocchio::JointDataHelicalUnalignedTpl::v
Motion_t v
Definition: joint-helical-unaligned.hpp:580
joint-motion-subspace.hpp
pinocchio::JointModelBase::idx_q
int idx_q() const
Definition: joint-model-base.hpp:160
pinocchio::impl::LhsMultiplicationOp< InertiaTpl< S1, O1 >, JointMotionSubspaceHelicalUnalignedTpl< S2, O2 > >::Constraint
JointMotionSubspaceHelicalUnalignedTpl< S2, O2 > Constraint
Definition: joint-helical-unaligned.hpp:467
pinocchio::JointDataHelicalUnalignedTpl::JointDerived
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef JointHelicalUnalignedTpl< _Scalar, _Options > JointDerived
Definition: joint-helical-unaligned.hpp:571
pinocchio::traits< JointHelicalUnalignedTpl< _Scalar, _Options > >::UD_t
Eigen::Matrix< Scalar, 6, NV, Options > UD_t
Definition: joint-helical-unaligned.hpp:544
pinocchio::MotionHelicalUnalignedTpl::m_w
Scalar m_w
Definition: joint-helical-unaligned.hpp:205
pinocchio::SE3GroupAction< JointMotionSubspaceHelicalUnalignedTpl< Scalar, Options > >::ReturnType
Eigen::Matrix< Scalar, 6, 1, Options > ReturnType
Definition: joint-helical-unaligned.hpp:231
pinocchio::JointDataHelicalUnalignedTpl::Dinv
D_t Dinv
Definition: joint-helical-unaligned.hpp:585
pinocchio::JointHelicalUnalignedTpl
Definition: joint-helical-unaligned.hpp:519
pinocchio::ForceDense
Definition: context/casadi.hpp:34
pinocchio::MotionHelicalUnalignedTpl::setTo
void setTo(MotionDense< MotionDerived > &m) const
Definition: joint-helical-unaligned.hpp:95
pinocchio::JointModelHelicalUnalignedTpl::JointModelHelicalUnalignedTpl
JointModelHelicalUnalignedTpl(const Scalar &x, const Scalar &y, const Scalar &z, const Scalar &h)
Definition: joint-helical-unaligned.hpp:656
pinocchio::JointModelHelicalUnalignedTpl::m_pitch
Scalar m_pitch
Definition: joint-helical-unaligned.hpp:766
pinocchio::traits< MotionHelicalUnalignedTpl< _Scalar, _Options > >::Scalar
_Scalar Scalar
Definition: joint-helical-unaligned.hpp:37
pinocchio::traits< MotionHelicalUnalignedTpl< _Scalar, _Options > >::AngularType
Vector3 AngularType
Definition: joint-helical-unaligned.hpp:48
pinocchio::MotionHelicalUnalignedTpl
Definition: joint-helical-unaligned.hpp:20
pinocchio::JointModelHelicalUnalignedTpl::JointModelHelicalUnalignedTpl
JointModelHelicalUnalignedTpl(const Eigen::MatrixBase< Vector3Like > &axis)
Definition: joint-helical-unaligned.hpp:648
pinocchio::operator^
EIGEN_STRONG_INLINE MotionDerived::MotionPlain operator^(const MotionDense< MotionDerived > &m1, const MotionHelicalUnalignedTpl< S2, O2 > &m2)
Definition: joint-helical-unaligned.hpp:220
pinocchio::JointModelHelicalUnalignedTpl::classname
static std::string classname()
Definition: joint-helical-unaligned.hpp:746
PINOCCHIO_CONSTRAINT_TYPEDEF_TPL
#define PINOCCHIO_CONSTRAINT_TYPEDEF_TPL(DERIVED)
Definition: joint-motion-subspace-base.hpp:36
pinocchio::MotionHelicalUnalignedTpl::plain
PlainReturnType plain() const
Definition: joint-helical-unaligned.hpp:83
Y
Y
pinocchio::traits< JointDataHelicalUnalignedTpl< _Scalar, _Options > >::Scalar
_Scalar Scalar
Definition: joint-helical-unaligned.hpp:556
pinocchio::JointMotionSubspaceHelicalUnalignedTpl::isEqual
bool isEqual(const JointMotionSubspaceHelicalUnalignedTpl &other) const
Definition: joint-helical-unaligned.hpp:413
pinocchio::MotionHelicalUnalignedTpl::m_axis
Vector3 m_axis
Definition: joint-helical-unaligned.hpp:204
pinocchio::MotionHelicalUnalignedTpl::axis
const Vector3 & axis() const
Definition: joint-helical-unaligned.hpp:192
pinocchio::traits
Common traits structure to fully define base classes for CRTP.
Definition: fwd.hpp:71
pinocchio::JointDataHelicalUnalignedTpl::U
U_t U
Definition: joint-helical-unaligned.hpp:584
pinocchio::traits< MotionHelicalUnalignedTpl< _Scalar, _Options > >::Vector6
Eigen::Matrix< Scalar, 6, 1, Options > Vector6
Definition: joint-helical-unaligned.hpp:43
pinocchio::JointMotionSubspaceHelicalUnalignedTpl::NV
@ NV
Definition: joint-helical-unaligned.hpp:288
pinocchio::JointModelHelicalUnalignedTpl::createData
JointDataDerived createData() const
Definition: joint-helical-unaligned.hpp:684
pinocchio::MotionHelicalUnalignedTpl::se3ActionInverse_impl
void se3ActionInverse_impl(const SE3Tpl< S2, O2 > &m, MotionDense< D2 > &v) const
Definition: joint-helical-unaligned.hpp:127
PINOCCHIO_EIGEN_REF_TYPE
#define PINOCCHIO_EIGEN_REF_TYPE(D)
Definition: eigen-macros.hpp:32
pinocchio::impl::LhsMultiplicationOp< Eigen::MatrixBase< M6Like >, JointMotionSubspaceHelicalUnalignedTpl< Scalar, Options > >::ReturnType
Eigen::Matrix< Scalar, 6, 1 > ReturnType
Definition: joint-helical-unaligned.hpp:508
pinocchio::JointModelHelicalUnalignedTpl::JointModelHelicalUnalignedTpl
JointModelHelicalUnalignedTpl(const Eigen::MatrixBase< Vector3Like > &axis, const Scalar &h)
Definition: joint-helical-unaligned.hpp:666
pinocchio::JointMotionSubspaceTransposeBase
Definition: joint-motion-subspace-base.hpp:185
pinocchio::MotionTpl< Scalar, Options >
dcrba.NV
NV
Definition: dcrba.py:536
pinocchio::MultiplicationOp< Eigen::MatrixBase< M6Like >, JointMotionSubspaceHelicalUnalignedTpl< Scalar, Options > >::ReturnType
const typedef Eigen::Matrix< Scalar, 6, 1 > ReturnType
Definition: joint-helical-unaligned.hpp:496
pinocchio::traits< JointMotionSubspaceHelicalUnalignedTpl< _Scalar, _Options > >::Scalar
_Scalar Scalar
Definition: joint-helical-unaligned.hpp:255
dpendulum.NQ
int NQ
Definition: dpendulum.py:9
pinocchio::MultiplicationOp< InertiaTpl< S1, O1 >, JointMotionSubspaceHelicalUnalignedTpl< S2, O2 > >::ReturnType
Eigen::Matrix< S2, 6, 1, O2 > ReturnType
Definition: joint-helical-unaligned.hpp:457
pinocchio::JointMotionSubspaceHelicalUnalignedTpl::axis
Vector3 & axis()
Definition: joint-helical-unaligned.hpp:419
pinocchio::JointMotionSubspaceHelicalUnalignedTpl::h
const Scalar & h() const
Definition: joint-helical-unaligned.hpp:432
meshcat-viewer.qs
qs
Definition: meshcat-viewer.py:128
pinocchio::MotionHelicalUnalignedTpl::angularRate
const Scalar & angularRate() const
Definition: joint-helical-unaligned.hpp:174
pinocchio::JointModelHelicalUnalignedTpl::calc
void calc(JointDataDerived &data, const Blank, const typename Eigen::MatrixBase< TangentVector > &vs) const
Definition: joint-helical-unaligned.hpp:709
pinocchio::traits< JointHelicalUnalignedTpl< _Scalar, _Options > >::Constraint_t
JointMotionSubspaceHelicalUnalignedTpl< Scalar, Options > Constraint_t
Definition: joint-helical-unaligned.hpp:536
pinocchio::MotionHelicalUnalignedTpl::axis
Vector3 & axis()
Definition: joint-helical-unaligned.hpp:188
pinocchio::JointModelHelicalUnalignedTpl::cast
JointModelHelicalUnalignedTpl< NewScalar, Options > cast() const
Definition: joint-helical-unaligned.hpp:757
pinocchio::JointMotionSubspaceHelicalUnalignedTpl::nv_impl
int nv_impl() const
Definition: joint-helical-unaligned.hpp:342
pinocchio::traits< MotionHelicalUnalignedTpl< _Scalar, _Options > >::ConstLinearType
const typedef Vector3 ConstLinearType
Definition: joint-helical-unaligned.hpp:51
pinocchio::JointMotionSubspaceHelicalUnalignedTpl::TransposeConst::TransposeConst
TransposeConst(const JointMotionSubspaceHelicalUnalignedTpl &ref)
Definition: joint-helical-unaligned.hpp:350
pinocchio::MotionHelicalUnalignedTpl::motionAction
void motionAction(const MotionDense< M1 > &v, MotionDense< M2 > &mout) const
Definition: joint-helical-unaligned.hpp:148
pinocchio::traits< JointModelHelicalUnalignedTpl< _Scalar, _Options > >::Scalar
_Scalar Scalar
Definition: joint-helical-unaligned.hpp:563
pinocchio::JointModelBase::isEqual
bool isEqual(const JointModelBase< OtherDerived > &) const
Definition: joint-model-base.hpp:242
pinocchio::MotionHelicalUnalignedTpl::linearRate
const Scalar & linearRate() const
Definition: joint-helical-unaligned.hpp:183
pinocchio::normalize
void normalize(const ModelTpl< Scalar, Options, JointCollectionTpl > &model, const Eigen::MatrixBase< ConfigVectorType > &qout)
Normalize a configuration vector.
Definition: joint-configuration.hpp:887
pinocchio::MotionDense::angular
ConstAngularType angular() const
Definition: motion-base.hpp:32
pinocchio::ScalarCast
Cast scalar type from type FROM to type TO.
Definition: fwd.hpp:105
pinocchio::traits< JointHelicalUnalignedTpl< _Scalar, _Options > >::JointModelDerived
JointModelHelicalUnalignedTpl< Scalar, Options > JointModelDerived
Definition: joint-helical-unaligned.hpp:535
pinocchio::MotionHelicalUnalignedTpl::MotionHelicalUnalignedTpl
MotionHelicalUnalignedTpl(const Eigen::MatrixBase< Vector3Like > &axis, const OtherScalar &w, const OtherScalar &v)
Definition: joint-helical-unaligned.hpp:75
pinocchio
Main pinocchio namespace.
Definition: timings.cpp:27
pinocchio::JointModelBase::id
JointIndex id() const
Definition: joint-model-base.hpp:168
pinocchio::traits< JointHelicalUnalignedTpl< _Scalar, _Options > >::Motion_t
MotionHelicalUnalignedTpl< Scalar, Options > Motion_t
Definition: joint-helical-unaligned.hpp:538


pinocchio
Author(s):
autogenerated on Mon Dec 16 2024 03:41:02