19 #ifndef __se3_data_hpp__ 20 #define __se3_data_hpp__ 22 #include "pinocchio/spatial/fwd.hpp" 23 #include "pinocchio/spatial/se3.hpp" 24 #include "pinocchio/spatial/force.hpp" 25 #include "pinocchio/spatial/motion.hpp" 26 #include "pinocchio/spatial/inertia.hpp" 27 #include "pinocchio/multibody/fwd.hpp" 28 #include "pinocchio/multibody/frame.hpp" 29 #include "pinocchio/multibody/joint/joint.hpp" 30 #include "pinocchio/deprecated.hh" 31 #include "pinocchio/utils/string-generator.hpp" 32 #include "pinocchio/container/aligned-vector.hpp" 35 #include <Eigen/Cholesky> 42 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
45 typedef Eigen::Matrix<double,6,Eigen::Dynamic>
Matrix6x;
47 typedef Eigen::Matrix<double,3,Eigen::Dynamic>
Matrix3x;
48 typedef SE3::Vector3 Vector3;
50 typedef Eigen::Matrix<double,6,6,Eigen::RowMajor> RowMatrix6;
51 typedef Eigen::Matrix<double,Eigen::Dynamic,Eigen::Dynamic,Eigen::RowMajor> RowMatrixXd;
293 Matrix3x staticRegressor;
303 void computeLastChild(
const Model& model);
304 void computeParents_fromRow(
const Model& model);
313 #include "pinocchio/multibody/data.hxx" 315 #endif // ifndef __se3_data_hpp__ Eigen::VectorXd tau
Vector of joint torques (dim model.nv).
container::aligned_vector< Force > oh
Vector of spatial momenta expressed in the world frame.
Matrix6x Ag
Centroidal Momentum Matrix.
double potential_energy
Potential energy of the model.
Inertia Ig
Centroidal Composite Rigid Body Inertia.
container::aligned_vector< Motion > a
Vector of joint accelerations expressed at the centers of the joints.
Matrix3x Jcom
Jacobien of center of mass.
container::aligned_vector< Eigen::Vector3d > vcom
Vector of subtree center of mass linear velocities expressed in the root joint of the subtree...
std::vector< int > nvSubtree
Dimension of the subtree motion space (for CRBA)
container::aligned_vector< Inertia > oYcrb
Inertia quantities expressed in the world frame.
Data(const Model &model)
Default constructor of se3::Data from a se3::Model.
container::aligned_vector< SE3 > iMf
Vector of joint placements wrt to algorithm end effector.
Eigen::VectorXd u
Intermediate quantity corresponding to apparent torque [ABA].
Eigen::VectorXd g
Vector of generalized gravity (dim model.nv).
Eigen::MatrixXd dtau_dv
Partial derivative of the joint torque vector with respect to the joint velocity. ...
Matrix6x dAdq
Variation of the spatial acceleration set with respect to the joint configuration.
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef Eigen::Matrix< double, 6, Eigen::Dynamic > Matrix6x
The 6d jacobian type (temporary)
container::aligned_vector< Inertia::Matrix6 > vxI
Right variation of the inertia matrix.
container::aligned_vector< Inertia > Ycrb
Vector of sub-tree composite rigid body inertias, i.e. the apparent inertia of the subtree supported ...
Matrix6x J
Jacobian of joint placements.
container::aligned_vector< Motion > oa
Vector of joint accelerations expressed at the origin.
Matrix6x dAg
Centroidal Momentum Matrix Time Variation.
Eigen::LLT< Eigen::MatrixXd > llt_JMinvJt
Cholesky decompostion of .
Eigen::VectorXd Dinv
Diagonal inverse of the joint space intertia matrix obtained by a Cholesky Decomposition.
container::aligned_vector< Inertia::Matrix6 > doYcrb
Time variation of the inertia quantities expressed in the world frame.
Matrix6x dVdq
Variation of the spatial velocity set with respect to the joint configuration.
Force hg
Centroidal momentum quantity.
double kinetic_energy
Kinetic energy of the model.
Eigen::MatrixXd ddq_dv
Partial derivative of the joint acceleration vector with respect to the joint velocity.
Eigen::VectorXd lambda_c
Lagrange Multipliers corresponding to the contact forces in se3::forwardDynamics. ...
Matrix6x dFdv
Variation of the forceset with respect to the joint velocity.
Eigen::VectorXd D
Diagonal of the joint space intertia matrix obtained by a Cholesky Decomposition. ...
container::aligned_vector< Eigen::Vector3d > acom
Vector of subtree center of mass linear accelerations expressed in the root joint of the subtree...
Eigen::VectorXd ddq
The joint accelerations computed from ABA.
Eigen::VectorXd torque_residual
Temporary corresponding to the residual torque .
container::aligned_vector< Force > of
Vector of body forces expressed in the world frame. For each body, the force represents the sum of al...
container::aligned_vector< Inertia::Matrix6 > Ivx
Left variation of the inertia matrix.
std::vector< int > nvSubtree_fromRow
Subtree of the current row index (used in Cholesky Decomposition).
Eigen::VectorXd impulse_c
Lagrange Multipliers corresponding to the contact impulses in se3::impulseDynamics.
Eigen::MatrixXd JMinvJt
Inverse of the operational-space inertia matrix.
Inertia::Matrix6 Itmp
Temporary for derivative algorithms.
Matrix6x dAdv
Variation of the spatial acceleration set with respect to the joint velocity.
Matrix6x UDinv
Used in computeMinverse.
Matrix6x dFdq
Variation of the forceset with respect to the joint configuration.
Matrix6x SDinv
Used in computeMinverse.
container::aligned_vector< Inertia::Matrix6 > Yaba
Inertia matrix of the subtree expressed as dense matrix [ABA].
container::aligned_vector< Motion > ov
Vector of joint velocities expressed at the origin.
container::aligned_vector< Matrix6x > Fcrb
Spatial forces set, used in CRBA and CCRBA.
Eigen::VectorXd nle
Vector of Non Linear Effects (dim model.nv). It corresponds to concatenation of the Coriolis...
Matrix6x dJ
Derivative of the Jacobian with respect to the time.
Matrix6x IS
Used in computeMinverse.
container::aligned_vector< Motion > a_gf
Vector of joint accelerations due to the gravity field.
container::aligned_vector< Eigen::Vector3d > com
Vector of subtree center of mass positions expressed in the root joint of the subtree. In other words, com[j] is the CoM position of the subtree supported by joint and expressed in the joint frame . The element com[0] corresponds to the center of mass position of the whole model and expressed in the global frame.
JointDataVector joints
Vector of se3::JointData associated to the se3::JointModel stored in model, encapsulated in JointData...
Eigen::VectorXd dq_after
Generalized velocity after impact.
Eigen::MatrixXd M
The joint space inertia matrix (a square matrix of dim model.nv).
Eigen::MatrixXd U
Joint space intertia matrix square root (upper trianglular part) computed with a Cholesky Decompositi...
Eigen::MatrixXd ddq_dq
Partial derivative of the joint acceleration vector with respect to the joint configuration.
container::aligned_vector< SE3 > oMf
Vector of absolute operationnel frame placements (wrt the world).
container::aligned_vector< SE3 > liMi
Vector of relative joint placements (wrt the body parent).
container::aligned_vector< Inertia::Matrix6 > dYcrb
Vector of sub-tree composite rigid body inertia time derivatives . See Data::Ycrb for more details...
container::aligned_vector< SE3 > oMi
Vector of absolute joint placements (wrt the world).
Eigen::Matrix< double, 3, Eigen::Dynamic > Matrix3x
The 3d jacobian type (temporary)
Eigen::MatrixXd sDUiJt
Temporary corresponding to .
RowMatrixXd Minv
The inverse of the joint space inertia matrix (a square matrix of dim model.nv).
container::aligned_vector< Force > f
Vector of body forces expressed in the local frame of the joint. For each body, the force represents ...
RowMatrix6 M6tmpR
Temporary for derivative algorithms.
std::vector< int > parents_fromRow
First previous non-zero row in M (used in Cholesky Decomposition).
Eigen::MatrixXd dtau_dq
Partial derivative of the joint torque vector with respect to the joint configuration.
Eigen::VectorXd tmp
Temporary of size NV used in Cholesky Decomposition.
container::aligned_vector< Motion > v
Vector of joint velocities expressed at the centers of the joints.
container::aligned_vector< Force > h
Vector of spatial momenta expressed in the local frame of the joint.
std::vector< double > mass
Vector of subtree mass. In other words, mass[j] is the mass of the subtree supported by joint ...
Matrix6x dFda
Variation of the forceset with respect to the joint acceleration.
Eigen::MatrixXd C
The Coriolis matrix (a square matrix of dim model.nv).
std::vector< int > lastChild
Index of the last child (for CRBA)