joint-revolute-unaligned.hpp
Go to the documentation of this file.
1 //
2 // Copyright (c) 2015-2020 CNRS INRIA
3 // Copyright (c) 2015-2016 Wandercraft, 86 rue de Paris 91400 Orsay, France.
4 //
5 
6 #ifndef __pinocchio_multibody_joint_revolute_unaligned_hpp__
7 #define __pinocchio_multibody_joint_revolute_unaligned_hpp__
8 
9 #include "pinocchio/fwd.hpp"
13 
16 
17 namespace pinocchio
18 {
19 
20  template<typename Scalar, int Options = context::Options>
23 
24  template<typename Scalar, int Options>
26  {
28  };
29 
30  template<typename Scalar, int Options, typename MotionDerived>
32  {
34  };
35 
36  template<typename _Scalar, int _Options>
37  struct traits<MotionRevoluteUnalignedTpl<_Scalar, _Options>>
38  {
39  typedef _Scalar Scalar;
40  enum
41  {
42  Options = _Options
43  };
44  typedef Eigen::Matrix<Scalar, 3, 1, Options> Vector3;
45  typedef Eigen::Matrix<Scalar, 6, 1, Options> Vector6;
46  typedef Eigen::Matrix<Scalar, 4, 4, Options> Matrix4;
47  typedef Eigen::Matrix<Scalar, 6, 6, Options> Matrix6;
48  typedef typename PINOCCHIO_EIGEN_REF_CONST_TYPE(Vector6) ToVectorConstReturnType;
49  typedef typename PINOCCHIO_EIGEN_REF_TYPE(Vector6) ToVectorReturnType;
52  typedef const Vector3 ConstAngularType;
53  typedef const Vector3 ConstLinearType;
58  enum
59  {
60  LINEAR = 0,
61  ANGULAR = 3
62  };
63  }; // traits MotionRevoluteUnalignedTpl
64 
65  template<typename _Scalar, int _Options>
66  struct MotionRevoluteUnalignedTpl : MotionBase<MotionRevoluteUnalignedTpl<_Scalar, _Options>>
67  {
68  EIGEN_MAKE_ALIGNED_OPERATOR_NEW
70 
72  {
73  }
74 
75  template<typename Vector3Like, typename OtherScalar>
76  MotionRevoluteUnalignedTpl(const Eigen::MatrixBase<Vector3Like> & axis, const OtherScalar & w)
77  : m_axis(axis)
78  , m_w(w)
79  {
80  }
81 
82  inline PlainReturnType plain() const
83  {
84  return PlainReturnType(PlainReturnType::Vector3::Zero(), m_axis * m_w);
85  }
86 
87  template<typename OtherScalar>
88  MotionRevoluteUnalignedTpl __mult__(const OtherScalar & alpha) const
89  {
91  }
92 
93  template<typename MotionDerived>
94  inline void addTo(MotionDense<MotionDerived> & v) const
95  {
96  v.angular() += m_axis * m_w;
97  }
98 
99  template<typename Derived>
100  void setTo(MotionDense<Derived> & other) const
101  {
102  other.linear().setZero();
103  other.angular().noalias() = m_axis * m_w;
104  }
105 
106  template<typename S2, int O2, typename D2>
108  {
109  // Angular
110  v.angular().noalias() = m_w * m.rotation() * m_axis;
111 
112  // Linear
113  v.linear().noalias() = m.translation().cross(v.angular());
114  }
115 
116  template<typename S2, int O2>
117  MotionPlain se3Action_impl(const SE3Tpl<S2, O2> & m) const
118  {
119  MotionPlain res;
120  se3Action_impl(m, res);
121  return res;
122  }
123 
124  template<typename S2, int O2, typename D2>
126  {
127  // Linear
128  // TODO: use v.angular() as temporary variable
129  Vector3 v3_tmp;
130  v3_tmp.noalias() = m_axis.cross(m.translation());
131  v3_tmp *= m_w;
132  v.linear().noalias() = m.rotation().transpose() * v3_tmp;
133 
134  // Angular
135  v.angular().noalias() = m.rotation().transpose() * m_axis;
136  v.angular() *= 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 
154  // Angular
155  mout.angular().noalias() = v.angular().cross(m_axis);
156  mout.angular() *= m_w;
157  }
158 
159  template<typename M1>
160  MotionPlain motionAction(const MotionDense<M1> & v) const
161  {
162  MotionPlain res;
163  motionAction(v, res);
164  return res;
165  }
166 
167  bool isEqual_impl(const MotionRevoluteUnalignedTpl & other) const
168  {
169  return internal::comparison_eq(m_axis, other.m_axis)
170  && internal::comparison_eq(m_w, other.m_w);
171  }
172 
173  const Scalar & angularRate() const
174  {
175  return m_w;
176  }
178  {
179  return m_w;
180  }
181 
182  const Vector3 & axis() const
183  {
184  return m_axis;
185  }
187  {
188  return m_axis;
189  }
190 
191  protected:
194 
195  }; // struct MotionRevoluteUnalignedTpl
196 
197  template<typename S1, int O1, typename MotionDerived>
198  inline typename MotionDerived::MotionPlain
200  {
201  typename MotionDerived::MotionPlain res(m2);
202  res += m1;
203  return res;
204  }
205 
206  template<typename MotionDerived, typename S2, int O2>
207  inline typename MotionDerived::MotionPlain
209  {
210  return m2.motionAction(m1);
211  }
212 
213  template<typename Scalar, int Options>
215 
216  template<typename _Scalar, int _Options>
218  {
219  typedef _Scalar Scalar;
220  enum
221  {
222  Options = _Options
223  };
224  enum
225  {
226  LINEAR = 0,
227  ANGULAR = 3
228  };
229 
231  typedef Eigen::Matrix<Scalar, 1, 1, Options> JointForce;
232  typedef Eigen::Matrix<Scalar, 6, 1, Options> DenseBase;
233  typedef Eigen::Matrix<Scalar, 1, 1, Options> ReducedSquaredMatrix;
234 
237 
238  typedef Eigen::Matrix<Scalar, 3, 1, Options> Vector3;
239 
240  typedef typename ReducedSquaredMatrix::IdentityReturnType StDiagonalMatrixSOperationReturnType;
241  }; // traits JointMotionSubspaceRevoluteUnalignedTpl
242 
243  template<typename Scalar, int Options>
245  {
246  typedef Eigen::Matrix<Scalar, 6, 1, Options> ReturnType;
247  };
248 
249  template<typename Scalar, int Options, typename MotionDerived>
252  MotionDerived>
253  {
254  typedef Eigen::Matrix<Scalar, 6, 1, Options> ReturnType;
255  };
256 
257  template<typename Scalar, int Options, typename ForceDerived>
259  {
260  typedef
262  typedef Eigen::Matrix<
265  1,
266  1,
267  Options>
269  };
270 
271  template<typename Scalar, int Options, typename ForceSet>
273  {
274  typedef
276  typedef typename MatrixMatrixProduct<
277  Eigen::Transpose<const Vector3>,
278  typename Eigen::MatrixBase<const ForceSet>::template NRowsBlockXpr<3>::Type>::type ReturnType;
279  };
280 
281  template<typename _Scalar, int _Options>
283  : JointMotionSubspaceBase<JointMotionSubspaceRevoluteUnalignedTpl<_Scalar, _Options>>
284  {
285  EIGEN_MAKE_ALIGNED_OPERATOR_NEW
287 
288  enum
289  {
290  NV = 1
291  };
292 
294 
296  {
297  }
298 
299  template<typename Vector3Like>
300  JointMotionSubspaceRevoluteUnalignedTpl(const Eigen::MatrixBase<Vector3Like> & axis)
301  : m_axis(axis)
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  return JointMotion(m_axis, v[0]);
310  }
311 
312  template<typename S1, int O1>
314  se3Action(const SE3Tpl<S1, O1> & m) const
315  {
316  typedef
318 
319  /* X*S = [ R pxR ; 0 R ] [ 0 ; a ] = [ px(Ra) ; Ra ] */
320  ReturnType res;
321  res.template segment<3>(ANGULAR).noalias() = m.rotation() * m_axis;
322  res.template segment<3>(LINEAR).noalias() =
323  m.translation().cross(res.template segment<3>(ANGULAR));
324  return res;
325  }
326 
327  template<typename S1, int O1>
330  {
331  typedef
333 
334  ReturnType res;
335  res.template segment<3>(ANGULAR).noalias() = m.rotation().transpose() * m_axis;
336  res.template segment<3>(LINEAR).noalias() =
337  -m.rotation().transpose() * m.translation().cross(m_axis);
338  return res;
339  }
340 
341  int nv_impl() const
342  {
343  return NV;
344  }
345 
347  : JointMotionSubspaceTransposeBase<JointMotionSubspaceRevoluteUnalignedTpl>
348  {
351  : ref(ref)
352  {
353  }
354 
355  template<typename ForceDerived>
358  {
359  typedef typename ConstraintForceOp<
360  JointMotionSubspaceRevoluteUnalignedTpl, ForceDerived>::ReturnType ReturnType;
361  ReturnType res;
362  res[0] = ref.axis().dot(f.angular());
363  return res;
364  }
365 
366  /* [CRBA] MatrixBase operator* (Constraint::Transpose S, ForceSet::Block) */
367  template<typename ForceSet>
369  operator*(const Eigen::MatrixBase<ForceSet> & F)
370  {
371  EIGEN_STATIC_ASSERT(
372  ForceSet::RowsAtCompileTime == 6, THIS_METHOD_IS_ONLY_FOR_MATRICES_OF_A_SPECIFIC_SIZE)
373  /* Return ax.T * F[3:end,:] */
374  return ref.axis().transpose() * F.template middleRows<3>(ANGULAR);
375  }
376  };
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).setZero();
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);
407 
408  return res;
409  }
410 
411  const Vector3 & axis() const
412  {
413  return m_axis;
414  }
416  {
417  return m_axis;
418  }
419 
421  {
422  return internal::comparison_eq(m_axis, other.m_axis);
423  }
424 
425  protected:
427 
428  }; // struct JointMotionSubspaceRevoluteUnalignedTpl
429 
430  template<typename S1, int O1, typename S2, int O2>
432  {
433  typedef Eigen::Matrix<S2, 6, 1, O2> ReturnType;
434  };
435 
436  /* [CRBA] ForceSet operator* (Inertia Y,Constraint S) */
437  namespace impl
438  {
439  template<typename S1, int O1, typename S2, int O2>
441  {
445  static inline ReturnType run(const Inertia & Y, const Constraint & cru)
446  {
447  ReturnType res;
448 
449  /* YS = [ m -mcx ; mcx I-mcxcx ] [ 0 ; w ] = [ mcxw ; Iw -mcxcxw ] */
450  const typename Inertia::Scalar & m = Y.mass();
451  const typename Inertia::Vector3 & c = Y.lever();
452  const typename Inertia::Symmetric3 & I = Y.inertia();
453 
454  res.template segment<3>(Inertia::LINEAR) = -m * c.cross(cru.axis());
455  res.template segment<3>(Inertia::ANGULAR).noalias() = I * cru.axis();
456  res.template segment<3>(Inertia::ANGULAR) +=
457  c.cross(res.template segment<3>(Inertia::LINEAR));
458 
459  return res;
460  }
461  };
462  } // namespace impl
463 
464  template<typename M6Like, typename Scalar, int Options>
466  Eigen::MatrixBase<M6Like>,
468  {
469  typedef typename SizeDepType<3>::ColsReturn<M6Like>::ConstType M6LikeCols;
471 
473  typedef typename Constraint::Vector3 Vector3;
475  };
476 
477  /* [ABA] operator* (Inertia Y,Constraint S) */
478  namespace impl
479  {
480  template<typename M6Like, typename Scalar, int Options>
482  Eigen::MatrixBase<M6Like>,
484  {
486  typedef
488 
489  static inline ReturnType run(const Eigen::MatrixBase<M6Like> & Y, const Constraint & cru)
490  {
491  EIGEN_STATIC_ASSERT_MATRIX_SPECIFIC_SIZE(M6Like, 6, 6);
492  return Y.derived().template middleCols<3>(Constraint::ANGULAR) * cru.axis();
493  }
494  };
495  } // namespace impl
496 
497  template<typename Scalar, int Options>
499 
500  template<typename _Scalar, int _Options>
501  struct traits<JointRevoluteUnalignedTpl<_Scalar, _Options>>
502  {
503  enum
504  {
505  NQ = 1,
506  NV = 1
507  };
508  typedef _Scalar Scalar;
509  enum
510  {
511  Options = _Options
512  };
519 
520  // [ABA]
521  typedef Eigen::Matrix<Scalar, 6, NV, Options> U_t;
522  typedef Eigen::Matrix<Scalar, NV, NV, Options> D_t;
523  typedef Eigen::Matrix<Scalar, 6, NV, Options> UD_t;
524 
525  typedef Eigen::Matrix<Scalar, NQ, 1, Options> ConfigVector_t;
526  typedef Eigen::Matrix<Scalar, NV, 1, Options> TangentVector_t;
527 
529  };
530 
531  template<typename _Scalar, int _Options>
532  struct traits<JointDataRevoluteUnalignedTpl<_Scalar, _Options>>
533  {
535  typedef _Scalar Scalar;
536  };
537 
538  template<typename _Scalar, int _Options>
539  struct traits<JointModelRevoluteUnalignedTpl<_Scalar, _Options>>
540  {
542  typedef _Scalar Scalar;
543  };
544 
545  template<typename _Scalar, int _Options>
547  : public JointDataBase<JointDataRevoluteUnalignedTpl<_Scalar, _Options>>
548  {
549  EIGEN_MAKE_ALIGNED_OPERATOR_NEW
553 
554  ConfigVector_t joint_q;
555  TangentVector_t joint_v;
556 
557  Transformation_t M;
558  Constraint_t S;
559  Motion_t v;
560  Bias_t c;
561 
562  // [ABA] specific data
563  U_t U;
564  D_t Dinv;
565  UD_t UDinv;
566  D_t StU;
567 
569  : joint_q(ConfigVector_t::Zero())
570  , joint_v(TangentVector_t::Zero())
571  , M(Transformation_t::Identity())
572  , S(Constraint_t::Vector3::Zero())
573  , v(Constraint_t::Vector3::Zero(), (Scalar)0)
574  , U(U_t::Zero())
575  , Dinv(D_t::Zero())
576  , UDinv(UD_t::Zero())
577  , StU(D_t::Zero())
578  {
579  }
580 
581  template<typename Vector3Like>
582  JointDataRevoluteUnalignedTpl(const Eigen::MatrixBase<Vector3Like> & axis)
583  : joint_q(ConfigVector_t::Zero())
584  , joint_v(TangentVector_t::Zero())
585  , M(Transformation_t::Identity())
586  , S(axis)
587  , v(axis, (Scalar)NAN)
588  , U(U_t::Zero())
589  , Dinv(D_t::Zero())
590  , UDinv(UD_t::Zero())
591  , StU(D_t::Zero())
592  {
593  }
594 
595  static std::string classname()
596  {
597  return std::string("JointDataRevoluteUnaligned");
598  }
599  std::string shortname() const
600  {
601  return classname();
602  }
603 
604  }; // struct JointDataRevoluteUnalignedTpl
605 
606  PINOCCHIO_JOINT_CAST_TYPE_SPECIALIZATION(JointModelRevoluteUnalignedTpl);
607  template<typename _Scalar, int _Options>
608  struct JointModelRevoluteUnalignedTpl
609  : public JointModelBase<JointModelRevoluteUnalignedTpl<_Scalar, _Options>>
610  {
611  EIGEN_MAKE_ALIGNED_OPERATOR_NEW
614  typedef Eigen::Matrix<Scalar, 3, 1, _Options> Vector3;
615 
617  using Base::id;
618  using Base::idx_q;
619  using Base::idx_v;
620  using Base::setIndexes;
621 
623  : axis(Vector3::UnitX())
624  {
625  }
626 
627  JointModelRevoluteUnalignedTpl(const Scalar & x, const Scalar & y, const Scalar & z)
628  : axis(x, y, z)
629  {
630  normalize(axis);
631  assert(isUnitary(axis) && "Rotation axis is not unitary");
632  }
633 
634  template<typename Vector3Like>
635  JointModelRevoluteUnalignedTpl(const Eigen::MatrixBase<Vector3Like> & axis)
636  : axis(axis)
637  {
638  EIGEN_STATIC_ASSERT_VECTOR_ONLY(Vector3Like);
639  assert(isUnitary(axis) && "Rotation axis is not unitary");
640  }
641 
642  JointDataDerived createData() const
643  {
644  return JointDataDerived(axis);
645  }
646 
647  using Base::isEqual;
648  bool isEqual(const JointModelRevoluteUnalignedTpl & other) const
649  {
650  return Base::isEqual(other) && internal::comparison_eq(axis, other.axis);
651  }
652 
653  const std::vector<bool> hasConfigurationLimit() const
654  {
655  return {true};
656  }
657 
658  const std::vector<bool> hasConfigurationLimitInTangent() const
659  {
660  return {true};
661  }
662 
663  template<typename ConfigVector>
664  void calc(JointDataDerived & data, const typename Eigen::MatrixBase<ConfigVector> & qs) const
665  {
666  data.joint_q[0] = qs[idx_q()];
667 
668  toRotationMatrix(axis, data.joint_q[0], data.M.rotation());
669  }
670 
671  template<typename TangentVector>
672  void
673  calc(JointDataDerived & data, const Blank, const typename Eigen::MatrixBase<TangentVector> & vs)
674  const
675  {
676  data.v.angularRate() = static_cast<Scalar>(vs[idx_v()]);
677  }
678 
679  template<typename ConfigVector, typename TangentVector>
680  void calc(
681  JointDataDerived & data,
682  const typename Eigen::MatrixBase<ConfigVector> & qs,
683  const typename Eigen::MatrixBase<TangentVector> & vs) const
684  {
685  calc(data, qs.derived());
686 
687  data.v.angularRate() = static_cast<Scalar>(vs[idx_v()]);
688  }
689 
690  template<typename VectorLike, typename Matrix6Like>
691  void calc_aba(
692  JointDataDerived & data,
693  const Eigen::MatrixBase<VectorLike> & armature,
694  const Eigen::MatrixBase<Matrix6Like> & I,
695  const bool update_I) const
696  {
697  data.U.noalias() = I.template middleCols<3>(Motion::ANGULAR) * axis;
698  data.Dinv[0] =
699  Scalar(1) / (axis.dot(data.U.template segment<3>(Motion::ANGULAR)) + armature[0]);
700  data.UDinv.noalias() = data.U * data.Dinv;
701 
702  if (update_I)
703  PINOCCHIO_EIGEN_CONST_CAST(Matrix6Like, I).noalias() -= data.UDinv * data.U.transpose();
704  }
705 
706  static std::string classname()
707  {
708  return std::string("JointModelRevoluteUnaligned");
709  }
710  std::string shortname() const
711  {
712  return classname();
713  }
714 
716  template<typename NewScalar>
718  {
720  ReturnType res(axis.template cast<NewScalar>());
721  res.setIndexes(id(), idx_q(), idx_v());
722  return res;
723  }
724 
725  // data
726 
731  }; // struct JointModelRevoluteUnalignedTpl
732 
733 } // namespace pinocchio
734 
735 #include <boost/type_traits.hpp>
736 
737 namespace boost
738 {
739  template<typename Scalar, int Options>
740  struct has_nothrow_constructor<::pinocchio::JointModelRevoluteUnalignedTpl<Scalar, Options>>
741  : public integral_constant<bool, true>
742  {
743  };
744 
745  template<typename Scalar, int Options>
746  struct has_nothrow_copy<::pinocchio::JointModelRevoluteUnalignedTpl<Scalar, Options>>
747  : public integral_constant<bool, true>
748  {
749  };
750 
751  template<typename Scalar, int Options>
752  struct has_nothrow_constructor<::pinocchio::JointDataRevoluteUnalignedTpl<Scalar, Options>>
753  : public integral_constant<bool, true>
754  {
755  };
756 
757  template<typename Scalar, int Options>
758  struct has_nothrow_copy<::pinocchio::JointDataRevoluteUnalignedTpl<Scalar, Options>>
759  : public integral_constant<bool, true>
760  {
761  };
762 } // namespace boost
763 
764 #endif // ifndef __pinocchio_multibody_joint_revolute_unaligned_hpp__
pinocchio::JointMotionSubspaceRevoluteUnalignedTpl::TransposeConst::operator*
ConstraintForceOp< JointMotionSubspaceRevoluteUnalignedTpl, ForceDerived >::ReturnType operator*(const ForceDense< ForceDerived > &f) const
Definition: joint-revolute-unaligned.hpp:357
pinocchio::SE3GroupAction< MotionRevoluteUnalignedTpl< Scalar, Options > >::ReturnType
MotionTpl< Scalar, Options > ReturnType
Definition: joint-revolute-unaligned.hpp:27
pinocchio::JointMotionSubspaceRevoluteUnalignedTpl::se3Action
SE3GroupAction< JointMotionSubspaceRevoluteUnalignedTpl >::ReturnType se3Action(const SE3Tpl< S1, O1 > &m) const
Definition: joint-revolute-unaligned.hpp:314
pinocchio::InertiaTpl
Definition: spatial/fwd.hpp:58
pinocchio::JointMotionSubspaceRevoluteUnalignedTpl
Definition: joint-revolute-unaligned.hpp:214
pinocchio::MatrixMatrixProduct
Definition: math/matrix.hpp:68
pinocchio::traits< JointRevoluteUnalignedTpl< _Scalar, _Options > >::D_t
Eigen::Matrix< Scalar, NV, NV, Options > D_t
Definition: joint-revolute-unaligned.hpp:522
pinocchio::JointMotionSubspaceRevoluteUnalignedTpl::JointMotionSubspaceRevoluteUnalignedTpl
JointMotionSubspaceRevoluteUnalignedTpl(const Eigen::MatrixBase< Vector3Like > &axis)
Definition: joint-revolute-unaligned.hpp:300
PINOCCHIO_JOINT_DATA_BASE_ACCESSOR_DEFAULT_RETURN_TYPE
#define PINOCCHIO_JOINT_DATA_BASE_ACCESSOR_DEFAULT_RETURN_TYPE
Definition: joint-data-base.hpp:137
UnitX
const Vec3f UnitX
pinocchio::traits< MotionRevoluteUnalignedTpl< _Scalar, _Options > >::Vector3
Eigen::Matrix< Scalar, 3, 1, Options > Vector3
Definition: joint-revolute-unaligned.hpp:44
pinocchio::JointModelRevoluteUnalignedTpl::JointDerived
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef JointRevoluteUnalignedTpl< _Scalar, _Options > JointDerived
Definition: joint-revolute-unaligned.hpp:612
pinocchio::JointModelRevoluteUnalignedTpl::PINOCCHIO_JOINT_TYPEDEF_TEMPLATE
PINOCCHIO_JOINT_TYPEDEF_TEMPLATE(JointDerived)
pinocchio::JointMotionSubspaceRevoluteUnalignedTpl::m_axis
Vector3 m_axis
Definition: joint-revolute-unaligned.hpp:426
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:22
pinocchio::JointModelRevoluteUnalignedTpl::hasConfigurationLimitInTangent
const std::vector< bool > hasConfigurationLimitInTangent() const
Definition: joint-revolute-unaligned.hpp:658
pinocchio::MotionRevoluteUnalignedTpl::plain
PlainReturnType plain() const
Definition: joint-revolute-unaligned.hpp:82
pinocchio::JointModelRevoluteUnalignedTpl::JointModelRevoluteUnalignedTpl
JointModelRevoluteUnalignedTpl()
Definition: joint-revolute-unaligned.hpp:622
PINOCCHIO_EIGEN_DOT_PRODUCT_RETURN_TYPE
#define PINOCCHIO_EIGEN_DOT_PRODUCT_RETURN_TYPE(D1, D2)
Macro giving access to the return type of the dot product operation.
Definition: eigen-macros.hpp:44
pinocchio::traits< JointRevoluteUnalignedTpl< _Scalar, _Options > >::Transformation_t
SE3Tpl< Scalar, Options > Transformation_t
Definition: joint-revolute-unaligned.hpp:516
pinocchio::traits< JointMotionSubspaceRevoluteUnalignedTpl< _Scalar, _Options > >::Scalar
_Scalar Scalar
Definition: joint-revolute-unaligned.hpp:219
pinocchio::JointDataRevoluteUnalignedTpl
Definition: multibody/joint/fwd.hpp:42
pinocchio::traits< MotionRevoluteUnalignedTpl< _Scalar, _Options > >::Scalar
_Scalar Scalar
Definition: joint-revolute-unaligned.hpp:39
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::JointDataRevoluteUnalignedTpl::UDinv
UD_t UDinv
Definition: joint-revolute-unaligned.hpp:565
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::JointModelRevoluteUnalignedTpl::calc
void calc(JointDataDerived &data, const Blank, const typename Eigen::MatrixBase< TangentVector > &vs) const
Definition: joint-revolute-unaligned.hpp:673
pinocchio::traits< JointRevoluteUnalignedTpl< _Scalar, _Options > >::Motion_t
MotionRevoluteUnalignedTpl< Scalar, Options > Motion_t
Definition: joint-revolute-unaligned.hpp:517
pinocchio::MotionRevoluteUnalignedTpl::angularRate
Scalar & angularRate()
Definition: joint-revolute-unaligned.hpp:177
pinocchio::traits< JointMotionSubspaceRevoluteUnalignedTpl< _Scalar, _Options > >::ConstMatrixReturnType
const typedef DenseBase ConstMatrixReturnType
Definition: joint-revolute-unaligned.hpp:236
pinocchio::MotionRevoluteUnaligned
MotionRevoluteUnalignedTpl< context::Scalar > MotionRevoluteUnaligned
Definition: joint-revolute-unaligned.hpp:21
pinocchio::JointModelBase
Definition: joint-model-base.hpp:75
pinocchio::MultiplicationOp< Eigen::MatrixBase< M6Like >, JointMotionSubspaceRevoluteUnalignedTpl< Scalar, Options > >::M6LikeColsNonConst
Eigen::internal::remove_const< M6LikeCols >::type M6LikeColsNonConst
Definition: joint-revolute-unaligned.hpp:470
pinocchio::JointMotionSubspaceRevoluteUnalignedTpl::nv_impl
int nv_impl() const
Definition: joint-revolute-unaligned.hpp:341
pinocchio::MultiplicationOp< Eigen::MatrixBase< M6Like >, JointMotionSubspaceRevoluteUnalignedTpl< Scalar, Options > >::Vector3
Constraint::Vector3 Vector3
Definition: joint-revolute-unaligned.hpp:473
pinocchio::ConstraintForceOp
Return type of the Constraint::Transpose * Force operation.
Definition: constraint-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:1116
pinocchio::impl::LhsMultiplicationOp< InertiaTpl< S1, O1 >, JointMotionSubspaceRevoluteUnalignedTpl< S2, O2 > >::Inertia
InertiaTpl< S1, O1 > Inertia
Definition: joint-revolute-unaligned.hpp:442
pinocchio::impl::LhsMultiplicationOp< Eigen::MatrixBase< M6Like >, JointMotionSubspaceRevoluteUnalignedTpl< Scalar, Options > >::ReturnType
MultiplicationOp< Eigen::MatrixBase< M6Like >, Constraint >::ReturnType ReturnType
Definition: joint-revolute-unaligned.hpp:487
y
y
pinocchio::JointDataRevoluteUnalignedTpl::shortname
std::string shortname() const
Definition: joint-revolute-unaligned.hpp:599
pinocchio::JointDataRevoluteUnalignedTpl::S
Constraint_t S
Definition: joint-revolute-unaligned.hpp:558
pinocchio::traits< JointRevoluteUnalignedTpl< _Scalar, _Options > >::JointDataDerived
JointDataRevoluteUnalignedTpl< Scalar, Options > JointDataDerived
Definition: joint-revolute-unaligned.hpp:513
pinocchio::JointMotionSubspaceBase
Definition: constraint-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::MotionRevoluteUnalignedTpl::addTo
void addTo(MotionDense< MotionDerived > &v) const
Definition: joint-revolute-unaligned.hpp:94
pinocchio::SE3Tpl
Definition: context/casadi.hpp:29
pinocchio::traits< JointMotionSubspaceRevoluteUnalignedTpl< _Scalar, _Options > >::Vector3
Eigen::Matrix< Scalar, 3, 1, Options > Vector3
Definition: joint-revolute-unaligned.hpp:238
pinocchio::ConstraintForceOp< JointMotionSubspaceRevoluteUnalignedTpl< Scalar, Options >, ForceDerived >::ReturnType
Eigen::Matrix< typename PINOCCHIO_EIGEN_DOT_PRODUCT_RETURN_TYPE(Vector3, typename ForceDense< ForceDerived >::ConstAngularType), 1, 1, Options > ReturnType
Definition: joint-revolute-unaligned.hpp:268
fwd.hpp
pinocchio::SE3GroupAction::ReturnType
D ReturnType
Definition: spatial/se3.hpp:41
pinocchio::JointDataBase
Definition: joint-data-base.hpp:161
pinocchio::traits< MotionRevoluteUnalignedTpl< _Scalar, _Options > >::ConstLinearType
const typedef Vector3 ConstLinearType
Definition: joint-revolute-unaligned.hpp:53
pinocchio::MotionRevoluteUnalignedTpl::MotionRevoluteUnalignedTpl
MotionRevoluteUnalignedTpl(const Eigen::MatrixBase< Vector3Like > &axis, const OtherScalar &w)
Definition: joint-revolute-unaligned.hpp:76
pinocchio::JointDataRevoluteUnalignedTpl::StU
D_t StU
Definition: joint-revolute-unaligned.hpp:566
pinocchio::PINOCCHIO_EIGEN_REF_CONST_TYPE
PINOCCHIO_EIGEN_REF_CONST_TYPE(Matrix6Like) operator*(const Eigen
Definition: joint-free-flyer.hpp:144
pinocchio::traits< MotionRevoluteUnalignedTpl< _Scalar, _Options > >::MotionPlain
MotionTpl< Scalar, Options > MotionPlain
Definition: joint-revolute-unaligned.hpp:56
setup.data
data
Definition: cmake/cython/setup.in.py:48
inertia.hpp
pinocchio::MultiplicationOp< Eigen::MatrixBase< M6Like >, JointMotionSubspaceRevoluteUnalignedTpl< Scalar, Options > >::M6LikeCols
SizeDepType< 3 >::ColsReturn< M6Like >::ConstType M6LikeCols
Definition: joint-revolute-unaligned.hpp:469
pinocchio::MotionAlgebraAction< JointMotionSubspaceRevoluteUnalignedTpl< Scalar, Options >, MotionDerived >::ReturnType
Eigen::Matrix< Scalar, 6, 1, Options > ReturnType
Definition: joint-revolute-unaligned.hpp:254
pinocchio::MotionDense
Definition: context/casadi.hpp:36
pinocchio::python::Scalar
context::Scalar Scalar
Definition: admm-solver.cpp:29
pinocchio::MotionRevoluteUnalignedTpl::m_w
Scalar m_w
Definition: joint-revolute-unaligned.hpp:193
pinocchio::traits< JointRevoluteUnalignedTpl< _Scalar, _Options > >::Constraint_t
JointMotionSubspaceRevoluteUnalignedTpl< Scalar, Options > Constraint_t
Definition: joint-revolute-unaligned.hpp:515
pinocchio::JointMotionSubspaceRevoluteUnalignedTpl::Vector3
traits< JointMotionSubspaceRevoluteUnalignedTpl >::Vector3 Vector3
Definition: joint-revolute-unaligned.hpp:293
pinocchio::operator+
MotionDerived::MotionPlain operator+(const MotionHelicalUnalignedTpl< S1, O1 > &m1, const MotionDense< MotionDerived > &m2)
Definition: joint-helical-unaligned.hpp:213
boost
pinocchio::JointDataRevoluteUnalignedTpl::classname
static std::string classname()
Definition: joint-revolute-unaligned.hpp:595
pinocchio::traits< MotionRevoluteUnalignedTpl< _Scalar, _Options > >::LinearType
Vector3 LinearType
Definition: joint-revolute-unaligned.hpp:51
pinocchio::MotionRevoluteUnalignedTpl::se3ActionInverse_impl
void se3ActionInverse_impl(const SE3Tpl< S2, O2 > &m, MotionDense< D2 > &v) const
Definition: joint-revolute-unaligned.hpp:125
pinocchio::ConstraintForceOp::ReturnType
ReturnTypeNotDefined ReturnType
Definition: constraint-base.hpp:48
pinocchio::JointModelBase::setIndexes
void setIndexes(JointIndex id, int q, int v)
Definition: joint-model-base.hpp:186
pinocchio::MotionRevoluteUnalignedTpl::motionAction
void motionAction(const MotionDense< M1 > &v, MotionDense< M2 > &mout) const
Definition: joint-revolute-unaligned.hpp:148
pinocchio::res
ReturnType res
Definition: spatial/classic-acceleration.hpp:57
pinocchio::MotionAlgebraAction
Return type of the ation of a Motion onto an object of type D.
Definition: spatial/motion.hpp:45
pinocchio::MotionRevoluteUnalignedTpl::se3Action_impl
MotionPlain se3Action_impl(const SE3Tpl< S2, O2 > &m) const
Definition: joint-revolute-unaligned.hpp:117
pinocchio::impl::LhsMultiplicationOp
Definition: binary-op.hpp:20
pinocchio::JointMotionSubspaceRevoluteUnalignedTpl::transpose
TransposeConst transpose() const
Definition: joint-revolute-unaligned.hpp:378
autodiff-rnea.f
f
Definition: autodiff-rnea.py:24
pinocchio::Blank
Blank type.
Definition: fwd.hpp:76
pinocchio::JointDataRevoluteUnalignedTpl::Dinv
D_t Dinv
Definition: joint-revolute-unaligned.hpp:564
pinocchio::MotionDense::linear
ConstLinearType linear() const
Definition: motion-base.hpp:36
pinocchio::JointModelRevoluteUnalignedTpl::isEqual
bool isEqual(const JointModelRevoluteUnalignedTpl &other) const
Definition: joint-revolute-unaligned.hpp:648
pinocchio::traits< MotionRevoluteUnalignedTpl< _Scalar, _Options > >::HomogeneousMatrixType
Matrix4 HomogeneousMatrixType
Definition: joint-revolute-unaligned.hpp:55
pinocchio::SE3GroupAction
Definition: spatial/se3.hpp:39
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
simulation-pendulum.type
type
Definition: simulation-pendulum.py:18
pinocchio::JointModelRevoluteUnalignedTpl::createData
JointDataDerived createData() const
Definition: joint-revolute-unaligned.hpp:642
pinocchio::MotionAlgebraAction::ReturnType
D ReturnType
Definition: spatial/motion.hpp:47
pinocchio::JointDataRevoluteUnalignedTpl::v
Motion_t v
Definition: joint-revolute-unaligned.hpp:559
pinocchio::JointMotionSubspaceRevoluteUnalignedTpl::axis
Vector3 & axis()
Definition: joint-revolute-unaligned.hpp:415
pinocchio::traits< JointRevoluteUnalignedTpl< _Scalar, _Options > >::JointModelDerived
JointModelRevoluteUnalignedTpl< Scalar, Options > JointModelDerived
Definition: joint-revolute-unaligned.hpp:514
pinocchio::python::context::Symmetric3
Symmetric3Tpl< Scalar, Options > Symmetric3
Definition: bindings/python/context/generic.hpp:57
pinocchio::traits< JointDataRevoluteUnalignedTpl< _Scalar, _Options > >::JointDerived
JointRevoluteUnalignedTpl< _Scalar, _Options > JointDerived
Definition: joint-revolute-unaligned.hpp:534
pinocchio::traits< JointRevoluteUnalignedTpl< _Scalar, _Options > >::Bias_t
MotionZeroTpl< Scalar, Options > Bias_t
Definition: joint-revolute-unaligned.hpp:518
pinocchio::JointRevoluteUnalignedTpl
Definition: joint-revolute-unaligned.hpp:498
pinocchio::traits< JointMotionSubspaceRevoluteUnalignedTpl< _Scalar, _Options > >::JointForce
Eigen::Matrix< Scalar, 1, 1, Options > JointForce
Definition: joint-revolute-unaligned.hpp:231
pinocchio::ConstraintForceSetOp::ReturnType
ReturnTypeNotDefined ReturnType
Definition: constraint-base.hpp:55
simulation-contact-dynamics.S
S
Definition: simulation-contact-dynamics.py:85
matrix.hpp
reachable-workspace-with-collisions.alpha
float alpha
Definition: reachable-workspace-with-collisions.py:159
pinocchio::JointDataRevoluteUnalignedTpl::PINOCCHIO_JOINT_DATA_TYPEDEF_TEMPLATE
PINOCCHIO_JOINT_DATA_TYPEDEF_TEMPLATE(JointDerived)
pinocchio::ConstraintForceSetOp< JointMotionSubspaceRevoluteUnalignedTpl< Scalar, Options >, ForceSet >::Vector3
traits< JointMotionSubspaceRevoluteUnalignedTpl< Scalar, Options > >::Vector3 Vector3
Definition: joint-revolute-unaligned.hpp:275
pinocchio::JointDataRevoluteUnalignedTpl::U
U_t U
Definition: joint-revolute-unaligned.hpp:563
pinocchio::MotionRevoluteUnalignedTpl::m_axis
Vector3 m_axis
Definition: joint-revolute-unaligned.hpp:192
pinocchio::JointModelRevoluteUnalignedTpl::calc_aba
void calc_aba(JointDataDerived &data, const Eigen::MatrixBase< VectorLike > &armature, const Eigen::MatrixBase< Matrix6Like > &I, const bool update_I) const
Definition: joint-revolute-unaligned.hpp:691
pinocchio::impl::LhsMultiplicationOp< InertiaTpl< S1, O1 >, JointMotionSubspaceRevoluteUnalignedTpl< S2, O2 > >::run
static ReturnType run(const Inertia &Y, const Constraint &cru)
Definition: joint-revolute-unaligned.hpp:445
pinocchio::PINOCCHIO_JOINT_CAST_TYPE_SPECIALIZATION
PINOCCHIO_JOINT_CAST_TYPE_SPECIALIZATION(JointModelFreeFlyerTpl)
pinocchio::impl::LhsMultiplicationOp< InertiaTpl< S1, O1 >, JointMotionSubspaceRevoluteUnalignedTpl< S2, O2 > >::ReturnType
MultiplicationOp< Inertia, Constraint >::ReturnType ReturnType
Definition: joint-revolute-unaligned.hpp:444
pinocchio::traits< JointRevoluteUnalignedTpl< _Scalar, _Options > >::UD_t
Eigen::Matrix< Scalar, 6, NV, Options > UD_t
Definition: joint-revolute-unaligned.hpp:523
pinocchio::MotionRevoluteUnalignedTpl
Definition: joint-revolute-unaligned.hpp:21
pinocchio::traits< JointModelRevoluteUnalignedTpl< _Scalar, _Options > >::JointDerived
JointRevoluteUnalignedTpl< _Scalar, _Options > JointDerived
Definition: joint-revolute-unaligned.hpp:541
pinocchio::MultiplicationOp< Eigen::MatrixBase< M6Like >, JointMotionSubspaceRevoluteUnalignedTpl< Scalar, Options > >::Constraint
JointMotionSubspaceRevoluteUnalignedTpl< Scalar, Options > Constraint
Definition: joint-revolute-unaligned.hpp:472
pinocchio::MotionAlgebraAction< MotionRevoluteUnalignedTpl< Scalar, Options >, MotionDerived >::ReturnType
MotionTpl< Scalar, Options > ReturnType
Definition: joint-revolute-unaligned.hpp:33
pinocchio::MotionRevoluteUnalignedTpl::se3ActionInverse_impl
MotionPlain se3ActionInverse_impl(const SE3Tpl< S2, O2 > &m) const
Definition: joint-revolute-unaligned.hpp:140
pinocchio::impl::LhsMultiplicationOp< InertiaTpl< S1, O1 >, JointMotionSubspaceRevoluteUnalignedTpl< S2, O2 > >::Constraint
JointMotionSubspaceRevoluteUnalignedTpl< S2, O2 > Constraint
Definition: joint-revolute-unaligned.hpp:443
joint-base.hpp
pinocchio::JointDataRevoluteUnalignedTpl::joint_q
PINOCCHIO_JOINT_DATA_BASE_DEFAULT_ACCESSOR ConfigVector_t joint_q
Definition: joint-revolute-unaligned.hpp:554
x
x
pinocchio::ConstraintForceOp< JointMotionSubspaceRevoluteUnalignedTpl< Scalar, Options >, ForceDerived >::Vector3
traits< JointMotionSubspaceRevoluteUnalignedTpl< Scalar, Options > >::Vector3 Vector3
Definition: joint-revolute-unaligned.hpp:261
pinocchio::JointMotionSubspaceRevoluteUnalignedTpl::motionAction
MotionAlgebraAction< JointMotionSubspaceRevoluteUnalignedTpl, MotionDerived >::ReturnType motionAction(const MotionDense< MotionDerived > &m) const
Definition: joint-revolute-unaligned.hpp:399
pinocchio::MotionRevoluteUnalignedTpl::se3Action_impl
void se3Action_impl(const SE3Tpl< S2, O2 > &m, MotionDense< D2 > &v) const
Definition: joint-revolute-unaligned.hpp:107
pinocchio::traits< MotionRevoluteUnalignedTpl< _Scalar, _Options > >::Matrix6
Eigen::Matrix< Scalar, 6, 6, Options > Matrix6
Definition: joint-revolute-unaligned.hpp:47
pinocchio::traits< JointMotionSubspaceRevoluteUnalignedTpl< _Scalar, _Options > >::JointMotion
MotionRevoluteUnalignedTpl< Scalar, Options > JointMotion
Definition: joint-revolute-unaligned.hpp:230
pinocchio::JointMotionSubspaceRevoluteUnalignedTpl::JointMotionSubspaceRevoluteUnalignedTpl
JointMotionSubspaceRevoluteUnalignedTpl()
Definition: joint-revolute-unaligned.hpp:295
pinocchio::traits< MotionRevoluteUnalignedTpl< _Scalar, _Options > >::ConstAngularType
const typedef Vector3 ConstAngularType
Definition: joint-revolute-unaligned.hpp:52
pinocchio::context::Vector3
Eigen::Matrix< Scalar, 3, 1, Options > Vector3
Definition: context/generic.hpp:53
pinocchio::traits< JointRevoluteUnalignedTpl< _Scalar, _Options > >::TangentVector_t
Eigen::Matrix< Scalar, NV, 1, Options > TangentVector_t
Definition: joint-revolute-unaligned.hpp:526
pinocchio::traits< MotionRevoluteUnalignedTpl< _Scalar, _Options > >::Matrix4
Eigen::Matrix< Scalar, 4, 4, Options > Matrix4
Definition: joint-revolute-unaligned.hpp:46
axis
axis
pinocchio::JointMotionSubspaceRevoluteUnalignedTpl::TransposeConst
Definition: joint-revolute-unaligned.hpp:346
ur5x4.w
w
Definition: ur5x4.py:45
pinocchio::traits< JointRevoluteUnalignedTpl< _Scalar, _Options > >::ConfigVector_t
Eigen::Matrix< Scalar, NQ, 1, Options > ConfigVector_t
Definition: joint-revolute-unaligned.hpp:525
pinocchio::traits< JointMotionSubspaceRevoluteUnalignedTpl< _Scalar, _Options > >::StDiagonalMatrixSOperationReturnType
ReducedSquaredMatrix::IdentityReturnType StDiagonalMatrixSOperationReturnType
Definition: joint-revolute-unaligned.hpp:240
pinocchio::JointMotionSubspaceRevoluteUnalignedTpl::TransposeConst::ref
const JointMotionSubspaceRevoluteUnalignedTpl & ref
Definition: joint-revolute-unaligned.hpp:349
pinocchio::JointModelRevoluteUnalignedTpl::calc
void calc(JointDataDerived &data, const typename Eigen::MatrixBase< ConfigVector > &qs, const typename Eigen::MatrixBase< TangentVector > &vs) const
Definition: joint-revolute-unaligned.hpp:680
pinocchio::traits< JointDataRevoluteUnalignedTpl< _Scalar, _Options > >::Scalar
_Scalar Scalar
Definition: joint-revolute-unaligned.hpp:535
pinocchio::JointModelRevoluteUnalignedTpl::classname
static std::string classname()
Definition: joint-revolute-unaligned.hpp:706
pinocchio::MultiplicationOp< InertiaTpl< S1, O1 >, JointMotionSubspaceRevoluteUnalignedTpl< S2, O2 > >::ReturnType
Eigen::Matrix< S2, 6, 1, O2 > ReturnType
Definition: joint-revolute-unaligned.hpp:433
pinocchio::traits< MotionRevoluteUnalignedTpl< _Scalar, _Options > >::ActionMatrixType
Matrix6 ActionMatrixType
Definition: joint-revolute-unaligned.hpp:54
pinocchio::JointMotionSubspaceRevoluteUnalignedTpl::NV
@ NV
Definition: joint-revolute-unaligned.hpp:290
pinocchio::JointMotionSubspaceRevoluteUnalignedTpl::TransposeConst::TransposeConst
TransposeConst(const JointMotionSubspaceRevoluteUnalignedTpl &ref)
Definition: joint-revolute-unaligned.hpp:350
pinocchio::MotionRevoluteUnalignedTpl::axis
Vector3 & axis()
Definition: joint-revolute-unaligned.hpp:186
pinocchio::MotionRevoluteUnalignedTpl::__mult__
MotionRevoluteUnalignedTpl __mult__(const OtherScalar &alpha) const
Definition: joint-revolute-unaligned.hpp:88
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::JointModelRevoluteUnalignedTpl::shortname
std::string shortname() const
Definition: joint-revolute-unaligned.hpp:710
pinocchio::JointModelRevoluteUnalignedTpl::JointModelRevoluteUnalignedTpl
JointModelRevoluteUnalignedTpl(const Eigen::MatrixBase< Vector3Like > &axis)
Definition: joint-revolute-unaligned.hpp:635
pinocchio::MotionRevoluteUnalignedTpl::motionAction
MotionPlain motionAction(const MotionDense< M1 > &v) const
Definition: joint-revolute-unaligned.hpp:160
pinocchio::JointMotionSubspaceRevoluteUnalignedTpl::axis
const Vector3 & axis() const
Definition: joint-revolute-unaligned.hpp:411
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:1118
pinocchio::JointMotionSubspaceRevoluteUnalignedTpl::__mult__
JointMotion __mult__(const Eigen::MatrixBase< Vector1Like > &v) const
Definition: joint-revolute-unaligned.hpp:306
pinocchio::internal::comparison_eq
bool comparison_eq(const LhsType &lhs_value, const RhsType &rhs_value)
Definition: utils/static-if.hpp:120
pinocchio::JointModelRevoluteUnalignedTpl::JointModelRevoluteUnalignedTpl
JointModelRevoluteUnalignedTpl(const Scalar &x, const Scalar &y, const Scalar &z)
Definition: joint-revolute-unaligned.hpp:627
pinocchio::ConstraintForceSetOp
Return type of the Constraint::Transpose * ForceSet operation.
Definition: constraint-base.hpp:53
pinocchio::JointDataRevoluteUnalignedTpl::JointDerived
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef JointRevoluteUnalignedTpl< _Scalar, _Options > JointDerived
Definition: joint-revolute-unaligned.hpp:550
pinocchio::traits< JointModelRevoluteUnalignedTpl< _Scalar, _Options > >::Scalar
_Scalar Scalar
Definition: joint-revolute-unaligned.hpp:542
pinocchio::JointModelRevoluteUnalignedTpl
Definition: multibody/joint/fwd.hpp:38
pinocchio::traits< MotionRevoluteUnalignedTpl< _Scalar, _Options > >::Vector6
Eigen::Matrix< Scalar, 6, 1, Options > Vector6
Definition: joint-revolute-unaligned.hpp:45
pinocchio::JointDataRevoluteUnalignedTpl::JointDataRevoluteUnalignedTpl
JointDataRevoluteUnalignedTpl(const Eigen::MatrixBase< Vector3Like > &axis)
Definition: joint-revolute-unaligned.hpp:582
pinocchio::traits< JointMotionSubspaceRevoluteUnalignedTpl< _Scalar, _Options > >::MatrixReturnType
DenseBase MatrixReturnType
Definition: joint-revolute-unaligned.hpp:235
pinocchio::JointModelRevoluteUnalignedTpl::calc
void calc(JointDataDerived &data, const typename Eigen::MatrixBase< ConfigVector > &qs) const
Definition: joint-revolute-unaligned.hpp:664
joint-motion-subspace.hpp
pinocchio::traits< MotionRevoluteUnalignedTpl< _Scalar, _Options > >::PlainReturnType
MotionPlain PlainReturnType
Definition: joint-revolute-unaligned.hpp:57
pinocchio::MotionRevoluteUnalignedTpl::isEqual_impl
bool isEqual_impl(const MotionRevoluteUnalignedTpl &other) const
Definition: joint-revolute-unaligned.hpp:167
pinocchio::JointModelBase::idx_q
int idx_q() const
Definition: joint-model-base.hpp:160
pinocchio::SizeDepType::ColsReturn
Definition: matrix-block.hpp:43
pinocchio::ConstraintForceSetOp< JointMotionSubspaceRevoluteUnalignedTpl< Scalar, Options >, ForceSet >::ReturnType
MatrixMatrixProduct< Eigen::Transpose< const Vector3 >, typename Eigen::MatrixBase< const ForceSet >::template NRowsBlockXpr< 3 >::Type >::type ReturnType
Definition: joint-revolute-unaligned.hpp:278
pinocchio::ForceDense
Definition: context/casadi.hpp:34
pinocchio::impl::LhsMultiplicationOp< Eigen::MatrixBase< M6Like >, JointMotionSubspaceRevoluteUnalignedTpl< Scalar, Options > >::run
static ReturnType run(const Eigen::MatrixBase< M6Like > &Y, const Constraint &cru)
Definition: joint-revolute-unaligned.hpp:489
pinocchio::JointMotionSubspaceRevoluteUnalignedTpl::matrix_impl
DenseBase matrix_impl() const
Definition: joint-revolute-unaligned.hpp:389
pinocchio::JointModelRevoluteUnalignedTpl::Vector3
Eigen::Matrix< Scalar, 3, 1, _Options > Vector3
Definition: joint-revolute-unaligned.hpp:614
pinocchio::MotionRevoluteUnalignedTpl::MotionRevoluteUnalignedTpl
MotionRevoluteUnalignedTpl()
Definition: joint-revolute-unaligned.hpp:71
pinocchio::traits< JointMotionSubspaceRevoluteUnalignedTpl< _Scalar, _Options > >::DenseBase
Eigen::Matrix< Scalar, 6, 1, Options > DenseBase
Definition: joint-revolute-unaligned.hpp:232
pinocchio::JointDataRevoluteUnalignedTpl::M
Transformation_t M
Definition: joint-revolute-unaligned.hpp:557
PINOCCHIO_CONSTRAINT_TYPEDEF_TPL
#define PINOCCHIO_CONSTRAINT_TYPEDEF_TPL(DERIVED)
Definition: constraint-base.hpp:36
pinocchio::JointDataRevoluteUnalignedTpl::c
Bias_t c
Definition: joint-revolute-unaligned.hpp:560
pinocchio::operator^
EIGEN_STRONG_INLINE MotionDerived::MotionPlain operator^(const MotionDense< MotionDerived > &m1, const MotionHelicalUnalignedTpl< S2, O2 > &m2)
Definition: joint-helical-unaligned.hpp:222
pinocchio::traits< JointRevoluteUnalignedTpl< _Scalar, _Options > >::Scalar
_Scalar Scalar
Definition: joint-revolute-unaligned.hpp:508
pinocchio::JointDataRevoluteUnalignedTpl::joint_v
TangentVector_t joint_v
Definition: joint-revolute-unaligned.hpp:555
Y
Y
pinocchio::JointMotionSubspaceRevoluteUnalignedTpl::isEqual
bool isEqual(const JointMotionSubspaceRevoluteUnalignedTpl &other) const
Definition: joint-revolute-unaligned.hpp:420
pinocchio::traits
Common traits structure to fully define base classes for CRTP.
Definition: fwd.hpp:71
pinocchio::MotionRevoluteUnalignedTpl::angularRate
const Scalar & angularRate() const
Definition: joint-revolute-unaligned.hpp:173
pinocchio::JointMotionSubspaceRevoluteUnalignedTpl::TransposeConst::operator*
ConstraintForceSetOp< JointMotionSubspaceRevoluteUnalignedTpl, ForceSet >::ReturnType operator*(const Eigen::MatrixBase< ForceSet > &F)
Definition: joint-revolute-unaligned.hpp:369
pinocchio::JointModelRevoluteUnalignedTpl::axis
Vector3 axis
3d main axis of the joint.
Definition: joint-revolute-unaligned.hpp:730
pinocchio::MotionRevoluteUnalignedTpl::axis
const Vector3 & axis() const
Definition: joint-revolute-unaligned.hpp:182
PINOCCHIO_EIGEN_REF_TYPE
#define PINOCCHIO_EIGEN_REF_TYPE(D)
Definition: eigen-macros.hpp:32
pinocchio::JointModelRevoluteUnalignedTpl::hasConfigurationLimit
const std::vector< bool > hasConfigurationLimit() const
Definition: joint-revolute-unaligned.hpp:653
pinocchio::traits< JointRevoluteUnalignedTpl< _Scalar, _Options > >::U_t
Eigen::Matrix< Scalar, 6, NV, Options > U_t
Definition: joint-revolute-unaligned.hpp:521
pinocchio::JointMotionSubspaceTransposeBase
Definition: constraint-base.hpp:185
pinocchio::JointDataRevoluteUnalignedTpl::JointDataRevoluteUnalignedTpl
JointDataRevoluteUnalignedTpl()
Definition: joint-revolute-unaligned.hpp:568
pinocchio::MotionTpl< Scalar, Options >
pinocchio::MotionRevoluteUnalignedTpl::MOTION_TYPEDEF_TPL
EIGEN_MAKE_ALIGNED_OPERATOR_NEW MOTION_TYPEDEF_TPL(MotionRevoluteUnalignedTpl)
dcrba.NV
NV
Definition: dcrba.py:514
dpendulum.NQ
int NQ
Definition: dpendulum.py:8
pinocchio::SE3GroupAction< JointMotionSubspaceRevoluteUnalignedTpl< Scalar, Options > >::ReturnType
Eigen::Matrix< Scalar, 6, 1, Options > ReturnType
Definition: joint-revolute-unaligned.hpp:246
pinocchio::traits< JointMotionSubspaceRevoluteUnalignedTpl< _Scalar, _Options > >::ReducedSquaredMatrix
Eigen::Matrix< Scalar, 1, 1, Options > ReducedSquaredMatrix
Definition: joint-revolute-unaligned.hpp:233
meshcat-viewer.qs
qs
Definition: meshcat-viewer.py:127
pinocchio::impl::LhsMultiplicationOp< Eigen::MatrixBase< M6Like >, JointMotionSubspaceRevoluteUnalignedTpl< Scalar, Options > >::Constraint
JointMotionSubspaceRevoluteUnalignedTpl< Scalar, Options > Constraint
Definition: joint-revolute-unaligned.hpp:485
pinocchio::traits< MotionRevoluteUnalignedTpl< _Scalar, _Options > >::AngularType
Vector3 AngularType
Definition: joint-revolute-unaligned.hpp:50
pinocchio::JointModelBase::isEqual
bool isEqual(const JointModelBase< OtherDerived > &) const
Definition: joint-model-base.hpp:242
pinocchio::normalize
void normalize(const ModelTpl< Scalar, Options, JointCollectionTpl > &model, const Eigen::MatrixBase< ConfigVectorType > &qout)
Normalize a configuration vector.
Definition: joint-configuration.hpp:914
pinocchio::MotionDense::angular
ConstAngularType angular() const
Definition: motion-base.hpp:32
pinocchio::JointModelRevoluteUnalignedTpl::cast
JointModelRevoluteUnalignedTpl< NewScalar, Options > cast() const
Definition: joint-revolute-unaligned.hpp:717
pinocchio
Main pinocchio namespace.
Definition: timings.cpp:27
pinocchio::JointModelRevoluteUnalignedTpl::Base
JointModelBase< JointModelRevoluteUnalignedTpl > Base
Definition: joint-revolute-unaligned.hpp:616
pinocchio::JointMotionSubspaceRevoluteUnalignedTpl::se3ActionInverse
SE3GroupAction< JointMotionSubspaceRevoluteUnalignedTpl >::ReturnType se3ActionInverse(const SE3Tpl< S1, O1 > &m) const
Definition: joint-revolute-unaligned.hpp:329
pinocchio::MotionRevoluteUnalignedTpl::setTo
void setTo(MotionDense< Derived > &other) const
Definition: joint-revolute-unaligned.hpp:100
pinocchio::JointModelBase::id
JointIndex id() const
Definition: joint-model-base.hpp:168
pinocchio::MultiplicationOp< Eigen::MatrixBase< M6Like >, JointMotionSubspaceRevoluteUnalignedTpl< Scalar, Options > >::ReturnType
const typedef MatrixMatrixProduct< M6LikeColsNonConst, Vector3 >::type ReturnType
Definition: joint-revolute-unaligned.hpp:474


pinocchio
Author(s):
autogenerated on Wed Jun 19 2024 02:41:14