pinocchio  3.5.0
A fast and flexible implementation of Rigid Body Dynamics algorithms and their analytical derivatives
data.hpp
1 //
2 // Copyright (c) 2015-2024 CNRS INRIA
3 // Copyright (c) 2015 Wandercraft, 86 rue de Paris 91400 Orsay, France.
4 //
5 
6 #ifndef __pinocchio_multibody_data_hpp__
7 #define __pinocchio_multibody_data_hpp__
8 
9 #include "pinocchio/spatial/fwd.hpp"
10 #include "pinocchio/math/tensor.hpp"
11 
12 #include "pinocchio/spatial/se3.hpp"
13 #include "pinocchio/spatial/force.hpp"
14 #include "pinocchio/spatial/motion.hpp"
15 #include "pinocchio/spatial/inertia.hpp"
16 #include "pinocchio/multibody/fwd.hpp"
17 #include "pinocchio/multibody/joint/joint-generic.hpp"
18 #include "pinocchio/container/aligned-vector.hpp"
19 #include "pinocchio/algorithm/contact-cholesky.hpp"
20 
21 #include "pinocchio/serialization/serializable.hpp"
22 
23 #include <Eigen/Cholesky>
24 #include <Eigen/StdVector>
25 #include <Eigen/src/Core/util/Constants.h>
26 
27 #include <cstddef>
28 #include <set>
29 
30 namespace pinocchio
31 {
32 
33  template<typename _Scalar, int _Options, template<typename, int> class JointCollectionTpl>
34  struct traits<DataTpl<_Scalar, _Options, JointCollectionTpl>>
35  {
36  typedef _Scalar Scalar;
37  };
38 
39  template<typename _Scalar, int _Options, template<typename, int> class JointCollectionTpl>
40  struct DataTpl
41  : serialization::Serializable<DataTpl<_Scalar, _Options, JointCollectionTpl>>
42  , NumericalBase<DataTpl<_Scalar, _Options, JointCollectionTpl>>
43  {
44  EIGEN_MAKE_ALIGNED_OPERATOR_NEW
45 
46  typedef _Scalar Scalar;
47  enum
48  {
49  Options = _Options
50  };
51 
52  typedef JointCollectionTpl<Scalar, Options> JointCollection;
53 
55 
61 
62  typedef pinocchio::Index Index;
63  typedef pinocchio::JointIndex JointIndex;
64  typedef pinocchio::GeomIndex GeomIndex;
65  typedef pinocchio::FrameIndex FrameIndex;
66  typedef std::vector<Index> IndexVector;
67 
70 
71  typedef PINOCCHIO_ALIGNED_STD_VECTOR(JointModel) JointModelVector;
72  typedef PINOCCHIO_ALIGNED_STD_VECTOR(JointData) JointDataVector;
73 
74  typedef Eigen::Matrix<Scalar, Eigen::Dynamic, Eigen::Dynamic, Options> MatrixXs;
75  typedef Eigen::Matrix<Scalar, Eigen::Dynamic, 1, Options> VectorXs;
76  typedef Eigen::Matrix<Scalar, 1, Eigen::Dynamic, Options | Eigen::RowMajor> RowVectorXs;
77  typedef Eigen::Matrix<Scalar, 3, 1, Options> Vector3;
78  typedef Eigen::Matrix<Scalar, 6, 1, Options> Vector6;
79 
80  typedef Eigen::Matrix<Scalar, 6, 1, Options> Vector6c;
81  typedef Eigen::Matrix<Scalar, 1, 6, Eigen::RowMajor | Options> Vector6r;
82 
84  typedef VectorXs ConfigVectorType;
85 
89  typedef VectorXs TangentVectorType;
90 
92  typedef Eigen::Matrix<Scalar, 6, Eigen::Dynamic, Options> Matrix6x;
94  typedef Eigen::Matrix<Scalar, 3, Eigen::Dynamic, Options> Matrix3x;
95 
96  typedef Eigen::Matrix<Scalar, 6, 6, Options> Matrix6;
97  typedef Eigen::Matrix<Scalar, 6, 6, Eigen::RowMajor | Options> RowMatrix6;
98  typedef Eigen::Matrix<Scalar, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor | Options>
99  RowMatrixXs;
100 
102  typedef Eigen::Matrix<Scalar, 6, 10, Options> BodyRegressorType;
103 
106 
107  // TODO Remove when API is stabilized
108  PINOCCHIO_COMPILER_DIAGNOSTIC_PUSH
109  PINOCCHIO_COMPILER_DIAGNOSTIC_IGNORED_DEPRECECATED_DECLARATIONS
111  PINOCCHIO_COMPILER_DIAGNOSTIC_POP
112 
115  JointDataVector joints;
116 
119 
122 
126 
130 
133 
137 
140 
143 
148 
153 
159 
162 
165 
168 
171 
174 
179  VectorXs nle;
180 
184  VectorXs g;
185 
188 
193 
196  PINOCCHIO_ALIGNED_STD_VECTOR(Matrix6) dYcrb; // TODO: change with dense symmetric matrix6
197 
199  MatrixXs M;
200 
202  RowMatrixXs Minv;
203 
205  MatrixXs C;
206 
209 
212 
215 
218 
221 
224 
227 
230 
233 
237 
240 
243 
246 
248  Matrix6 Itmp;
249 
251  Matrix6 M6tmp;
252  RowMatrix6 M6tmpR;
253  RowMatrix6 M6tmpR2;
254 
257 
258  // ABA internal data
261  PINOCCHIO_ALIGNED_STD_VECTOR(Matrix6) Yaba; // TODO: change with dense symmetric matrix6
262 
265  PINOCCHIO_ALIGNED_STD_VECTOR(Matrix6) oYaba; // TODO: change with dense symmetric matrix6
266 
269  PINOCCHIO_ALIGNED_STD_VECTOR(Matrix6)
270  oYaba_contact; // TODO: change with dense symmetric matrix6
271 
273  PINOCCHIO_ALIGNED_STD_VECTOR(Matrix6) oL; // TODO: change with dense symmetric matrix6
274 
276  PINOCCHIO_ALIGNED_STD_VECTOR(Matrix6) oK; // TODO: change with dense symmetric matrix6
277 
279  TangentVectorType u; // Joint Inertia
280 
281  // CCRBA return quantities
285 
286  // dCCRBA return quantities
291 
298 
306 
311 
313  PINOCCHIO_ALIGNED_STD_VECTOR(Matrix6x) Fcrb;
314 
316  std::vector<int> lastChild;
317 
319  std::vector<int> nvSubtree;
320 
322  std::vector<int> start_idx_v_fromRow;
323 
325  std::vector<int> end_idx_v_fromRow;
326 
330 
333  std::vector<JointIndex> mimic_subtree_joint;
334 
337  MatrixXs U;
338 
340  VectorXs D;
341 
344  VectorXs Dinv;
345 
347  VectorXs tmp;
348 
350  std::vector<int> parents_fromRow;
351 
353  std::vector<int> mimic_parents_fromRow;
354 
356  std::vector<int> non_mimic_parents_fromRow;
357 
361  std::vector<std::vector<int>> supports_fromRow;
362 
364  std::vector<int> nvSubtree_fromRow;
365 
375 
378 
381 
385 
389 
392 
395 
398 
401  RowMatrixXs dtau_dq;
402 
404  RowMatrixXs dtau_dv;
405 
408  RowMatrixXs ddq_dq;
409 
412  RowMatrixXs ddq_dv;
413 
416  RowMatrixXs ddq_dtau;
417 
420  MatrixXs dvc_dq;
421  MatrixXs dac_dq;
422  MatrixXs dac_dv;
423  MatrixXs dac_da;
424 
426  MatrixXs osim;
427 
430  MatrixXs dlambda_dq;
431  MatrixXs dlambda_dv;
432  MatrixXs dlambda_dtau;
433  MatrixXs dlambda_dx_prox, drhs_prox;
434 
436  PINOCCHIO_ALIGNED_STD_VECTOR(SE3) iMf;
437 
442  PINOCCHIO_ALIGNED_STD_VECTOR(Vector3) com;
443 
448  PINOCCHIO_ALIGNED_STD_VECTOR(Vector3) vcom;
449 
454  PINOCCHIO_ALIGNED_STD_VECTOR(Vector3) acom;
455 
458  std::vector<Scalar> mass;
459 
465 
468 
471 
474 
475  // Temporary variables used in forward dynamics
476 
478  MatrixXs JMinvJt;
479 
481  Eigen::LLT<MatrixXs> llt_JMinvJt;
482 
485  VectorXs lambda_c;
486 
489  VectorXs lambda_c_prox;
490 
492  VectorXs diff_lambda_c;
493 
495  MatrixXs sDUiJt;
496 
498  VectorXs torque_residual;
499 
502 
505  VectorXs impulse_c;
506 
509 
512 
515 
518 
521 
522  PINOCCHIO_ALIGNED_STD_VECTOR(Matrix6x) KA;
523  PINOCCHIO_ALIGNED_STD_VECTOR(MatrixXs) LA;
524  PINOCCHIO_ALIGNED_STD_VECTOR(VectorXs) lA;
525  PINOCCHIO_ALIGNED_STD_VECTOR(VectorXs) lambdaA;
526  PINOCCHIO_ALIGNED_STD_VECTOR(int) par_cons_ind;
527  PINOCCHIO_ALIGNED_STD_VECTOR(Motion) a_bias;
528  PINOCCHIO_ALIGNED_STD_VECTOR(MatrixXs) KAS;
529  PINOCCHIO_ALIGNED_STD_VECTOR(int) constraint_ind;
530  Eigen::LLT<MatrixXs> osim_llt;
531 
532 #if defined(_MSC_VER)
533  // Eigen tensor warning: Eigen\CXX11\src/Tensor/Tensor.h(76,1): warning C4554: '&': check
534  // operator precedence for possible error
535  #pragma warning(disable : 4554)
536 #endif
537 
540 
541 #if defined(_MSC_VER)
542  #pragma warning(default : 4554) // C4554 enabled after tensor definition
543 #endif
544 
547 
550 
553 
554 #if defined(_MSC_VER)
555  // Eigen tensor warning: Eigen\CXX11\src/Tensor/Tensor.h(76,1): warning C4554: '&': check
556  // operator precedence for possible error
557  #pragma warning(disable : 4554)
558 #endif
559 
563 
567 
571 
577 
578 #if defined(_MSC_VER)
579  #pragma warning(default : 4554) // C4554 enabled after tensor definition
580 #endif
581 
582  PINOCCHIO_ALIGNED_STD_VECTOR(Matrix6)
583  extended_motion_propagator; // Stores force propagator to the base link
584  PINOCCHIO_ALIGNED_STD_VECTOR(Matrix6) extended_motion_propagator2;
585  PINOCCHIO_ALIGNED_STD_VECTOR(Matrix6) spatial_inv_inertia; // Stores spatial inverse inertia
586  PINOCCHIO_ALIGNED_STD_VECTOR(size_t) accumulation_descendant;
587  PINOCCHIO_ALIGNED_STD_VECTOR(size_t) accumulation_ancestor;
588  PINOCCHIO_ALIGNED_STD_VECTOR(int) constraints_supported_dim;
589  PINOCCHIO_ALIGNED_STD_VECTOR(std::set<size_t>) constraints_supported;
590  PINOCCHIO_ALIGNED_STD_VECTOR(size_t) joints_supporting_constraints;
591  PINOCCHIO_ALIGNED_STD_VECTOR(size_t) accumulation_joints;
592  PINOCCHIO_ALIGNED_STD_VECTOR(std::vector<size_t>) constraints_on_joint;
593 
599  explicit DataTpl(const Model & model);
600 
605  {
606  }
607 
608  private:
609  void computeLastChild(const Model & model);
610  void computeParents_fromRow(const Model & model);
611  void computeSupports_fromRow(const Model & model);
612  };
613 
614 } // namespace pinocchio
615 
616 /* --- Details -------------------------------------------------------------- */
617 /* --- Details -------------------------------------------------------------- */
618 /* --- Details -------------------------------------------------------------- */
619 #include "pinocchio/multibody/data.hxx"
620 
621 #if PINOCCHIO_ENABLE_TEMPLATE_INSTANTIATION
622  #include "pinocchio/multibody/data.txx"
623 #endif // PINOCCHIO_ENABLE_TEMPLATE_INSTANTIATION
624 
625 #endif // ifndef __pinocchio_multibody_data_hpp__
Main pinocchio namespace.
Definition: treeview.dox:11
MatrixXs M
The joint space inertia matrix (a square matrix of dim model.nv).
Definition: data.hpp:199
PINOCCHIO_ALIGNED_STD_VECTOR(Force) of_augmented
Vector of body forces expressed in the world frame. For each body, the force represents the sum of al...
Tensor3x d2tau_dvdv
SO Partial derivative of the joint torque vector with respect to the joint velocity.
Definition: data.hpp:566
RowVectorXs kineticEnergyRegressor
Matrix related to kinetic energy regressor.
Definition: data.hpp:517
MatrixXs JMinvJt
Inverse of the operational-space inertia matrix.
Definition: data.hpp:478
Scalar potential_energy
Potential energy of the system.
Definition: data.hpp:470
Matrix6x dFda
Variation of the forceset with respect to the joint acceleration.
Definition: data.hpp:217
Inertia Ig
Centroidal Composite Rigid Body Inertia.
Definition: data.hpp:310
Matrix6x dFdv
Variation of the forceset with respect to the joint velocity.
Definition: data.hpp:214
Matrix6x IS
Used in computeMinverse.
Definition: data.hpp:226
MatrixXs osim
Operational space inertia matrix;.
Definition: data.hpp:426
PINOCCHIO_ALIGNED_STD_VECTOR(Motion) oa_gf
Vector of joint accelerations expressed at the origin of the world including the gravity contribution...
PINOCCHIO_ALIGNED_STD_VECTOR(Force) h
Vector of spatial momenta expressed in the local frame of the joint.
std::vector< int > nvSubtree
Dimension of the subtree motion space (for CRBA)
Definition: data.hpp:319
PINOCCHIO_ALIGNED_STD_VECTOR(Motion) a_gf
Vector of joint accelerations due to the gravity field.
VectorXs primal_rhs_contact
Primal RHS in contact dynamic equations.
Definition: data.hpp:552
VectorXs diff_lambda_c
Difference between two consecutive iterations of the proxy algorithm.
Definition: data.hpp:492
MatrixXs jointTorqueRegressor
Matrix related to joint torque regressor.
Definition: data.hpp:514
Scalar mechanical_energy
Mechanical energy of the system.
Definition: data.hpp:473
std::vector< int > lastChild
Index of the last child (for CRBA)
Definition: data.hpp:316
Matrix6x Ag
Centroidal Momentum Matrix.
Definition: data.hpp:284
PINOCCHIO_ALIGNED_STD_VECTOR(Inertia) Ycrb
Vector of sub-tree composite rigid body inertias, i.e. the apparent inertia of the subtree supported ...
TangentVectorType u
Intermediate quantity corresponding to apparent torque [ABA].
Definition: data.hpp:279
DataTpl()
Default constructor.
Definition: data.hpp:604
oYaba_contact
Articulated Body Inertia matrix with contact apparent inertia, of a given the subtree and expressed i...
Definition: data.hpp:270
VectorXs torque_residual
Temporary corresponding to the residual torque .
Definition: data.hpp:498
Tensor3x d2tau_dqdq
SO Partial derivative of the joint torque vector with respect to the joint configuration.
Definition: data.hpp:562
Tensor< Scalar, 3, Options > Tensor3x
&#160;
Definition: data.hpp:105
Tensor3x d2tau_dqdv
SO Cross-Partial derivative of the joint torque vector with respect to the joint configuration/veloci...
Definition: data.hpp:570
Matrix6x dHdq
Variation of the spatial momenta set with respect to the joint configuration.
Definition: data.hpp:208
VectorXs lambda_c
Lagrange Multipliers corresponding to the contact forces in pinocchio::forwardDynamics.
Definition: data.hpp:485
PINOCCHIO_ALIGNED_STD_VECTOR(Matrix6) B
Combined variations of the inertia matrix consistent with Christoffel symbols.
MatrixXs dlambda_dq
Partial derivatives of the constraints forces with respect to the joint configuration,...
Definition: data.hpp:430
Tensor3x d2tau_dadq
SO Cross-Partial derivative of the joint torque vector with respect to the joint acceleration/configu...
Definition: data.hpp:576
RowMatrixXs dtau_dv
Partial derivative of the joint torque vector with respect to the joint velocity.
Definition: data.hpp:404
PINOCCHIO_ALIGNED_STD_VECTOR(Matrix6) dYcrb
Vector of sub-tree composite rigid body inertia time derivatives . See Data::Ycrb for more details.
VectorXs Dinv
Diagonal inverse of the joint space inertia matrix obtained by a Cholesky Decomposition.
Definition: data.hpp:344
VectorXs D
Diagonal of the joint space inertia matrix obtained by a Cholesky Decomposition.
Definition: data.hpp:340
VectorXs impulse_c
Lagrange Multipliers corresponding to the contact impulses in pinocchio::impulseDynamics.
Definition: data.hpp:505
Matrix6x dAdv
Variation of the spatial acceleration set with respect to the joint velocity.
Definition: data.hpp:397
std::vector< int > end_idx_v_fromRow
End index of the Joint motion subspace.
Definition: data.hpp:325
PINOCCHIO_ALIGNED_STD_VECTOR(Force) oh
Vector of spatial momenta expressed at the origin of the world.
Matrix6x dVdq
Variation of the spatial velocity set with respect to the joint configuration.
Definition: data.hpp:391
Matrix6 Itmp
Temporary for derivative algorithms.
Definition: data.hpp:248
PINOCCHIO_ALIGNED_STD_VECTOR(Motion) v
Vector of joint velocities expressed in the local frame of the joint.
VectorXs g
Vector of generalized gravity (dim model.nv).
Definition: data.hpp:184
PINOCCHIO_ALIGNED_STD_VECTOR(Matrix6) oYaba
Articulated Body Inertia matrix of the subtree expressed in the WORLD coordinate frame.
MatrixXs sDUiJt
Temporary corresponding to .
Definition: data.hpp:495
DataTpl(const Model &model)
Default constructor of pinocchio::Data from a pinocchio::Model.
std::vector< int > non_mimic_parents_fromRow
First previous non-zero row belonging to a non mimic joint in M (used in Jacobian).
Definition: data.hpp:356
PINOCCHIO_ALIGNED_STD_VECTOR(Motion) oa
Vector of joint accelerations expressed at the origin of the world.
VectorXs TangentVectorType
Dense vectorized version of a joint tangent vector (e.g. velocity, acceleration, etc)....
Definition: data.hpp:89
VectorXs lambda_c_prox
Proximal Lagrange Multipliers used in the computation of the Forward Dynamics computations.
Definition: data.hpp:489
std::vector< int > parents_fromRow
First previous non-zero row in M (used in Cholesky Decomposition).
Definition: data.hpp:350
TangentVectorType tau
Vector of joint torques (dim model.nv).
Definition: data.hpp:173
PINOCCHIO_ALIGNED_STD_VECTOR(SE3) liMi
Vector of relative joint placements (wrt the body parent).
Eigen::LLT< MatrixXs > llt_JMinvJt
Cholesky decompostion of .
Definition: data.hpp:481
Eigen::Matrix< Scalar, 6, 10, Options > BodyRegressorType
The type of the body regressor.
Definition: data.hpp:102
Eigen::Matrix< Scalar, 6, Eigen::Dynamic, Options > Matrix6x
The 6d jacobian type (temporary)
Definition: data.hpp:92
PINOCCHIO_ALIGNED_STD_VECTOR(Inertia) oinertias
Rigid Body Inertia supported by the joint expressed in the world frame.
Matrix6x dFdq
Variation of the forceset with respect to the joint configuration.
Definition: data.hpp:211
Matrix3x Jcom
Jacobian of center of mass.
Definition: data.hpp:464
std::vector< int > mimic_parents_fromRow
First previous non-zero row belonging to a mimic joint in M (used in Jacobian).
Definition: data.hpp:353
RowMatrixXs ddq_dtau
Partial derivative of the joint acceleration vector with respect to the joint torques.
Definition: data.hpp:416
RowVectorXs potentialEnergyRegressor
Matrix related to potential energy regressor.
Definition: data.hpp:520
PINOCCHIO_ALIGNED_STD_VECTOR(Motion) oa_drift
Vector of joint accelerations expressed at the origin of the world. These accelerations are used in t...
RowMatrixXs ddq_dv
Partial derivative of the joint acceleration vector with respect to the joint velocity.
Definition: data.hpp:412
std::vector< int > nvSubtree_fromRow
Subtree of the current row index (used in Cholesky Decomposition).
Definition: data.hpp:364
TangentVectorType ddq
The joint accelerations computed from ABA.
Definition: data.hpp:256
std::vector< std::vector< int > > supports_fromRow
Each element of this vector corresponds to the ordered list of indexes belonging to the supporting tr...
Definition: data.hpp:361
PINOCCHIO_ALIGNED_STD_VECTOR(SE3) oMi
Vector of absolute joint placements (wrt the world).
TangentVectorType dq_after
Generalized velocity after impact.
Definition: data.hpp:501
RowMatrixXs dtau_dq
Partial derivative of the joint torque vector with respect to the joint configuration.
Definition: data.hpp:401
MatrixXs dvc_dq
Stack of partial derivative of the contact frame acceleration with respect to the joint parameters.
Definition: data.hpp:420
std::vector< int > idx_vExtended_to_idx_v_fromRow
Extended model mapping of the joint rows (idx_vExtended_to_idx_v_fromRow[idx_vExtended] = idx_v)
Definition: data.hpp:329
MatrixXs U
Joint space inertia matrix square root (upper triangular part) computed with a Cholesky Decomposition...
Definition: data.hpp:337
Force hg
Centroidal momentum quantity.
Definition: data.hpp:297
PINOCCHIO_ALIGNED_STD_VECTOR(Matrix6) doYcrb
Time variation of Composite Rigid Body Inertia expressed in the world frame.
Scalar kinetic_energy
Kinetic energy of the system.
Definition: data.hpp:467
Matrix6x psidd
psiddot Second Derivative of Jacobian w.r.t to the parent body moving a(p(j)) x Sj + v(p(j)) x psidj
Definition: data.hpp:388
Matrix6x SDinv
Used in computeMinverse.
Definition: data.hpp:220
Tensor3x kinematic_hessians
Tensor containing the kinematic Hessian of all the joints.
Definition: data.hpp:539
PINOCCHIO_ALIGNED_STD_VECTOR(Force) f
Vector of body forces expressed in the local frame of the joint. For each body, the force represents ...
PINOCCHIO_ALIGNED_STD_VECTOR(Matrix6) Ivx
Left variation of the inertia matrix.
Matrix6 M6tmp
Temporary for derivative algorithms.
Definition: data.hpp:251
ContactCholeskyDecomposition contact_chol
Cholesky decomposition of the KKT contact matrix.
Definition: data.hpp:546
PINOCCHIO_COMPILER_DIAGNOSTIC_POP JointDataVector joints
Vector of pinocchio::JointData associated to the pinocchio::JointModel stored in model,...
Definition: data.hpp:115
std::vector< Scalar > mass
Vector of subtree mass. In other words, mass[j] is the mass of the subtree supported by joint ....
Definition: data.hpp:458
Matrix6x dAg
Centroidal Momentum Matrix Time Variation.
Definition: data.hpp:290
VectorXs primal_dual_contact_solution
RHS vector when solving the contact dynamics KKT problem.
Definition: data.hpp:549
PINOCCHIO_ALIGNED_STD_VECTOR(Motion) ov
Vector of joint velocities expressed at the origin of the world.
Force dhg
Centroidal momentum time derivative.
Definition: data.hpp:305
std::vector< JointIndex > mimic_subtree_joint
Store the index of the first non mimic child of each mimic joint (for CRBA). Store 0 if there is no n...
Definition: data.hpp:333
Matrix6x J
Jacobian of joint placements.
Definition: data.hpp:374
Matrix6x psid
psidot Derivative of Jacobian w.r.t to the parent body moving v(p(j)) x Sj
Definition: data.hpp:384
RowMatrixXs Minv
The inverse of the joint space inertia matrix (a square matrix of dim model.nv).
Definition: data.hpp:202
VectorXs nle
Vector of Non Linear Effects (dim model.nv). It corresponds to concatenation of the Coriolis,...
Definition: data.hpp:179
Eigen::Matrix< Scalar, 3, Eigen::Dynamic, Options > Matrix3x
The 3d jacobian type (temporary)
Definition: data.hpp:94
PINOCCHIO_ALIGNED_STD_VECTOR(Force) of
Vector of body forces expressed at the origin of the world. For each body, the force represents the s...
Matrix6x dJ
Derivative of the Jacobian with respect to the time.
Definition: data.hpp:377
MatrixXs C
The Coriolis matrix (a square matrix of dim model.nv).
Definition: data.hpp:205
VectorXs ConfigVectorType
Dense vectorized version of a joint configuration vector.
Definition: data.hpp:84
PINOCCHIO_ALIGNED_STD_VECTOR(Motion) oa_augmented
Vector of joint accelerations expressed at the origin of the world. These accelerations are used in t...
std::vector< int > start_idx_v_fromRow
Starting index of the Joint motion subspace.
Definition: data.hpp:322
VectorXs tmp
Temporary of size NV used in Cholesky Decomposition.
Definition: data.hpp:347
PINOCCHIO_ALIGNED_STD_VECTOR(Motion) a
Vector of joint accelerations expressed in the local frame of the joint.
PINOCCHIO_ALIGNED_STD_VECTOR(SE3) oMf
Vector of absolute operationnel frame placements (wrt the world).
Matrix6x UDinv
Used in computeMinverse.
Definition: data.hpp:223
RowMatrixXs ddq_dq
Partial derivative of the joint acceleration vector with respect to the joint configuration.
Definition: data.hpp:408
Matrix3x staticRegressor
Matrix related to static regressor.
Definition: data.hpp:508
BodyRegressorType bodyRegressor
Body regressor.
Definition: data.hpp:511
PINOCCHIO_ALIGNED_STD_VECTOR(Matrix6) vxI
Right variation of the inertia matrix.
PINOCCHIO_ALIGNED_STD_VECTOR(Matrix6) Yaba
Articulated Body Inertia matrix of the subtree expressed in the LOCAL coordinate frame of the joint.
Matrix6x ddJ
Second derivative of the Jacobian with respect to the time.
Definition: data.hpp:380
Matrix6x dAdq
Variation of the spatial acceleration set with respect to the joint configuration.
Definition: data.hpp:394
PINOCCHIO_ALIGNED_STD_VECTOR(Inertia) oYcrb
Composite Rigid Body Inertia expressed in the world frame.
A Plucker coordinate frame attached to a parent joint inside a kinematic tree.
Definition: frame.hpp:56
Common traits structure to fully define base classes for CRTP.
Definition: fwd.hpp:72