|
Robotics Library
0.6.2
|
Go to the documentation of this file.
27 #ifndef _RL_MATH_RIGIDBODYINERTIA_H_
28 #define _RL_MATH_RIGIDBODYINERTIA_H_
42 template<
typename Scalar >
46 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
68 template<
typename OtherDerived >
71 inertiaData(other.template topLeftCorner< 3, 3 >()),
72 massData(other.template bottomRightCorner< 3, 3 >().diagonal().mean())
113 res.template topLeftCorner< 3, 3 >() =
inertia();
114 res.template topRightCorner< 3, 3 >() =
cog().cross33();
115 res.template bottomLeftCorner< 3, 3 >() = -
cog().cross33();
116 res.template bottomRightCorner< 3, 3 >() = ::Eigen::Matrix< Scalar, 3, 3 >::Identity() *
mass();
120 template<
typename OtherDerived >
123 cog() = other.template topRightCorner< 3, 3 >().cross3();
124 inertia() = other.template topLeftCorner< 3, 3 >();
125 mass() = other.template bottomRightCorner< 3, 3 >().diagonal().mean();
147 template<
typename OtherScalar >
151 res.
cog() =
cog() * other;
157 template<
typename OtherScalar >
160 template<
typename OtherScalar >
164 res.
cog() =
cog() / other;
197 #endif // _RL_MATH_RIGIDBODYINERTIA_H_
RigidBodyInertia operator*(const OtherScalar &other) const
Definition: RigidBodyInertia.h:148
::Eigen::Matrix< Scalar, 6, 6 > MatrixType
Definition: RigidBodyInertia.h:50
RigidBodyInertia operator+(const RigidBodyInertia &other) const
Definition: RigidBodyInertia.h:129
ConstInertiaType & inertia() const
Definition: RigidBodyInertia.h:95
RigidBodyInertia & operator=(const ::Eigen::MatrixBase< OtherDerived > &other)
Definition: RigidBodyInertia.h:121
CenterOfGravityType centerOfGravityData
Definition: RigidBodyInertia.h:187
Definition: RigidBodyInertia.h:44
RigidBodyInertia operator-(const RigidBodyInertia &other) const
Definition: RigidBodyInertia.h:138
const MassType ConstMassType
Definition: RigidBodyInertia.h:62
RigidBodyInertia()
Definition: RigidBodyInertia.h:64
Scalar ScalarType
Definition: RigidBodyInertia.h:48
::Eigen::Matrix< Scalar, 3, 1 > CenterOfGravityType
Definition: RigidBodyInertia.h:52
MassType & mass()
Definition: RigidBodyInertia.h:100
InertiaType & inertia()
Definition: RigidBodyInertia.h:90
RigidBodyInertia(const ::Eigen::DenseBase< OtherDerived > &other)
Definition: RigidBodyInertia.h:69
spatial::ForceVector< Real > ForceVector
Definition: Spatial.h:53
const CenterOfGravityType ConstCenterOfGravityType
Definition: RigidBodyInertia.h:54
spatial::MotionVector< Real > MotionVector
Definition: Spatial.h:55
::Eigen::Matrix< Scalar, 3, 3 > InertiaType
Definition: RigidBodyInertia.h:56
void setIdentity()
Definition: RigidBodyInertia.h:170
InertiaType inertiaData
Definition: RigidBodyInertia.h:189
CenterOfGravityType & cog()
Definition: RigidBodyInertia.h:80
RigidBodyInertia operator/(const OtherScalar &other) const
Definition: RigidBodyInertia.h:161
void setZero()
Definition: RigidBodyInertia.h:177
const InertiaType ConstInertiaType
Definition: RigidBodyInertia.h:58
MatrixType matrix() const
Definition: RigidBodyInertia.h:110
Scalar MassType
Definition: RigidBodyInertia.h:60
Definition: ForceVector.h:43
Matrix< Scalar, 3, 1 > cross3() const
Definition: MatrixBaseAddons.h:31
virtual ~RigidBodyInertia()
Definition: RigidBodyInertia.h:76
MassType massData
Definition: RigidBodyInertia.h:191
Definition: MotionVector.h:42
ConstMassType & mass() const
Definition: RigidBodyInertia.h:105
ConstCenterOfGravityType & cog() const
Definition: RigidBodyInertia.h:85