- 3.0.2 models module.
inertia_properties.h
Go to the documentation of this file.
1 #ifndef IIT_ROBOT_CT_HYA_INERTIA_PROPERTIES_H_
2 #define IIT_ROBOT_CT_HYA_INERTIA_PROPERTIES_H_
3 
4 #include <Eigen/Dense>
5 #include <Eigen/StdVector>
6 #include <iit/rbd/rbd.h>
8 #include <iit/rbd/utils.h>
10 
11 #include "declarations.h"
12 
13 namespace iit {
14 namespace ct_HyA {
19 namespace dyn {
20 
22 
23 namespace tpl{
24 
25 template<typename TRAIT>
27  public:
28  EIGEN_MAKE_ALIGNED_OPERATOR_NEW
29 
30  typedef typename TRAIT::Scalar SCALAR;
31 
33  typedef Eigen::Matrix<SCALAR, 3, 1> Vec3d;
34 
37  const IMatrix& getTensor_Shoulder_AA() const;
38  const IMatrix& getTensor_Shoulder_FE() const;
39  const IMatrix& getTensor_Humerus_R() const;
40  const IMatrix& getTensor_Elbow_FE() const;
41  const IMatrix& getTensor_Wrist_R() const;
42  const IMatrix& getTensor_Wrist_FE() const;
43  SCALAR getMass_Shoulder_AA() const;
44  SCALAR getMass_Shoulder_FE() const;
45  SCALAR getMass_Humerus_R() const;
46  SCALAR getMass_Elbow_FE() const;
47  SCALAR getMass_Wrist_R() const;
48  SCALAR getMass_Wrist_FE() const;
49  const Vec3d& getCOM_Shoulder_AA() const;
50  const Vec3d& getCOM_Shoulder_FE() const;
51  const Vec3d& getCOM_Humerus_R() const;
52  const Vec3d& getCOM_Elbow_FE() const;
53  const Vec3d& getCOM_Wrist_R() const;
54  const Vec3d& getCOM_Wrist_FE() const;
55  SCALAR getTotalMass() const;
56 
57  private:
58 
59  IMatrix tensor_Shoulder_AA;
60  IMatrix tensor_Shoulder_FE;
61  IMatrix tensor_Humerus_R;
62  IMatrix tensor_Elbow_FE;
63  IMatrix tensor_Wrist_R;
64  IMatrix tensor_Wrist_FE;
65  Vec3d com_Shoulder_AA;
66  Vec3d com_Shoulder_FE;
67  Vec3d com_Humerus_R;
68  Vec3d com_Elbow_FE;
69  Vec3d com_Wrist_R;
70  Vec3d com_Wrist_FE;
71 };
72 
73 template <typename TRAIT>
75 
76 template <typename TRAIT>
78  return this->tensor_Shoulder_AA;
79 }
80 template <typename TRAIT>
82  return this->tensor_Shoulder_FE;
83 }
84 template <typename TRAIT>
86  return this->tensor_Humerus_R;
87 }
88 template <typename TRAIT>
90  return this->tensor_Elbow_FE;
91 }
92 template <typename TRAIT>
94  return this->tensor_Wrist_R;
95 }
96 template <typename TRAIT>
98  return this->tensor_Wrist_FE;
99 }
100 template <typename TRAIT>
102  return this->tensor_Shoulder_AA.getMass();
103 }
104 template <typename TRAIT>
106  return this->tensor_Shoulder_FE.getMass();
107 }
108 template <typename TRAIT>
110  return this->tensor_Humerus_R.getMass();
111 }
112 template <typename TRAIT>
114  return this->tensor_Elbow_FE.getMass();
115 }
116 template <typename TRAIT>
118  return this->tensor_Wrist_R.getMass();
119 }
120 template <typename TRAIT>
122  return this->tensor_Wrist_FE.getMass();
123 }
124 template <typename TRAIT>
126  return this->com_Shoulder_AA;
127 }
128 template <typename TRAIT>
130  return this->com_Shoulder_FE;
131 }
132 template <typename TRAIT>
134  return this->com_Humerus_R;
135 }
136 template <typename TRAIT>
138  return this->com_Elbow_FE;
139 }
140 template <typename TRAIT>
142  return this->com_Wrist_R;
143 }
144 template <typename TRAIT>
146  return this->com_Wrist_FE;
147 }
148 
149 template <typename TRAIT>
151  return 2.688 + 2.5924191 + 2.327 + 1.7423722 + 2.1032 + 1.547475;
152 }
153 
154 } // namespace tpl
155 
157 
158 }
159 }
160 }
161 
162 #include "inertia_properties.impl.h"
163 
164 #endif
const IMatrix & getTensor_Wrist_R() const
Definition: inertia_properties.h:93
Definition: derivativeIvState.hpp:21
const IMatrix & getTensor_Wrist_FE() const
Definition: inertia_properties.h:97
SCALAR getMass_Shoulder_FE() const
Definition: inertia_properties.h:105
const Vec3d & getCOM_Humerus_R() const
Definition: inertia_properties.h:133
const IMatrix & getTensor_Elbow_FE() const
Definition: inertia_properties.h:89
const IMatrix & getTensor_Shoulder_FE() const
Definition: inertia_properties.h:81
ct::core::ADCodegenLinearizer< state_dim, control_dim >::ADCGScalar Scalar
Definition: HyALinearizationCodeGen.cpp:23
SCALAR getMass_Humerus_R() const
Definition: inertia_properties.h:109
const Vec3d & getCOM_Wrist_FE() const
Definition: inertia_properties.h:145
SCALAR getMass_Shoulder_AA() const
Definition: inertia_properties.h:101
const IMatrix & getTensor_Humerus_R() const
Definition: inertia_properties.h:85
Eigen::Matrix< SCALAR, 3, 1 > Vec3d
Definition: inertia_properties.h:33
InertiaProperties()
Definition: inertia_properties.impl.h:2
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef TRAIT::Scalar SCALAR
Definition: inertia_properties.h:30
SCALAR getMass_Wrist_R() const
Definition: inertia_properties.h:117
SCALAR getTotalMass() const
Definition: inertia_properties.h:150
const Vec3d & getCOM_Wrist_R() const
Definition: inertia_properties.h:141
const Vec3d & getCOM_Shoulder_AA() const
Definition: inertia_properties.h:125
const Vec3d & getCOM_Shoulder_FE() const
Definition: inertia_properties.h:129
const Vec3d & getCOM_Elbow_FE() const
Definition: inertia_properties.h:137
tpl::InertiaMatrixDense< double > InertiaMatrixDense
const IMatrix & getTensor_Shoulder_AA() const
Definition: inertia_properties.h:77
SCALAR getMass_Elbow_FE() const
Definition: inertia_properties.h:113
iit::rbd::tpl::InertiaMatrixDense< SCALAR > IMatrix
Definition: inertia_properties.h:32
SCALAR getMass_Wrist_FE() const
Definition: inertia_properties.h:121
~InertiaProperties()
Definition: inertia_properties.h:74
Definition: inertia_properties.h:26