matrix-inertia.h
Go to the documentation of this file.
1 /*
2  * Copyright 2010,
3  * François Bleibel,
4  * Olivier Stasse,
5  *
6  * CNRS/AIST
7  *
8  */
9 
10 #ifndef __SOT_SOTMATRIXINERTIA_H__
11 #define __SOT_SOTMATRIXINERTIA_H__
12 
13 #include <ostream>
15 
17 
18 /* --------------------------------------------------------------------- */
19 /* --- API ------------------------------------------------------------- */
20 /* --------------------------------------------------------------------- */
21 
22 #if defined(WIN32)
23 #if defined(matrix_inertia_EXPORTS)
24 #define SOTMATRIXINERTIA_EXPORT __declspec(dllexport)
25 #else
26 #define SOTMATRIXINERTIA_EXPORT __declspec(dllimport)
27 #endif
28 #else
29 #define SOTMATRIXINERTIA_EXPORT
30 #endif
31 
32 namespace dynamicgraph {
33 namespace sot {
34 namespace dg = dynamicgraph;
35 
36 /* -------------------------------------------------------------------------- */
37 /* -------------------------------------------------------------------------- */
38 /* -------------------------------------------------------------------------- */
40  public:
41  private:
42  MatrixInertia(void) {}
43 
44  void initParents(void);
45  void initDofTable(void);
46 
47  public:
48  MatrixInertia(CjrlHumanoidDynamicRobot* aHDR);
49  ~MatrixInertia(void);
50  void init(CjrlHumanoidDynamicRobot* aHDR);
51 
52  public:
53  void update(void);
54  void computeInertiaMatrix();
55  void getInertiaMatrix(double* A);
56  const maal::boost::Matrix& getInertiaMatrix(void);
57  size_t getDoF() { return joints_.size(); }
58 
59  private:
60  CjrlHumanoidDynamicRobot* aHDR_;
61  dynamicsJRLJapan::HumanoidDynamicMultiBody* aHDMB_;
62  std::vector<CjrlJoint*> joints_;
63  std::vector<int> parentIndex_;
64 
65  std::vector<dynamicgraph::Matrix> Ic;
66  std::vector<dynamicgraph::Vector> phi;
67  std::vector<MatrixTwist> iVpi;
68  std::vector<MatrixForce> iVpiT;
70 };
71 
72 } /* namespace sot */
73 } /* namespace dynamicgraph */
74 
75 #endif // __SOT_SOTMATRIXINERTIA_H__
dynamicgraph::sot::MatrixInertia::inertia_
dynamicgraph::Matrix inertia_
Definition: matrix-inertia.h:69
init
void init(bool compute_local_aabb=true)
dynamicgraph
matrix-geometry.hh
SOTMATRIXINERTIA_EXPORT
#define SOTMATRIXINERTIA_EXPORT
Definition: matrix-inertia.h:29
dynamicgraph::sot::MatrixInertia::iVpiT
std::vector< MatrixForce > iVpiT
Definition: matrix-inertia.h:68
dynamicgraph::Matrix
Eigen::MatrixXd Matrix
dynamicgraph::sot::MatrixInertia::aHDR_
CjrlHumanoidDynamicRobot * aHDR_
Definition: matrix-inertia.h:60
dynamicgraph::sot::MatrixInertia::MatrixInertia
MatrixInertia(void)
Definition: matrix-inertia.h:42
dynamicgraph::sot::MatrixInertia::aHDMB_
dynamicsJRLJapan::HumanoidDynamicMultiBody * aHDMB_
Definition: matrix-inertia.h:61
dynamicgraph::sot::MatrixInertia::joints_
std::vector< CjrlJoint * > joints_
Definition: matrix-inertia.h:62
update
AABB & update(const Vec3f &a, const Vec3f &b)
dynamicgraph::sot::MatrixInertia
Definition: matrix-inertia.h:39
linear-algebra.h
dynamicgraph::sot::MatrixInertia::getDoF
size_t getDoF()
Definition: matrix-inertia.h:57
dynamicgraph::sot::MatrixInertia::parentIndex_
std::vector< int > parentIndex_
Definition: matrix-inertia.h:63
dynamicgraph::sot::MatrixInertia::Ic
std::vector< dynamicgraph::Matrix > Ic
Definition: matrix-inertia.h:65
dynamicgraph::sot::MatrixInertia::iVpi
std::vector< MatrixTwist > iVpi
Definition: matrix-inertia.h:67
dynamicgraph::sot::MatrixInertia::phi
std::vector< dynamicgraph::Vector > phi
Definition: matrix-inertia.h:66
sot
Definition: zmp-from-forces.cpp:11


sot-dynamic-pinocchio
Author(s): Olivier Stasse
autogenerated on Fri Jul 28 2023 02:10:01