82 jointAcc.resize(nrOfInternalDOFs);
111 using Ptr = std::shared_ptr<RobotModel>;
125 bool loadModelFromFile(
const std::string& modelFile);
132 bool loadModelFromString(
const std::string &modelString);
138 const std::string& getUrdfUrl()
const;
144 const std::string& getUrdfString()
const;
156 ,
const Eigen::Matrix<double,6,1>&
baseVel 158 ,
const Eigen::Vector3d&
gravity);
166 void setRobotState(
const Eigen::VectorXd&
jointPos 168 ,
const Eigen::Vector3d& global_gravity_vector);
175 void setRobotState(
const Eigen::VectorXd&
jointPos 181 const std::string& getName()
const;
195 void setBaseFrame(
const std::string& fixed_base_or_free_floating_frame);
201 const std::string& getBaseFrame()
const;
207 void setGravity(
const Eigen::Vector3d& global_gravity_vector);
213 unsigned int getNrOfDegreesOfFreedom()
const;
219 unsigned int getConfigurationSpaceDimension()
const;
226 bool frameExists(
const std::string& frame_name)
const;
235 const Eigen::Matrix4d& getRelativeTransform(
const std::string& refFrameName,
const std::string& frameName);
242 const Eigen::Matrix4d& getTransform(
const std::string& frameName);
252 bool addAdditionalFrameToLink (
const std::string &linkName,
const std::string &frameName,
const Eigen::Matrix4d& link_H_frame);
254 const Eigen::Matrix<double,6,1>& getFrameVel(
const std::string& frameName);
255 const Eigen::Matrix<double,6,1>& getFrameBiasAcc(
const std::string& frameName);
257 const Eigen::MatrixXd& getFreeFloatingMassMatrix();
258 const Eigen::MatrixXd& getMassMatrix();
259 const Eigen::VectorXd& getJointPos()
const;
260 const Eigen::VectorXd& getJointVel()
const;
261 const Eigen::VectorXd& getMinJointPos();
262 const Eigen::VectorXd& getMaxJointPos();
263 const Eigen::MatrixXd& getJacobian(
const std::string& frameName);
264 const Eigen::MatrixXd& getRelativeJacobian(
const std::string& refFrameName,
const std::string& frameName);
265 const Eigen::MatrixXd& getFrameFreeFloatingJacobian(
const std::string& frameName);
266 const Eigen::VectorXd& generalizedBiasForces();
267 const Eigen::VectorXd& getJointGravityTorques();
268 const Eigen::VectorXd& getJointCoriolisTorques();
269 const Eigen::VectorXd& getJointGravityAndCoriolisTorques();
270 unsigned int getNrOfJoints()
const;
271 std::string getJointName(
unsigned int idx)
const;
272 unsigned int getJointIndex(
const std::string& jointName)
const;
273 const std::vector<std::string>& getLinkNames()
const;
274 const std::vector<std::string>& getFrameNames()
const;
275 const std::vector<std::string>& getJointNames()
const;
276 bool isInitialized()
const;
277 void onRobotInitializedCallback(std::function<
void(
void)> cb);
284 bool is_initialized_ =
false;
293 bool loadFromParameters();
296 template<RobotModelImplType type = iDynTree>
class RobotModelImpl;
297 std::unique_ptr<RobotModelImpl<> > impl_;
Represents a set of parameters that can be loaded from a YAML file.
Definition: ConfigurableOrcaObject.h:14
Eigen::VectorXd jointPos
Definition: RobotModel.h:72
common::Parameter< std::string > urdf_str_
Definition: RobotModel.h:287
common::Parameter< std::string > name_
Definition: RobotModel.h:291
void random()
Definition: RobotModel.h:87
Eigen::VectorXd jointVel
Definition: RobotModel.h:74
std::shared_ptr< ConfigurableOrcaObject > Ptr
Definition: ConfigurableOrcaObject.h:17
Eigen::Matrix4d world_H_base
Definition: RobotModel.h:71
Eigen::Vector3d gravity
Definition: RobotModel.h:75
Eigen::VectorXd jointAcc
Definition: RobotModel.h:100
The robot model class allow to make kinematics and dynamics computations.
Definition: RobotModel.h:108
Eigen::Matrix< double, 6, 1 > baseAcc
Definition: RobotModel.h:99
common::Parameter< Eigen::VectorXd > home_joint_positions_
Definition: RobotModel.h:290
Definition: RobotModel.h:78
common::Parameter< Eigen::Vector3d > gravity_
Definition: RobotModel.h:289
Eigen::Matrix< double, 6, 1 > baseVel
Definition: RobotModel.h:73
void setZero()
Definition: RobotModel.h:93
RobotModelImplType
Definition: RobotModel.h:280
common::Parameter< std::string > base_frame_
Definition: RobotModel.h:288
Definition: CartesianAccelerationPID.h:44
void reset()
Definition: RobotModel.h:60
void resize(int nrOfInternalDOFs)
Definition: RobotModel.h:80
common::Parameter< std::string > urdf_url_
Definition: RobotModel.h:286
void resize(int nrOfInternalDOFs)
Definition: RobotModel.h:53
Definition: RobotModel.h:51
std::function< void(void)> robot_initialized_cb_
Definition: RobotModel.h:283