18 #ifndef __se3_center_of_mass_hpp__ 19 #define __se3_center_of_mass_hpp__ 21 #include "pinocchio/multibody/visitor.hpp" 22 #include "pinocchio/multibody/model.hpp" 23 #include "pinocchio/multibody/data.hpp" 24 #include "pinocchio/algorithm/kinematics.hpp" 40 inline const SE3::Vector3 &
42 const Eigen::VectorXd & q,
43 const bool computeSubtreeComs =
true);
58 inline const SE3::Vector3 &
60 const Eigen::VectorXd & q,
61 const Eigen::VectorXd & v,
62 const bool computeSubtreeComs =
true);
78 inline const SE3::Vector3 &
80 const Eigen::VectorXd & q,
81 const Eigen::VectorXd & v,
82 const Eigen::VectorXd & a,
83 const bool computeSubtreeComs =
true);
98 template<
bool do_position,
bool do_velocity,
bool do_acceleration>
99 inline void centerOfMass(
const Model & model, Data & data,
100 const bool computeSubtreeComs =
true);
112 const bool computeSubtreeComs)
113 { centerOfMass<true,true,true>(model,data,computeSubtreeComs); }
130 const Eigen::VectorXd & q,
131 const bool computeSubtreeComs =
true,
132 const bool updateKinematics =
true);
146 inline const SE3::Vector3 &
168 #include "pinocchio/algorithm/center-of-mass.hxx" 170 #endif // ifndef __se3_center_of_mass_hpp__
const SE3::Vector3 & getComFromCrba(const Model &model, Data &data)
Extracts the center of mass position from the joint space inertia matrix (also called the mass matrix...
const Data::Matrix3x & getJacobianComFromCrba(const Model &model, Data &data)
Extracts both the jacobian of the center of mass (CoM), the total mass of the system and the CoM posi...
const Data::Matrix3x & jacobianCenterOfMass(const Model &model, Data &data, const Eigen::VectorXd &q, const bool computeSubtreeComs=true, const bool updateKinematics=true)
Computes both the jacobian and the the center of mass position of a given model according to a partic...
const SE3::Vector3 & centerOfMass(const Model &model, Data &data, const Eigen::VectorXd &q, const bool computeSubtreeComs=true)
Computes the center of mass position of a given model according to a particular joint configuration...
Eigen::Matrix< double, 3, Eigen::Dynamic > Matrix3x
The 3d jacobian type (temporary)