joint-revolute-unaligned.hpp
Go to the documentation of this file.
1 //
2 // Copyright (c) 2015-2019 CNRS INRIA
3 // Copyright (c) 2015-2016 Wandercraft, 86 rue de Paris 91400 Orsay, France.
4 //
5 
6 #ifndef __pinocchio_joint_revolute_unaligned_hpp__
7 #define __pinocchio_joint_revolute_unaligned_hpp__
8 
9 #include "pinocchio/fwd.hpp"
14 
15 namespace pinocchio
16 {
17 
18  template<typename Scalar, int Options=0> struct MotionRevoluteUnalignedTpl;
20 
21  template<typename Scalar, int Options>
23  {
25  };
26 
27  template<typename Scalar, int Options, typename MotionDerived>
29  {
31  };
32 
33  template<typename _Scalar, int _Options>
34  struct traits< MotionRevoluteUnalignedTpl<_Scalar,_Options> >
35  {
36  typedef _Scalar Scalar;
37  enum { Options = _Options };
38  typedef Eigen::Matrix<Scalar,3,1,Options> Vector3;
39  typedef Eigen::Matrix<Scalar,6,1,Options> Vector6;
40  typedef Eigen::Matrix<Scalar,4,4,Options> Matrix4;
41  typedef Eigen::Matrix<Scalar,6,6,Options> Matrix6;
42  typedef typename PINOCCHIO_EIGEN_REF_CONST_TYPE(Vector6) ToVectorConstReturnType;
43  typedef typename PINOCCHIO_EIGEN_REF_TYPE(Vector6) ToVectorReturnType;
46  typedef const Vector3 ConstAngularType;
47  typedef const Vector3 ConstLinearType;
52  enum {
53  LINEAR = 0,
54  ANGULAR = 3
55  };
56  }; // traits MotionRevoluteUnalignedTpl
57 
58  template<typename _Scalar, int _Options>
59  struct MotionRevoluteUnalignedTpl
60  : MotionBase< MotionRevoluteUnalignedTpl<_Scalar,_Options> >
61  {
62  EIGEN_MAKE_ALIGNED_OPERATOR_NEW
64 
66 
67  template<typename Vector3Like, typename OtherScalar>
68  MotionRevoluteUnalignedTpl(const Eigen::MatrixBase<Vector3Like> & axis,
69  const OtherScalar & w)
70  : m_axis(axis)
71  , m_w(w)
72  {}
73 
74  inline PlainReturnType plain() const
75  {
76  return PlainReturnType(PlainReturnType::Vector3::Zero(),
77  m_axis*m_w);
78  }
79 
80  template<typename OtherScalar>
81  MotionRevoluteUnalignedTpl __mult__(const OtherScalar & alpha) const
82  {
84  }
85 
86  template<typename MotionDerived>
87  inline void addTo(MotionDense<MotionDerived> & v) const
88  {
89  v.angular() += m_axis*m_w;
90  }
91 
92  template<typename Derived>
93  void setTo(MotionDense<Derived> & other) const
94  {
95  other.linear().setZero();
96  other.angular().noalias() = m_axis*m_w;
97  }
98 
99  template<typename S2, int O2, typename D2>
101  {
102  // Angular
103  v.angular().noalias() = m_w * m.rotation() * m_axis;
104 
105  // Linear
106  v.linear().noalias() = m.translation().cross(v.angular());
107  }
108 
109  template<typename S2, int O2>
110  MotionPlain se3Action_impl(const SE3Tpl<S2,O2> & m) const
111  {
112  MotionPlain res;
114  return res;
115  }
116 
117  template<typename S2, int O2, typename D2>
119  {
120  // Linear
121  // TODO: use v.angular() as temporary variable
122  Vector3 v3_tmp;
123  v3_tmp.noalias() = m_axis.cross(m.translation());
124  v3_tmp *= m_w;
125  v.linear().noalias() = m.rotation().transpose() * v3_tmp;
126 
127  // Angular
128  v.angular().noalias() = m.rotation().transpose() * m_axis;
129  v.angular() *= m_w;
130  }
131 
132  template<typename S2, int O2>
133  MotionPlain se3ActionInverse_impl(const SE3Tpl<S2,O2> & m) const
134  {
135  MotionPlain res;
137  return res;
138  }
139 
140  template<typename M1, typename M2>
141  void motionAction(const MotionDense<M1> & v, MotionDense<M2> & mout) const
142  {
143  // Linear
144  mout.linear().noalias() = v.linear().cross(m_axis);
145  mout.linear() *= m_w;
146 
147  // Angular
148  mout.angular().noalias() = v.angular().cross(m_axis);
149  mout.angular() *= m_w;
150  }
151 
152  template<typename M1>
153  MotionPlain motionAction(const MotionDense<M1> & v) const
154  {
155  MotionPlain res;
156  motionAction(v,res);
157  return res;
158  }
159 
160  bool isEqual_impl(const MotionRevoluteUnalignedTpl & other) const
161  {
162  return m_axis == other.m_axis && m_w == other.m_w;
163  }
164 
165  const Scalar & angularRate() const { return m_w; }
166  Scalar & angularRate() { return m_w; }
167 
168  const Vector3 & axis() const { return m_axis; }
169  Vector3 & axis() { return m_axis; }
170 
171  protected:
172  Vector3 m_axis;
174 
175  }; // struct MotionRevoluteUnalignedTpl
176 
177  template<typename S1, int O1, typename MotionDerived>
178  inline typename MotionDerived::MotionPlain
180  const MotionDense<MotionDerived> & m2)
181  {
182  typename MotionDerived::MotionPlain res(m2);
183  res += m1;
184  return res;
185  }
186 
187  template<typename MotionDerived, typename S2, int O2>
188  inline typename MotionDerived::MotionPlain
191  {
192  return m2.motionAction(m1);
193  }
194 
195  template<typename Scalar, int Options> struct ConstraintRevoluteUnalignedTpl;
196 
197  template<typename _Scalar, int _Options>
198  struct traits< ConstraintRevoluteUnalignedTpl<_Scalar,_Options> >
199  {
200  typedef _Scalar Scalar;
201  enum { Options = _Options };
202  enum {
203  LINEAR = 0,
204  ANGULAR = 3
205  };
207  typedef Eigen::Matrix<Scalar,1,1,Options> JointForce;
208  typedef Eigen::Matrix<Scalar,6,1,Options> DenseBase;
211 
212  typedef Eigen::Matrix<Scalar,3,1,Options> Vector3;
213  }; // traits ConstraintRevoluteUnalignedTpl
214 
215  template<typename Scalar, int Options>
217  { typedef Eigen::Matrix<Scalar,6,1,Options> ReturnType; };
218 
219  template<typename Scalar, int Options, typename MotionDerived>
221  { typedef Eigen::Matrix<Scalar,6,1,Options> ReturnType; };
222 
223  template<typename Scalar, int Options, typename ForceDerived>
225  {
228  };
229 
230  template<typename Scalar, int Options, typename ForceSet>
232  {
235  typename Eigen::MatrixBase<const ForceSet>::template NRowsBlockXpr<3>::Type
237  };
238 
239  template<typename _Scalar, int _Options>
241  : ConstraintBase< ConstraintRevoluteUnalignedTpl<_Scalar,_Options> >
242  {
243  EIGEN_MAKE_ALIGNED_OPERATOR_NEW
245 
246  enum { NV = 1 };
247 
249 
251 
252  template<typename Vector3Like>
253  ConstraintRevoluteUnalignedTpl(const Eigen::MatrixBase<Vector3Like> & axis)
254  : m_axis(axis)
255  {}
256 
257  template<typename Vector1Like>
258  JointMotion __mult__(const Eigen::MatrixBase<Vector1Like> & v) const
259  {
260  EIGEN_STATIC_ASSERT_VECTOR_SPECIFIC_SIZE(Vector1Like,1);
261  return JointMotion(m_axis,v[0]);
262  }
263 
264  template<typename S1, int O1>
266  se3Action(const SE3Tpl<S1,O1> & m) const
267  {
269 
270  /* X*S = [ R pxR ; 0 R ] [ 0 ; a ] = [ px(Ra) ; Ra ] */
271  ReturnType res;
272  res.template segment<3>(ANGULAR).noalias() = m.rotation() * m_axis;
273  res.template segment<3>(LINEAR).noalias() = m.translation().cross(res.template segment<3>(ANGULAR));
274  return res;
275  }
276 
277  template<typename S1, int O1>
280  {
282 
283  ReturnType res;
284  res.template segment<3>(ANGULAR).noalias() = m.rotation().transpose() * m_axis;
285  res.template segment<3>(LINEAR).noalias() = -m.rotation().transpose() * m.translation().cross(m_axis);
286  return res;
287  }
288 
289  int nv_impl() const { return NV; }
290 
292  {
295 
296  template<typename ForceDerived>
299  {
301  ReturnType res;
302  res[0] = ref.axis().dot(f.angular());
303  return res;
304  }
305 
306  /* [CRBA] MatrixBase operator* (Constraint::Transpose S, ForceSet::Block) */
307  template<typename ForceSet>
309  operator*(const Eigen::MatrixBase<ForceSet> & F)
310  {
311  EIGEN_STATIC_ASSERT(ForceSet::RowsAtCompileTime==6,THIS_METHOD_IS_ONLY_FOR_MATRICES_OF_A_SPECIFIC_SIZE)
312  /* Return ax.T * F[3:end,:] */
313  return ref.axis().transpose() * F.template middleRows<3>(ANGULAR);
314  }
315 
316  };
317 
318  TransposeConst transpose() const { return TransposeConst(*this); }
319 
320  /* CRBA joint operators
321  * - ForceSet::Block = ForceSet
322  * - ForceSet operator* (Inertia Y,Constraint S)
323  * - MatrixBase operator* (Constraint::Transpose S, ForceSet::Block)
324  * - SE3::act(ForceSet::Block)
325  */
326  DenseBase matrix_impl() const
327  {
328  DenseBase S;
329  S.template segment<3>(LINEAR).setZero();
330  S.template segment<3>(ANGULAR) = m_axis;
331  return S;
332  }
333 
334  template<typename MotionDerived>
337  {
338  const typename MotionDerived::ConstLinearType v = m.linear();
339  const typename MotionDerived::ConstAngularType w = m.angular();
340 
341  DenseBase res;
342  res.template segment<3>(LINEAR).noalias() = v.cross(m_axis);
343  res.template segment<3>(ANGULAR).noalias() = w.cross(m_axis);
344 
345  return res;
346  }
347 
348  const Vector3 & axis() const { return m_axis; }
349  Vector3 & axis() { return m_axis; }
350 
351  bool isEqual(const ConstraintRevoluteUnalignedTpl & other) const
352  {
353  return m_axis == other.m_axis;
354  }
355 
356  protected:
357 
359 
360  }; // struct ConstraintRevoluteUnalignedTpl
361 
362  template<typename S1, int O1,typename S2, int O2>
364  {
365  typedef Eigen::Matrix<S2,6,1,O2> ReturnType;
366  };
367 
368  /* [CRBA] ForceSet operator* (Inertia Y,Constraint S) */
369  namespace impl
370  {
371  template<typename S1, int O1, typename S2, int O2>
373  {
377  static inline ReturnType run(const Inertia & Y,
378  const Constraint & cru)
379  {
380  ReturnType res;
381 
382  /* YS = [ m -mcx ; mcx I-mcxcx ] [ 0 ; w ] = [ mcxw ; Iw -mcxcxw ] */
383  const typename Inertia::Scalar & m = Y.mass();
384  const typename Inertia::Vector3 & c = Y.lever();
385  const typename Inertia::Symmetric3 & I = Y.inertia();
386 
387  res.template segment<3>(Inertia::LINEAR) = -m*c.cross(cru.axis());
388  res.template segment<3>(Inertia::ANGULAR).noalias() = I*cru.axis();
389  res.template segment<3>(Inertia::ANGULAR) += c.cross(res.template segment<3>(Inertia::LINEAR));
390 
391  return res;
392  }
393  };
394  } // namespace impl
395 
396  template<typename M6Like, typename Scalar, int Options>
397  struct MultiplicationOp<Eigen::MatrixBase<M6Like>, ConstraintRevoluteUnalignedTpl<Scalar,Options> >
398  {
399  typedef typename SizeDepType<3>::ColsReturn<M6Like>::ConstType M6LikeCols;
401 
403  typedef typename Constraint::Vector3 Vector3;
405  };
406 
407  /* [ABA] operator* (Inertia Y,Constraint S) */
408  namespace impl
409  {
410  template<typename M6Like, typename Scalar, int Options>
411  struct LhsMultiplicationOp<Eigen::MatrixBase<M6Like>, ConstraintRevoluteUnalignedTpl<Scalar,Options> >
412  {
415 
416  static inline ReturnType run(const Eigen::MatrixBase<M6Like> & Y,
417  const Constraint & cru)
418  {
419  EIGEN_STATIC_ASSERT_MATRIX_SPECIFIC_SIZE(M6Like,6,6);
420  return Y.derived().template middleCols<3>(Constraint::ANGULAR) * cru.axis();
421  }
422  };
423  } // namespace impl
424 
425  template<typename Scalar, int Options> struct JointRevoluteUnalignedTpl;
426 
427  template<typename _Scalar, int _Options>
428  struct traits< JointRevoluteUnalignedTpl<_Scalar,_Options> >
429  {
430  enum {
431  NQ = 1,
432  NV = 1
433  };
434  typedef _Scalar Scalar;
435  enum { Options = _Options };
442 
443  // [ABA]
444  typedef Eigen::Matrix<Scalar,6,NV,Options> U_t;
445  typedef Eigen::Matrix<Scalar,NV,NV,Options> D_t;
446  typedef Eigen::Matrix<Scalar,6,NV,Options> UD_t;
447 
449 
450  typedef Eigen::Matrix<Scalar,NQ,1,Options> ConfigVector_t;
451  typedef Eigen::Matrix<Scalar,NV,1,Options> TangentVector_t;
452 
453  };
454 
455  template<typename Scalar, int Options>
458 
459  template<typename Scalar, int Options>
462 
463  template<typename _Scalar, int _Options>
465  : public JointDataBase< JointDataRevoluteUnalignedTpl<_Scalar,_Options> >
466  {
467  EIGEN_MAKE_ALIGNED_OPERATOR_NEW
471 
472  Transformation_t M;
473  Constraint_t S;
474  Motion_t v;
475  Bias_t c;
476 
477  // [ABA] specific data
478  U_t U;
479  D_t Dinv;
480  UD_t UDinv;
481 
483  : M(Transformation_t::Identity())
484  , S(Constraint_t::Vector3::Zero())
485  , v(Constraint_t::Vector3::Zero(),(Scalar)0)
486  , U(U_t::Zero())
487  , Dinv(D_t::Zero())
488  , UDinv(UD_t::Zero())
489  {}
490 
491  template<typename Vector3Like>
492  JointDataRevoluteUnalignedTpl(const Eigen::MatrixBase<Vector3Like> & axis)
493  : M(Transformation_t::Identity())
494  , S(axis)
495  , v(axis,(Scalar)NAN)
496  , U(U_t::Zero())
497  , Dinv(D_t::Zero())
498  , UDinv(UD_t::Zero())
499  {}
500 
501  static std::string classname() { return std::string("JointDataRevoluteUnaligned"); }
502  std::string shortname() const { return classname(); }
503 
504  }; // struct JointDataRevoluteUnalignedTpl
505 
506  PINOCCHIO_JOINT_CAST_TYPE_SPECIALIZATION(JointModelRevoluteUnalignedTpl);
507  template<typename _Scalar, int _Options>
508  struct JointModelRevoluteUnalignedTpl
509  : public JointModelBase< JointModelRevoluteUnalignedTpl<_Scalar,_Options> >
510  {
511  EIGEN_MAKE_ALIGNED_OPERATOR_NEW
514  typedef Eigen::Matrix<Scalar,3,1,_Options> Vector3;
515 
517  using Base::id;
518  using Base::idx_q;
519  using Base::idx_v;
520  using Base::setIndexes;
521 
523 
525  const Scalar & y,
526  const Scalar & z)
527  : axis(x,y,z)
528  {
529  axis.normalize();
530  assert(isUnitary(axis) && "Rotation axis is not unitary");
531  }
532 
533  template<typename Vector3Like>
534  JointModelRevoluteUnalignedTpl(const Eigen::MatrixBase<Vector3Like> & axis)
535  : axis(axis)
536  {
537  EIGEN_STATIC_ASSERT_VECTOR_ONLY(Vector3Like);
538  assert(isUnitary(axis) && "Rotation axis is not unitary");
539  }
540 
541  JointDataDerived createData() const { return JointDataDerived(axis); }
542 
543  using Base::isEqual;
544  bool isEqual(const JointModelRevoluteUnalignedTpl & other) const
545  {
546  return Base::isEqual(other) && axis == other.axis;
547  }
548 
549  const std::vector<bool> hasConfigurationLimit() const
550  {
551  return {true};
552  }
553 
554  const std::vector<bool> hasConfigurationLimitInTangent() const
555  {
556  return {true};
557  }
558 
559  template<typename ConfigVector>
560  void calc(JointDataDerived & data,
561  const typename Eigen::MatrixBase<ConfigVector> & qs) const
562  {
563  typedef typename ConfigVector::Scalar OtherScalar;
564  typedef Eigen::AngleAxis<Scalar> AngleAxis;
565 
566  const OtherScalar & q = qs[idx_q()];
567 
568  data.M.rotation(AngleAxis(q,axis).toRotationMatrix());
569  }
570 
571  template<typename ConfigVector, typename TangentVector>
572  void calc(JointDataDerived & data,
573  const typename Eigen::MatrixBase<ConfigVector> & qs,
574  const typename Eigen::MatrixBase<TangentVector> & vs) const
575  {
576  calc(data,qs.derived());
577 
578  data.v.angularRate() = static_cast<Scalar>(vs[idx_v()]);
579  }
580 
581  template<typename Matrix6Like>
582  void calc_aba(JointDataDerived & data, const Eigen::MatrixBase<Matrix6Like> & I, const bool update_I) const
583  {
584  data.U.noalias() = I.template middleCols<3>(Motion::ANGULAR) * axis;
585  data.Dinv[0] = (Scalar)(1)/axis.dot(data.U.template segment<3>(Motion::ANGULAR));
586  data.UDinv.noalias() = data.U * data.Dinv;
587 
588  if (update_I)
589  PINOCCHIO_EIGEN_CONST_CAST(Matrix6Like,I) -= data.UDinv * data.U.transpose();
590  }
591 
592  static std::string classname() { return std::string("JointModelRevoluteUnaligned"); }
593  std::string shortname() const { return classname(); }
594 
596  template<typename NewScalar>
598  {
600  ReturnType res(axis.template cast<NewScalar>());
601  res.setIndexes(id(),idx_q(),idx_v());
602  return res;
603  }
604 
605  // data
606 
611  }; // struct JointModelRevoluteUnalignedTpl
612 
613 } //namespace pinocchio
614 
615 #include <boost/type_traits.hpp>
616 
617 namespace boost
618 {
619  template<typename Scalar, int Options>
620  struct has_nothrow_constructor< ::pinocchio::JointModelRevoluteUnalignedTpl<Scalar,Options> >
621  : public integral_constant<bool,true> {};
622 
623  template<typename Scalar, int Options>
624  struct has_nothrow_copy< ::pinocchio::JointModelRevoluteUnalignedTpl<Scalar,Options> >
625  : public integral_constant<bool,true> {};
626 
627  template<typename Scalar, int Options>
628  struct has_nothrow_constructor< ::pinocchio::JointDataRevoluteUnalignedTpl<Scalar,Options> >
629  : public integral_constant<bool,true> {};
630 
631  template<typename Scalar, int Options>
632  struct has_nothrow_copy< ::pinocchio::JointDataRevoluteUnalignedTpl<Scalar,Options> >
633  : public integral_constant<bool,true> {};
634 }
635 
636 
637 #endif // ifndef __pinocchio_joint_revolute_unaligned_hpp__
pinocchio::traits< JointDataRevoluteUnalignedTpl< Scalar, Options > >::JointDerived
JointRevoluteUnalignedTpl< Scalar, Options > JointDerived
Definition: joint-revolute-unaligned.hpp:457
pinocchio::MatrixMatrixProduct
Definition: math/matrix.hpp:64
m
float m
pinocchio::ConstraintRevoluteUnalignedTpl::axis
const Vector3 & axis() const
Definition: joint-revolute-unaligned.hpp:348
PINOCCHIO_JOINT_DATA_BASE_ACCESSOR_DEFAULT_RETURN_TYPE
#define PINOCCHIO_JOINT_DATA_BASE_ACCESSOR_DEFAULT_RETURN_TYPE
Definition: joint-data-base.hpp:62
UnitX
const Vec3f UnitX
pinocchio::ConstraintRevoluteUnalignedTpl::m_axis
Vector3 m_axis
Definition: joint-revolute-unaligned.hpp:358
pinocchio::JointModelRevoluteUnalignedTpl::PINOCCHIO_JOINT_TYPEDEF_TEMPLATE
PINOCCHIO_JOINT_TYPEDEF_TEMPLATE(JointDerived)
Eigen
pinocchio::MultiplicationOp
Forward declaration of the multiplication operation return type. Should be overloaded,...
Definition: binary-op.hpp:15
pinocchio::traits< JointRevoluteUnalignedTpl< _Scalar, _Options > >::Bias_t
MotionZeroTpl< Scalar, Options > Bias_t
Definition: joint-revolute-unaligned.hpp:441
pinocchio::JointModelRevoluteUnalignedTpl::hasConfigurationLimitInTangent
const std::vector< bool > hasConfigurationLimitInTangent() const
Definition: joint-revolute-unaligned.hpp:554
pinocchio::MotionRevoluteUnalignedTpl::plain
PlainReturnType plain() const
Definition: joint-revolute-unaligned.hpp:74
pinocchio::JointModelRevoluteUnalignedTpl::JointModelRevoluteUnalignedTpl
JointModelRevoluteUnalignedTpl()
Definition: joint-revolute-unaligned.hpp:522
pinocchio::ConstraintRevoluteUnalignedTpl::matrix_impl
DenseBase matrix_impl() const
Definition: joint-revolute-unaligned.hpp:326
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:38
pinocchio::ConstraintRevoluteUnalignedTpl::axis
Vector3 & axis()
Definition: joint-revolute-unaligned.hpp:349
pinocchio::JointDataRevoluteUnalignedTpl
Definition: multibody/joint/fwd.hpp:31
pinocchio::traits< MotionRevoluteUnalignedTpl< _Scalar, _Options > >::Vector6
Eigen::Matrix< Scalar, 6, 1, Options > Vector6
Definition: joint-revolute-unaligned.hpp:39
pinocchio::traits< MotionRevoluteUnalignedTpl< _Scalar, _Options > >::Scalar
_Scalar Scalar
Definition: joint-revolute-unaligned.hpp:36
pinocchio::traits< JointRevoluteUnalignedTpl< _Scalar, _Options > >::Constraint_t
ConstraintRevoluteUnalignedTpl< Scalar, Options > Constraint_t
Definition: joint-revolute-unaligned.hpp:438
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:140
pinocchio::JointDataRevoluteUnalignedTpl::UDinv
UD_t UDinv
Definition: joint-revolute-unaligned.hpp:480
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::MotionRevoluteUnalignedTpl::angularRate
Scalar & angularRate()
Definition: joint-revolute-unaligned.hpp:166
pinocchio::JointModelBase
Definition: joint-model-base.hpp:67
pinocchio::traits< JointRevoluteUnalignedTpl< _Scalar, _Options > >::UD_t
Eigen::Matrix< Scalar, 6, NV, Options > UD_t
Definition: joint-revolute-unaligned.hpp:446
pinocchio::ConstraintForceOp
Return type of the Constraint::Transpose * Force operation.
Definition: constraint-base.hpp:35
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:746
y
y
pinocchio::JointDataRevoluteUnalignedTpl::shortname
std::string shortname() const
Definition: joint-revolute-unaligned.hpp:502
pinocchio::JointDataRevoluteUnalignedTpl::S
Constraint_t S
Definition: joint-revolute-unaligned.hpp:473
pinocchio::traits< ConstraintRevoluteUnalignedTpl< _Scalar, _Options > >::Vector3
Eigen::Matrix< Scalar, 3, 1, Options > Vector3
Definition: joint-revolute-unaligned.hpp:212
c
Vec3f c
PINOCCHIO_EIGEN_CONST_CAST
#define PINOCCHIO_EIGEN_CONST_CAST(TYPE, OBJ)
Macro for an automatic const_cast.
Definition: eigen-macros.hpp:43
pinocchio::MotionRevoluteUnalignedTpl::addTo
void addTo(MotionDense< MotionDerived > &v) const
Definition: joint-revolute-unaligned.hpp:87
pinocchio::SE3Tpl
Definition: spatial/fwd.hpp:38
pinocchio::traits< JointRevoluteUnalignedTpl< _Scalar, _Options > >::ConfigVector_t
PINOCCHIO_JOINT_DATA_BASE_ACCESSOR_DEFAULT_RETURN_TYPE typedef Eigen::Matrix< Scalar, NQ, 1, Options > ConfigVector_t
Definition: joint-revolute-unaligned.hpp:450
fwd.hpp
pinocchio::SE3GroupAction::ReturnType
D ReturnType
Definition: spatial/se3.hpp:39
pinocchio::JointDataBase
Definition: joint-data-base.hpp:82
pinocchio::traits< MotionRevoluteUnalignedTpl< _Scalar, _Options > >::ConstLinearType
const typedef Vector3 ConstLinearType
Definition: joint-revolute-unaligned.hpp:47
pinocchio::traits< ConstraintRevoluteUnalignedTpl< _Scalar, _Options > >::ConstMatrixReturnType
const typedef DenseBase ConstMatrixReturnType
Definition: joint-revolute-unaligned.hpp:210
pinocchio::MotionRevoluteUnalignedTpl::MotionRevoluteUnalignedTpl
MotionRevoluteUnalignedTpl(const Eigen::MatrixBase< Vector3Like > &axis, const OtherScalar &w)
Definition: joint-revolute-unaligned.hpp:68
pinocchio::traits< MotionRevoluteUnalignedTpl< _Scalar, _Options > >::Vector3
Eigen::Matrix< Scalar, 3, 1, Options > Vector3
Definition: joint-revolute-unaligned.hpp:38
pinocchio::PINOCCHIO_EIGEN_REF_CONST_TYPE
PINOCCHIO_EIGEN_REF_CONST_TYPE(Matrix6Like) operator*(const Eigen
Definition: joint-free-flyer.hpp:122
setup.data
data
Definition: cmake/cython/setup.in.py:48
inertia.hpp
pinocchio::SE3GroupAction< MotionRevoluteUnalignedTpl< Scalar, Options > >::ReturnType
MotionTpl< Scalar, Options > ReturnType
Definition: joint-revolute-unaligned.hpp:24
pinocchio::traits< ConstraintRevoluteUnalignedTpl< _Scalar, _Options > >::DenseBase
Eigen::Matrix< Scalar, 6, 1, Options > DenseBase
Definition: joint-revolute-unaligned.hpp:208
pinocchio::MotionDense
Definition: spatial/fwd.hpp:41
pinocchio::MotionRevoluteUnalignedTpl::m_w
Scalar m_w
Definition: joint-revolute-unaligned.hpp:173
pinocchio::JointDataRevoluteUnalignedTpl::M
PINOCCHIO_JOINT_DATA_BASE_DEFAULT_ACCESSOR Transformation_t M
Definition: joint-revolute-unaligned.hpp:472
boost
pinocchio::ConstraintRevoluteUnalignedTpl::TransposeConst::operator*
ConstraintForceOp< ConstraintRevoluteUnalignedTpl, ForceDerived >::ReturnType operator*(const ForceDense< ForceDerived > &f) const
Definition: joint-revolute-unaligned.hpp:298
pinocchio::JointDataRevoluteUnalignedTpl::classname
static std::string classname()
Definition: joint-revolute-unaligned.hpp:501
pinocchio::JointModelRevoluteUnalignedTpl::cast
JointModelRevoluteUnalignedTpl< NewScalar, Options > cast() const
Definition: joint-revolute-unaligned.hpp:597
pinocchio::ConstraintForceOp< ConstraintRevoluteUnalignedTpl< 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:227
pinocchio::traits< MotionRevoluteUnalignedTpl< _Scalar, _Options > >::LinearType
Vector3 LinearType
Definition: joint-revolute-unaligned.hpp:45
pinocchio::MotionRevoluteUnalignedTpl::se3ActionInverse_impl
void se3ActionInverse_impl(const SE3Tpl< S2, O2 > &m, MotionDense< D2 > &v) const
Definition: joint-revolute-unaligned.hpp:118
pinocchio::ConstraintForceOp::ReturnType
ReturnTypeNotDefined ReturnType
Definition: constraint-base.hpp:37
pinocchio::ConstraintRevoluteUnalignedTpl
Definition: joint-revolute-unaligned.hpp:195
pinocchio::JointModelBase::setIndexes
void setIndexes(JointIndex id, int q, int v)
Definition: joint-model-base.hpp:127
pinocchio::MotionRevoluteUnalignedTpl::motionAction
void motionAction(const MotionDense< M1 > &v, MotionDense< M2 > &mout) const
Definition: joint-revolute-unaligned.hpp:141
pinocchio::JointModelRevoluteUnalignedTpl::Vector3
Eigen::Matrix< Scalar, 3, 1, _Options > Vector3
Definition: joint-revolute-unaligned.hpp:514
pinocchio::ConstraintRevoluteUnalignedTpl::se3Action
SE3GroupAction< ConstraintRevoluteUnalignedTpl >::ReturnType se3Action(const SE3Tpl< S1, O1 > &m) const
Definition: joint-revolute-unaligned.hpp:266
pinocchio::traits< JointRevoluteUnalignedTpl< _Scalar, _Options > >::U_t
Eigen::Matrix< Scalar, 6, NV, Options > U_t
Definition: joint-revolute-unaligned.hpp:444
pinocchio::ConstraintRevoluteUnalignedTpl::ConstraintRevoluteUnalignedTpl
ConstraintRevoluteUnalignedTpl(const Eigen::MatrixBase< Vector3Like > &axis)
Definition: joint-revolute-unaligned.hpp:253
pinocchio::ConstraintRevoluteUnalignedTpl::TransposeConst::ref
const ConstraintRevoluteUnalignedTpl & ref
Definition: joint-revolute-unaligned.hpp:293
pinocchio::MotionAlgebraAction
Return type of the ation of a Motion onto an object of type D.
Definition: spatial/motion.hpp:46
pinocchio::impl::LhsMultiplicationOp< InertiaTpl< S1, O1 >, ConstraintRevoluteUnalignedTpl< S2, O2 > >::Constraint
ConstraintRevoluteUnalignedTpl< S2, O2 > Constraint
Definition: joint-revolute-unaligned.hpp:375
pinocchio::MotionRevoluteUnalignedTpl::se3Action_impl
MotionPlain se3Action_impl(const SE3Tpl< S2, O2 > &m) const
Definition: joint-revolute-unaligned.hpp:110
pinocchio::impl::LhsMultiplicationOp
Definition: binary-op.hpp:20
pinocchio::JointDataRevoluteUnalignedTpl::Dinv
D_t Dinv
Definition: joint-revolute-unaligned.hpp:479
pinocchio::impl::LhsMultiplicationOp< Eigen::MatrixBase< M6Like >, ConstraintRevoluteUnalignedTpl< Scalar, Options > >::run
static ReturnType run(const Eigen::MatrixBase< M6Like > &Y, const Constraint &cru)
Definition: joint-revolute-unaligned.hpp:416
pinocchio::ConstraintRevoluteUnalignedTpl::TransposeConst
Definition: joint-revolute-unaligned.hpp:291
pinocchio::ConstraintRevoluteUnalignedTpl::TransposeConst::operator*
ConstraintForceSetOp< ConstraintRevoluteUnalignedTpl, ForceSet >::ReturnType operator*(const Eigen::MatrixBase< ForceSet > &F)
Definition: joint-revolute-unaligned.hpp:309
pinocchio::MotionDense::linear
ConstLinearType linear() const
Definition: motion-base.hpp:22
pinocchio::JointModelRevoluteUnalignedTpl::isEqual
bool isEqual(const JointModelRevoluteUnalignedTpl &other) const
Definition: joint-revolute-unaligned.hpp:544
pinocchio::traits< MotionRevoluteUnalignedTpl< _Scalar, _Options > >::HomogeneousMatrixType
Matrix4 HomogeneousMatrixType
Definition: joint-revolute-unaligned.hpp:49
pinocchio::SE3GroupAction
Definition: spatial/se3.hpp:39
pinocchio::MotionZeroTpl
Definition: spatial/fwd.hpp:44
PINOCCHIO_JOINT_DATA_BASE_DEFAULT_ACCESSOR
#define PINOCCHIO_JOINT_DATA_BASE_DEFAULT_ACCESSOR
Definition: joint-data-base.hpp:46
simulation-pendulum.type
type
Definition: simulation-pendulum.py:14
pinocchio::JointModelRevoluteUnalignedTpl::createData
JointDataDerived createData() const
Definition: joint-revolute-unaligned.hpp:541
pinocchio::MotionAlgebraAction::ReturnType
D ReturnType
Definition: spatial/motion.hpp:46
pinocchio::JointDataRevoluteUnalignedTpl::v
Motion_t v
Definition: joint-revolute-unaligned.hpp:474
pinocchio::impl::LhsMultiplicationOp< InertiaTpl< S1, O1 >, ConstraintRevoluteUnalignedTpl< S2, O2 > >::run
static ReturnType run(const Inertia &Y, const Constraint &cru)
Definition: joint-revolute-unaligned.hpp:377
pinocchio::traits< ConstraintRevoluteUnalignedTpl< _Scalar, _Options > >::JointForce
Eigen::Matrix< Scalar, 1, 1, Options > JointForce
Definition: joint-revolute-unaligned.hpp:207
pinocchio::JointRevoluteUnalignedTpl
Definition: joint-revolute-unaligned.hpp:425
res
res
pinocchio::ConstraintForceSetOp::ReturnType
ReturnTypeNotDefined ReturnType
Definition: constraint-base.hpp:44
matrix.hpp
pinocchio::JointDataRevoluteUnalignedTpl::PINOCCHIO_JOINT_DATA_TYPEDEF_TEMPLATE
PINOCCHIO_JOINT_DATA_TYPEDEF_TEMPLATE(JointDerived)
pinocchio::JointDataRevoluteUnalignedTpl::U
U_t U
Definition: joint-revolute-unaligned.hpp:478
pinocchio::MotionRevoluteUnalignedTpl::m_axis
Vector3 m_axis
Definition: joint-revolute-unaligned.hpp:172
pinocchio::python::Scalar
SE3::Scalar Scalar
Definition: conversions.cpp:15
pinocchio::MotionAlgebraAction< MotionRevoluteUnalignedTpl< Scalar, Options >, MotionDerived >::ReturnType
MotionTpl< Scalar, Options > ReturnType
Definition: joint-revolute-unaligned.hpp:30
pinocchio::traits< ConstraintRevoluteUnalignedTpl< _Scalar, _Options > >::MatrixReturnType
DenseBase MatrixReturnType
Definition: joint-revolute-unaligned.hpp:209
pinocchio::PINOCCHIO_JOINT_CAST_TYPE_SPECIALIZATION
PINOCCHIO_JOINT_CAST_TYPE_SPECIALIZATION(JointModelFreeFlyerTpl)
AngleAxis
Eigen::AngleAxis< FCL_REAL > AngleAxis
pinocchio::MotionRevoluteUnalignedTpl
Definition: joint-revolute-unaligned.hpp:18
pinocchio::MotionAlgebraAction< ConstraintRevoluteUnalignedTpl< Scalar, Options >, MotionDerived >::ReturnType
Eigen::Matrix< Scalar, 6, 1, Options > ReturnType
Definition: joint-revolute-unaligned.hpp:221
pinocchio::ConstraintRevoluteUnalignedTpl::motionAction
MotionAlgebraAction< ConstraintRevoluteUnalignedTpl, MotionDerived >::ReturnType motionAction(const MotionDense< MotionDerived > &m) const
Definition: joint-revolute-unaligned.hpp:336
pinocchio::MotionRevoluteUnalignedTpl::se3ActionInverse_impl
MotionPlain se3ActionInverse_impl(const SE3Tpl< S2, O2 > &m) const
Definition: joint-revolute-unaligned.hpp:133
pinocchio::MultiplicationOp< Eigen::MatrixBase< M6Like >, ConstraintRevoluteUnalignedTpl< Scalar, Options > >::Constraint
ConstraintRevoluteUnalignedTpl< Scalar, Options > Constraint
Definition: joint-revolute-unaligned.hpp:402
pinocchio::traits< JointRevoluteUnalignedTpl< _Scalar, _Options > >::JointModelDerived
JointModelRevoluteUnalignedTpl< Scalar, Options > JointModelDerived
Definition: joint-revolute-unaligned.hpp:437
pinocchio::ConstraintForceSetOp< ConstraintRevoluteUnalignedTpl< 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:236
pinocchio::traits< JointRevoluteUnalignedTpl< _Scalar, _Options > >::Transformation_t
SE3Tpl< Scalar, Options > Transformation_t
Definition: joint-revolute-unaligned.hpp:439
joint-base.hpp
x
x
pinocchio::ConstraintRevoluteUnalignedTpl::nv_impl
int nv_impl() const
Definition: joint-revolute-unaligned.hpp:289
pinocchio::MotionRevoluteUnalignedTpl::se3Action_impl
void se3Action_impl(const SE3Tpl< S2, O2 > &m, MotionDense< D2 > &v) const
Definition: joint-revolute-unaligned.hpp:100
pinocchio::operator+
MotionDerived::MotionPlain operator+(const MotionPlanarTpl< Scalar, Options > &m1, const MotionDense< MotionDerived > &m2)
Definition: joint-planar.hpp:192
pinocchio::traits< MotionRevoluteUnalignedTpl< _Scalar, _Options > >::ConstAngularType
const typedef Vector3 ConstAngularType
Definition: joint-revolute-unaligned.hpp:46
axis
axis
pinocchio::MultiplicationOp< InertiaTpl< S1, O1 >, ConstraintRevoluteUnalignedTpl< S2, O2 > >::ReturnType
Eigen::Matrix< S2, 6, 1, O2 > ReturnType
Definition: joint-revolute-unaligned.hpp:365
ur5x4.w
w
Definition: ur5x4.py:45
pinocchio::traits< JointRevoluteUnalignedTpl< _Scalar, _Options > >::TangentVector_t
Eigen::Matrix< Scalar, NV, 1, Options > TangentVector_t
Definition: joint-revolute-unaligned.hpp:451
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:572
pinocchio::JointModelRevoluteUnalignedTpl::classname
static std::string classname()
Definition: joint-revolute-unaligned.hpp:592
pinocchio::traits< MotionRevoluteUnalignedTpl< _Scalar, _Options > >::ActionMatrixType
Matrix6 ActionMatrixType
Definition: joint-revolute-unaligned.hpp:48
pinocchio::Symmetric3
Symmetric3Tpl< double, 0 > Symmetric3
Definition: spatial/fwd.hpp:60
pinocchio::MotionRevoluteUnalignedTpl::axis
Vector3 & axis()
Definition: joint-revolute-unaligned.hpp:169
pinocchio::MotionRevoluteUnalignedTpl::__mult__
MotionRevoluteUnalignedTpl __mult__(const OtherScalar &alpha) const
Definition: joint-revolute-unaligned.hpp:81
pinocchio::q
JointCollectionTpl const Eigen::MatrixBase< ConfigVectorType > & q
Definition: joint-configuration.hpp:747
pinocchio::ConstraintForceSetOp< ConstraintRevoluteUnalignedTpl< Scalar, Options >, ForceSet >::Vector3
traits< ConstraintRevoluteUnalignedTpl< Scalar, Options > >::Vector3 Vector3
Definition: joint-revolute-unaligned.hpp:233
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:24
pinocchio::JointModelRevoluteUnalignedTpl::shortname
std::string shortname() const
Definition: joint-revolute-unaligned.hpp:593
pinocchio::JointModelRevoluteUnalignedTpl::JointDerived
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef JointRevoluteUnalignedTpl< _Scalar, _Options > JointDerived
Definition: joint-revolute-unaligned.hpp:512
pinocchio::JointModelRevoluteUnalignedTpl::JointModelRevoluteUnalignedTpl
JointModelRevoluteUnalignedTpl(const Eigen::MatrixBase< Vector3Like > &axis)
Definition: joint-revolute-unaligned.hpp:534
pinocchio::MotionRevoluteUnalignedTpl::motionAction
MotionPlain motionAction(const MotionDense< M1 > &v) const
Definition: joint-revolute-unaligned.hpp:153
pinocchio::JointModelBase::idx_v
int idx_v() const
Definition: joint-model-base.hpp:120
pinocchio::ForceSetTpl
Definition: force-set.hpp:14
pinocchio::v
JointCollectionTpl const Eigen::MatrixBase< ConfigVectorType > const Eigen::MatrixBase< TangentVectorType > & v
Definition: joint-configuration.hpp:748
constraint.hpp
pinocchio::JointModelRevoluteUnalignedTpl::JointModelRevoluteUnalignedTpl
JointModelRevoluteUnalignedTpl(const Scalar &x, const Scalar &y, const Scalar &z)
Definition: joint-revolute-unaligned.hpp:524
pinocchio::JointDataRevoluteUnalignedTpl::JointDerived
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef JointRevoluteUnalignedTpl< _Scalar, _Options > JointDerived
Definition: joint-revolute-unaligned.hpp:468
pinocchio::ConstraintForceSetOp
Return type of the Constraint::Transpose * ForceSet operation.
Definition: constraint-base.hpp:42
pinocchio::traits< MotionRevoluteUnalignedTpl< _Scalar, _Options > >::MotionPlain
MotionTpl< Scalar, Options > MotionPlain
Definition: joint-revolute-unaligned.hpp:50
pinocchio::JointModelRevoluteUnalignedTpl
Definition: multibody/joint/fwd.hpp:28
pinocchio::ConstraintRevoluteUnalignedTpl::__mult__
JointMotion __mult__(const Eigen::MatrixBase< Vector1Like > &v) const
Definition: joint-revolute-unaligned.hpp:258
pinocchio::JointDataRevoluteUnalignedTpl::JointDataRevoluteUnalignedTpl
JointDataRevoluteUnalignedTpl(const Eigen::MatrixBase< Vector3Like > &axis)
Definition: joint-revolute-unaligned.hpp:492
pinocchio::JointModelRevoluteUnalignedTpl::calc
void calc(JointDataDerived &data, const typename Eigen::MatrixBase< ConfigVector > &qs) const
Definition: joint-revolute-unaligned.hpp:560
collision-with-point-clouds.Y
Y
Definition: collision-with-point-clouds.py:31
pinocchio::traits< MotionRevoluteUnalignedTpl< _Scalar, _Options > >::PlainReturnType
MotionPlain PlainReturnType
Definition: joint-revolute-unaligned.hpp:51
pinocchio::MotionRevoluteUnalignedTpl::isEqual_impl
bool isEqual_impl(const MotionRevoluteUnalignedTpl &other) const
Definition: joint-revolute-unaligned.hpp:160
pinocchio::JointModelBase::idx_q
int idx_q() const
Definition: joint-model-base.hpp:119
pinocchio::SizeDepType::ColsReturn
Definition: matrix-block.hpp:43
pinocchio::traits< MotionRevoluteUnalignedTpl< _Scalar, _Options > >::Matrix6
Eigen::Matrix< Scalar, 6, 6, Options > Matrix6
Definition: joint-revolute-unaligned.hpp:41
pinocchio::ConstraintRevoluteUnalignedTpl::ConstraintRevoluteUnalignedTpl
ConstraintRevoluteUnalignedTpl()
Definition: joint-revolute-unaligned.hpp:250
pinocchio::ConstraintRevoluteUnalignedTpl::TransposeConst::TransposeConst
TransposeConst(const ConstraintRevoluteUnalignedTpl &ref)
Definition: joint-revolute-unaligned.hpp:294
pinocchio::ForceDense
Definition: force-dense.hpp:24
pinocchio::MotionRevoluteUnaligned
MotionRevoluteUnalignedTpl< double > MotionRevoluteUnaligned
Definition: joint-revolute-unaligned.hpp:18
pinocchio::traits< JointRevoluteUnalignedTpl< _Scalar, _Options > >::Motion_t
MotionRevoluteUnalignedTpl< Scalar, Options > Motion_t
Definition: joint-revolute-unaligned.hpp:440
pinocchio::impl::LhsMultiplicationOp< Eigen::MatrixBase< M6Like >, ConstraintRevoluteUnalignedTpl< Scalar, Options > >::ReturnType
MultiplicationOp< Eigen::MatrixBase< M6Like >, Constraint >::ReturnType ReturnType
Definition: joint-revolute-unaligned.hpp:414
pinocchio::MotionRevoluteUnalignedTpl::MotionRevoluteUnalignedTpl
MotionRevoluteUnalignedTpl()
Definition: joint-revolute-unaligned.hpp:65
pinocchio::ConstraintRevoluteUnalignedTpl::Vector3
traits< ConstraintRevoluteUnalignedTpl >::Vector3 Vector3
Definition: joint-revolute-unaligned.hpp:248
pinocchio::ConstraintBase
Definition: constraint-base.hpp:48
pinocchio::SE3GroupAction< ConstraintRevoluteUnalignedTpl< Scalar, Options > >::ReturnType
Eigen::Matrix< Scalar, 6, 1, Options > ReturnType
Definition: joint-revolute-unaligned.hpp:217
PINOCCHIO_CONSTRAINT_TYPEDEF_TPL
#define PINOCCHIO_CONSTRAINT_TYPEDEF_TPL(DERIVED)
Definition: constraint-base.hpp:27
pinocchio::JointDataRevoluteUnalignedTpl::c
Bias_t c
Definition: joint-revolute-unaligned.hpp:475
pinocchio::traits< JointRevoluteUnalignedTpl< _Scalar, _Options > >::Scalar
_Scalar Scalar
Definition: joint-revolute-unaligned.hpp:434
pinocchio::MultiplicationOp< Eigen::MatrixBase< M6Like >, ConstraintRevoluteUnalignedTpl< Scalar, Options > >::M6LikeColsNonConst
Eigen::internal::remove_const< M6LikeCols >::type M6LikeColsNonConst
Definition: joint-revolute-unaligned.hpp:400
pinocchio::MultiplicationOp< Eigen::MatrixBase< M6Like >, ConstraintRevoluteUnalignedTpl< Scalar, Options > >::ReturnType
const typedef MatrixMatrixProduct< M6LikeColsNonConst, Vector3 >::type ReturnType
Definition: joint-revolute-unaligned.hpp:404
pinocchio::InertiaTpl
Definition: spatial/fwd.hpp:52
pinocchio::impl::LhsMultiplicationOp< InertiaTpl< S1, O1 >, ConstraintRevoluteUnalignedTpl< S2, O2 > >::ReturnType
MultiplicationOp< Inertia, Constraint >::ReturnType ReturnType
Definition: joint-revolute-unaligned.hpp:376
pinocchio::traits
Common traits structure to fully define base classes for CRTP.
Definition: fwd.hpp:44
pinocchio::MotionRevoluteUnalignedTpl::angularRate
const Scalar & angularRate() const
Definition: joint-revolute-unaligned.hpp:165
pinocchio::impl::LhsMultiplicationOp< Eigen::MatrixBase< M6Like >, ConstraintRevoluteUnalignedTpl< Scalar, Options > >::Constraint
ConstraintRevoluteUnalignedTpl< Scalar, Options > Constraint
Definition: joint-revolute-unaligned.hpp:413
pinocchio::MultiplicationOp< Eigen::MatrixBase< M6Like >, ConstraintRevoluteUnalignedTpl< Scalar, Options > >::M6LikeCols
SizeDepType< 3 >::ColsReturn< M6Like >::ConstType M6LikeCols
Definition: joint-revolute-unaligned.hpp:399
pinocchio::JointModelRevoluteUnalignedTpl::axis
Vector3 axis
3d main axis of the joint.
Definition: joint-revolute-unaligned.hpp:610
pinocchio::JointModelRevoluteUnalignedTpl::calc_aba
void calc_aba(JointDataDerived &data, const Eigen::MatrixBase< Matrix6Like > &I, const bool update_I) const
Definition: joint-revolute-unaligned.hpp:582
pinocchio::MotionRevoluteUnalignedTpl::axis
const Vector3 & axis() const
Definition: joint-revolute-unaligned.hpp:168
PINOCCHIO_EIGEN_REF_TYPE
#define PINOCCHIO_EIGEN_REF_TYPE(D)
Definition: eigen-macros.hpp:25
pinocchio::traits< ConstraintRevoluteUnalignedTpl< _Scalar, _Options > >::JointMotion
MotionRevoluteUnalignedTpl< Scalar, Options > JointMotion
Definition: joint-revolute-unaligned.hpp:206
pinocchio::JointModelRevoluteUnalignedTpl::hasConfigurationLimit
const std::vector< bool > hasConfigurationLimit() const
Definition: joint-revolute-unaligned.hpp:549
pinocchio::traits< MotionRevoluteUnalignedTpl< _Scalar, _Options > >::Matrix4
Eigen::Matrix< Scalar, 4, 4, Options > Matrix4
Definition: joint-revolute-unaligned.hpp:40
pinocchio::traits< JointModelRevoluteUnalignedTpl< Scalar, Options > >::JointDerived
JointRevoluteUnalignedTpl< Scalar, Options > JointDerived
Definition: joint-revolute-unaligned.hpp:461
pinocchio::ConstraintPrismaticUnalignedTpl
Definition: joint-prismatic-unaligned.hpp:184
pinocchio::traits< JointRevoluteUnalignedTpl< _Scalar, _Options > >::JointDataDerived
JointDataRevoluteUnalignedTpl< Scalar, Options > JointDataDerived
Definition: joint-revolute-unaligned.hpp:436
pinocchio::JointDataRevoluteUnalignedTpl::JointDataRevoluteUnalignedTpl
JointDataRevoluteUnalignedTpl()
Definition: joint-revolute-unaligned.hpp:482
pinocchio::MotionTpl< Scalar, Options >
pinocchio::MotionRevoluteUnalignedTpl::MOTION_TYPEDEF_TPL
EIGEN_MAKE_ALIGNED_OPERATOR_NEW MOTION_TYPEDEF_TPL(MotionRevoluteUnalignedTpl)
dcrba.NV
NV
Definition: dcrba.py:444
dpendulum.NQ
int NQ
Definition: dpendulum.py:8
pinocchio::MultiplicationOp< Eigen::MatrixBase< M6Like >, ConstraintRevoluteUnalignedTpl< Scalar, Options > >::Vector3
Constraint::Vector3 Vector3
Definition: joint-revolute-unaligned.hpp:403
pinocchio::ConstraintRevoluteUnalignedTpl::NV
@ NV
Definition: joint-revolute-unaligned.hpp:246
meshcat-viewer.qs
qs
Definition: meshcat-viewer.py:130
pinocchio::ConstraintForceOp< ConstraintRevoluteUnalignedTpl< Scalar, Options >, ForceDerived >::Vector3
traits< ConstraintRevoluteUnalignedTpl< Scalar, Options > >::Vector3 Vector3
Definition: joint-revolute-unaligned.hpp:226
pinocchio::operator^
MotionDerived::MotionPlain operator^(const MotionDense< MotionDerived > &m1, const MotionPlanarTpl< S2, O2 > &m2)
Definition: joint-planar.hpp:339
pinocchio::impl::LhsMultiplicationOp< InertiaTpl< S1, O1 >, ConstraintRevoluteUnalignedTpl< S2, O2 > >::Inertia
InertiaTpl< S1, O1 > Inertia
Definition: joint-revolute-unaligned.hpp:374
pinocchio::ConstraintRevoluteUnalignedTpl::transpose
TransposeConst transpose() const
Definition: joint-revolute-unaligned.hpp:318
pinocchio::ForceDense::angular
ConstAngularType angular() const
Return the angular part of the force vector.
Definition: force-base.hpp:35
pinocchio::traits< MotionRevoluteUnalignedTpl< _Scalar, _Options > >::AngularType
Vector3 AngularType
Definition: joint-revolute-unaligned.hpp:44
pinocchio::ConstraintRevoluteUnalignedTpl::isEqual
bool isEqual(const ConstraintRevoluteUnalignedTpl &other) const
Definition: joint-revolute-unaligned.hpp:351
pinocchio::JointModelBase::isEqual
bool isEqual(const JointModelBase< OtherDerived > &) const
Definition: joint-model-base.hpp:168
pinocchio::MotionDense::angular
ConstAngularType angular() const
Definition: motion-base.hpp:21
pinocchio::traits< JointRevoluteUnalignedTpl< _Scalar, _Options > >::D_t
Eigen::Matrix< Scalar, NV, NV, Options > D_t
Definition: joint-revolute-unaligned.hpp:445
pinocchio::traits< ConstraintRevoluteUnalignedTpl< _Scalar, _Options > >::Scalar
_Scalar Scalar
Definition: joint-revolute-unaligned.hpp:200
pinocchio
Main pinocchio namespace.
Definition: timings.cpp:28
pinocchio::JointModelRevoluteUnalignedTpl::Base
JointModelBase< JointModelRevoluteUnalignedTpl > Base
Definition: joint-revolute-unaligned.hpp:516
pinocchio::MotionRevoluteUnalignedTpl::setTo
void setTo(MotionDense< Derived > &other) const
Definition: joint-revolute-unaligned.hpp:93
pinocchio::JointModelBase::id
JointIndex id() const
Definition: joint-model-base.hpp:121
pinocchio::ConstraintRevoluteUnalignedTpl::se3ActionInverse
SE3GroupAction< ConstraintRevoluteUnalignedTpl >::ReturnType se3ActionInverse(const SE3Tpl< S1, O1 > &m) const
Definition: joint-revolute-unaligned.hpp:279


pinocchio
Author(s):
autogenerated on Tue Feb 13 2024 03:43:59