IDIM.h
Go to the documentation of this file.
1 /*
2  * Copyright 2012-2019 CNRS-UM LIRMM, CNRS-AIST JRL
3  */
4 
5 #pragma once
6 
7 // includes
8 // std
9 #include <vector>
10 
11 // SpaceVecAlg
12 #include <rbdyn/config.hh>
13 
14 #include <SpaceVecAlg/SpaceVecAlg>
15 
16 namespace rbd
17 {
18 class MultiBody;
19 struct MultiBodyConfig;
20 
22 RBDYN_DLLAPI Eigen::Matrix<double, 6, 10> IMPhi(const sva::MotionVecd & mv);
23 
29 RBDYN_DLLAPI Eigen::Matrix<double, 10, 1> inertiaToVector(const sva::RBInertiad & rbi);
30 
32 RBDYN_DLLAPI sva::RBInertiad vectorToInertia(const Eigen::Matrix<double, 10, 1> & vec);
33 
38 RBDYN_DLLAPI sva::RBInertiad sVectorToInertia(const Eigen::VectorXd & vec);
39 
43 RBDYN_DLLAPI Eigen::VectorXd multiBodyToInertialVector(const rbd::MultiBody & mb);
44 
58 class RBDYN_DLLAPI IDIM
59 {
60 public:
61  IDIM() {}
63  IDIM(const rbd::MultiBody & mb);
64 
71  void computeY(const rbd::MultiBody & mb, const rbd::MultiBodyConfig & mbc);
72 
74  const Eigen::MatrixXd & Y() const
75  {
76  return Y_;
77  }
78 
79  // safe version for python binding
80 
84  void sComputeY(const rbd::MultiBody & mb, const rbd::MultiBodyConfig & mbc);
85 
86 private:
87  Eigen::MatrixXd Y_;
88 };
89 
90 } // namespace rbd
rbd::IMPhi
RBDYN_DLLAPI Eigen::Matrix< double, 6, 10 > IMPhi(const sva::MotionVecd &mv)
Return the IMPhi matrix that compute I*m = IMPhi(m)*phi_i.
rbd::inertiaToVector
RBDYN_DLLAPI Eigen::Matrix< double, 10, 1 > inertiaToVector(const sva::RBInertiad &rbi)
rbd::vectorToInertia
RBDYN_DLLAPI sva::RBInertiad vectorToInertia(const Eigen::Matrix< double, 10, 1 > &vec)
Convert a phi vector into a RBInertiad.
rbd::IDIM
Definition: IDIM.h:58
rbd::MultiBody
Definition: MultiBody.h:29
rbd::sVectorToInertia
RBDYN_DLLAPI sva::RBInertiad sVectorToInertia(const Eigen::VectorXd &vec)
rbd::multiBodyToInertialVector
RBDYN_DLLAPI Eigen::VectorXd multiBodyToInertialVector(const rbd::MultiBody &mb)
rbd
Definition: common.h:20
rbd::MultiBodyConfig
Definition: MultiBodyConfig.h:23
rbd::IDIM::IDIM
IDIM()
Definition: IDIM.h:61
rbd::IDIM::Y
const Eigen::MatrixXd & Y() const
Return the Y matrix.
Definition: IDIM.h:74