Go to the documentation of this file.
5 #ifndef __pinocchio_spatial_force_set_hpp__
6 #define __pinocchio_spatial_force_set_hpp__
9 #include <Eigen/Geometry>
13 template<
typename _Scalar,
int _Options>
22 typedef Eigen::Matrix<Scalar, 3, 1, Options>
Vector3;
23 typedef Eigen::Matrix<Scalar, 3, 3, Options>
Matrix3;
24 typedef Eigen::Matrix<Scalar, 6, 1, Options>
Vector6;
25 typedef Eigen::Matrix<Scalar, 6, 6, Options>
Matrix6;
28 typedef Eigen::Matrix<Scalar, 3, Eigen::Dynamic, Options>
Matrix3x;
29 typedef Eigen::Matrix<Scalar, 6, Eigen::Dynamic, Options>
Matrix6x;
83 m.rotation().transpose() *
linear(),
90 os <<
"F =\n" << phi.
linear() << std::endl <<
"Tau =\n" << phi.
angular() << std::endl;
106 Eigen::Block<ForceSetTpl::Matrix3x>
linear()
114 Eigen::Block<const ForceSetTpl::Matrix3x>
linear()
const
118 Eigen::Block<const ForceSetTpl::Matrix3x>
angular()
const
151 eigen_assert(D::RowsAtCompileTime == 6);
152 assert(
m.cols() ==
len);
153 linear() =
m.template topRows<3>();
154 angular() =
m.template bottomRows<3>();
173 m.rotation().transpose() *
linear(),
181 return Block(*
this, idx, len);
207 #endif // ifndef __pinocchio_spatial_force_set_hpp__
Eigen::Matrix< Scalar, 3, 1, Options > Vector3
Eigen::Matrix< Scalar, 3, Eigen::Dynamic, Options > Matrix3x
Block & operator=(const ForceSetTpl::Block ©)
const Matrix3x & angular() const
const Matrix3x & linear() const
ForceSetTpl(const int &ncols)
Block(ForceSetTpl &ref, const int &idx, const int &len)
ForceSetTpl se3ActionInverse(const SE3 &m) const
bf = aXb.actInv(af)
Eigen::Block< const ForceSetTpl::Matrix3x > angular() const
ForceSetTpl se3Action(const SE3 &m) const
af = aXb.act(bf)
Eigen::Block< const ForceSetTpl::Matrix3x > linear() const
ForceSetTpl(const Matrix3x &linear, const Matrix3x &angular)
void skew(const Eigen::MatrixBase< Vector3 > &v, const Eigen::MatrixBase< Matrix3 > &M)
Computes the skew representation of a given 3d vector, i.e. the antisymmetric matrix representation o...
Block & operator=(const ForceSetTpl ©)
Eigen::Matrix< Scalar, 6, Eigen::Dynamic, Options > Matrix6x
Block & operator=(const Eigen::MatrixBase< D > &m)
Eigen::Matrix< Scalar, 3, 3, Options > Matrix3
SE3Tpl< Scalar, Options > SE3
Eigen::Matrix< Scalar, 6, 1, Options > Vector6
Eigen::Block< ForceSetTpl::Matrix3x > linear()
Eigen::Matrix< Scalar, 6, 6, Options > Matrix6
ForceSetTpl se3ActionInverse(const SE3 &m) const
bf = aXb.actInv(af)
ForceSetTpl::Matrix6x matrix() const
void copy(const ModelTpl< Scalar, Options, JointCollectionTpl > &model, const DataTpl< Scalar, Options, JointCollectionTpl > &origin, DataTpl< Scalar, Options, JointCollectionTpl > &dest, KinematicLevel kinematic_level)
Copy part of the data from origin to dest. Template parameter can be used to select at which differen...
friend std::ostream & operator<<(std::ostream &os, const ForceSetTpl &phi)
ForceSetTpl< context::Scalar, context::Options > ForceSet
Block block(const int &idx, const int &len)
ForceSetTpl se3Action(const SE3 &m) const
af = aXb.act(bf)
Eigen::Block< ForceSetTpl::Matrix3x > angular()
Main pinocchio namespace.
pinocchio
Author(s):
autogenerated on Mon Dec 16 2024 03:41:01