18 #ifndef __invdyn_robot_wrapper_hpp__ 19 #define __invdyn_robot_wrapper_hpp__ 21 #include "tsid/deprecated.hh" 25 #include <pinocchio/multibody/model.hpp> 26 #include <pinocchio/multibody/data.hpp> 27 #include <pinocchio/spatial/fwd.hpp> 43 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
67 const std::vector<std::string> & package_dirs,
71 const std::vector<std::string> & package_dirs,
72 const pinocchio::JointModelVariant & rootJoint,
82 virtual int nq()
const;
84 virtual int nv()
const;
85 virtual int na()
const;
93 const Model &
model()
const;
96 void computeAllTerms(Data & data,
const Vector & q,
const Vector & v)
const;
104 void com(
const Data & data,
109 const Vector3 &
com(
const Data & data)
const;
111 const Vector3 &
com_vel(
const Data & data)
const;
113 const Vector3 &
com_acc(
const Data & data)
const;
115 const Matrix3x &
Jcom(
const Data & data)
const;
117 const Matrix &
mass(
const Data & data);
121 const SE3 &
position(
const Data & data,
122 const Model::JointIndex index)
const;
124 const Motion &
velocity(
const Data & data,
125 const Model::JointIndex index)
const;
128 const Model::JointIndex index)
const;
131 const Model::JointIndex index,
132 Data::Matrix6x & J)
const;
135 const Model::JointIndex index,
136 Data::Matrix6x & J)
const;
139 const Model::FrameIndex index)
const;
142 const Model::FrameIndex index,
146 const Model::FrameIndex index)
const;
149 const Model::FrameIndex index)
const;
152 const Model::FrameIndex index,
156 const Model::FrameIndex index)
const;
159 const Model::FrameIndex index)
const;
162 const Model::FrameIndex index,
166 const Model::FrameIndex index)
const;
169 const Model::FrameIndex index)
const;
172 const Model::FrameIndex index,
176 const Model::FrameIndex index,
177 Data::Matrix6x & J)
const;
180 const Model::FrameIndex index,
181 Data::Matrix6x & J)
const;
214 #endif // ifndef __invdyn_robot_wrapper_hpp__ Eigen::Ref< Vector > RefVector
Definition: fwd.hpp:49
const Matrix3x & Jcom(const Data &data) const
Definition: robot-wrapper.cpp:183
enum tsid::robots::RobotWrapper::e_RootJointType RootJointType
virtual int na() const
Definition: robot-wrapper.cpp:108
Vector3 angularMomentumTimeVariation(const Data &data) const
Definition: robot-wrapper.cpp:367
const Motion & velocity(const Data &data, const Model::JointIndex index) const
Definition: robot-wrapper.cpp:207
pinocchio::Motion Motion
Definition: robot-wrapper.hpp:48
Matrix m_M
diagonal part of inertia matrix due to rotor inertias
Definition: robot-wrapper.hpp:207
virtual int nq() const
Definition: robot-wrapper.cpp:106
const Data::Matrix6x & momentumJacobian(const Data &data) const
Definition: robot-wrapper.cpp:362
void init()
Definition: robot-wrapper.cpp:98
double Scalar
Definition: fwd.hpp:36
pinocchio::SE3 SE3
Definition: trajectory-base.hpp:34
int m_nq_actuated
Definition: robot-wrapper.hpp:201
virtual int nq_actuated() const
Definition: robot-wrapper.cpp:109
Vector m_Md
Definition: robot-wrapper.hpp:206
const Model & model() const
Accessor to model.
Definition: robot-wrapper.cpp:112
void frameJacobianWorld(Data &data, const Model::FrameIndex index, Data::Matrix6x &J) const
Definition: robot-wrapper.cpp:346
const Motion & acceleration(const Data &data, const Model::JointIndex index) const
Definition: robot-wrapper.cpp:214
Motion frameClassicAcceleration(const Data &data, const Model::FrameIndex index) const
Definition: robot-wrapper.cpp:312
Eigen::Matrix< Scalar, 3, Eigen::Dynamic > Matrix3x
Definition: fwd.hpp:44
pinocchio::Model Model
Definition: robot-wrapper.hpp:46
Motion frameVelocityWorldOriented(const Data &data, const Model::FrameIndex index) const
Definition: robot-wrapper.cpp:271
RobotWrapper(const std::string &filename, const std::vector< std::string > &package_dirs, bool verbose=false)
Definition: robot-wrapper.cpp:36
math::Matrix Matrix
Definition: robot-wrapper.hpp:54
Model m_model
Robot model.
Definition: robot-wrapper.hpp:197
void updateMd()
Definition: robot-wrapper.cpp:153
Motion frameAccelerationWorldOriented(const Data &data, const Model::FrameIndex index) const
Definition: robot-wrapper.cpp:300
math::Matrix3x Matrix3x
Definition: robot-wrapper.hpp:55
math::RefVector RefVector
Definition: robot-wrapper.hpp:56
Vector m_gear_ratios
Definition: robot-wrapper.hpp:205
math::Vector6 Vector6
Definition: robot-wrapper.hpp:53
virtual bool is_fixed_base() const
Definition: robot-wrapper.cpp:110
const Vector3 & com_acc(const Data &data) const
Definition: robot-wrapper.cpp:178
int m_na
dimension of the configuration space of the actuated DoF (nq for fixed-based, nq-7 for floating-base ...
Definition: robot-wrapper.hpp:202
Motion frameAcceleration(const Data &data, const Model::FrameIndex index) const
Definition: robot-wrapper.cpp:283
Eigen::Matrix< Scalar, 3, 1 > Vector3
Definition: fwd.hpp:42
void jacobianLocal(const Data &data, const Model::JointIndex index, Data::Matrix6x &J) const
Definition: robot-wrapper.cpp:229
SE3 framePosition(const Data &data, const Model::FrameIndex index) const
Definition: robot-wrapper.cpp:237
std::string m_model_filename
Definition: robot-wrapper.hpp:198
bool m_verbose
Definition: robot-wrapper.hpp:199
const Eigen::Ref< const Vector > ConstRefVector
Definition: fwd.hpp:50
const Matrix & mass(const Data &data)
Definition: robot-wrapper.cpp:188
void com(const Data &data, RefVector com_pos, RefVector com_vel, RefVector com_acc) const
Definition: robot-wrapper.cpp:158
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef math::Scalar Scalar
Definition: robot-wrapper.hpp:45
const Vector3 & com_vel(const Data &data) const
Definition: robot-wrapper.cpp:173
Eigen::Matrix< Scalar, Eigen::Dynamic, 1 > Vector
Definition: fwd.hpp:37
const Vector & nonLinearEffects(const Data &data) const
Definition: robot-wrapper.cpp:195
void frameJacobianLocal(Data &data, const Model::FrameIndex index, Data::Matrix6x &J) const
Definition: robot-wrapper.cpp:354
math::Vector Vector
Definition: robot-wrapper.hpp:51
Wrapper for a robot based on pinocchio.
Definition: robot-wrapper.hpp:40
const Vector & gear_ratios() const
Definition: robot-wrapper.cpp:132
Eigen::Matrix< Scalar, Eigen::Dynamic, Eigen::Dynamic > Matrix
Definition: fwd.hpp:38
pinocchio::SE3 SE3
Definition: robot-wrapper.hpp:50
Eigen::Matrix< Scalar, 6, 1 > Vector6
Definition: fwd.hpp:43
const SE3 & position(const Data &data, const Model::JointIndex index) const
Definition: robot-wrapper.cpp:200
void computeAllTerms(Data &data, const Vector &q, const Vector &v) const
Definition: robot-wrapper.cpp:115
Definition: robot-wrapper.hpp:63
void setGravity(const Motion &gravity)
Definition: robot-wrapper.cpp:371
Vector m_rotor_inertias
Definition: robot-wrapper.hpp:204
Motion frameVelocity(const Data &data, const Model::FrameIndex index) const
Definition: robot-wrapper.cpp:254
Definition: constraint-bound.hpp:26
Definition: robot-wrapper.hpp:62
void jacobianWorld(const Data &data, const Model::JointIndex index, Data::Matrix6x &J) const
Definition: robot-wrapper.cpp:221
const Vector & rotor_inertias() const
Definition: robot-wrapper.cpp:128
pinocchio::Data Data
Definition: robot-wrapper.hpp:47
virtual int nv() const
Definition: robot-wrapper.cpp:107
e_RootJointType
Definition: robot-wrapper.hpp:60
math::ConstRefVector ConstRefVector
Definition: robot-wrapper.hpp:57
pinocchio::Frame Frame
Definition: robot-wrapper.hpp:49
math::Vector3 Vector3
Definition: robot-wrapper.hpp:52
Motion frameClassicAccelerationWorldOriented(const Data &data, const Model::FrameIndex index) const
Definition: robot-wrapper.cpp:334
bool m_is_fixed_base
number of actuators (nv for fixed-based, nv-6 for floating-base robots)
Definition: robot-wrapper.hpp:203