1#ifndef ROBOT_MODEL_PINOCCHIO_HPP
2#define ROBOT_MODEL_PINOCCHIO_HPP
5#include <pinocchio/multibody/fwd.hpp>
6#include <pinocchio/parsers/urdf.hpp>
15 typedef std::shared_ptr<pinocchio::Data>
DataPtr;
21 void updateFK(Eigen::VectorXd &_q,Eigen::VectorXd &_qd,Eigen::VectorXd &_qdd);
23 void updateFK(Eigen::VectorXd &_q,Eigen::VectorXd &_qd);
46 virtual void update(
const Eigen::VectorXd& joint_positions,
47 const Eigen::VectorXd& joint_velocities,
48 const Eigen::VectorXd& joint_accelerations,
71 virtual const Eigen::MatrixXd &
spaceJacobian(
const std::string &frame_id);
79 virtual const Eigen::MatrixXd &
bodyJacobian(
const std::string &frame_id);
107 virtual const Eigen::VectorXd&
inverseDynamics(
const Eigen::VectorXd& qdd_ref = Eigen::VectorXd(),
108 const std::vector<types::Wrench>& f_ext = std::vector<types::Wrench>());
virtual const Eigen::VectorXd & inverseDynamics(const Eigen::VectorXd &qdd_ref=Eigen::VectorXd(), const std::vector< types::Wrench > &f_ext=std::vector< types::Wrench >())
Compute tau from internal state.
Definition RobotModelPinocchio.cpp:421
virtual const Eigen::MatrixXd & spaceJacobian(const std::string &frame_id)
Returns the Space Jacobian for the kinematic chain between root and the tip frame as full body Jacobi...
Definition RobotModelPinocchio.cpp:276
static RobotModelRegistry< RobotModelPinocchio > reg
Definition RobotModelPinocchio.hpp:12
virtual const Eigen::VectorXd & biasForces()
Compute and return the bias force vector, which is nj x 1, where nj is the number of joints of the sy...
Definition RobotModelPinocchio.cpp:383
virtual const types::RigidBodyState & centerOfMass()
Compute and return center of mass expressed in base frame.
Definition RobotModelPinocchio.cpp:399
pinocchio::Model model
Definition RobotModelPinocchio.hpp:14
virtual const Eigen::MatrixXd & comJacobian()
Returns the CoM Jacobian for the entire robot, which maps the robot joint velocities to linear spatia...
Definition RobotModelPinocchio.cpp:320
RobotModelPinocchio()
Definition RobotModelPinocchio.cpp:16
virtual void update(const Eigen::VectorXd &joint_positions, const Eigen::VectorXd &joint_velocities, const Eigen::VectorXd &joint_accelerations, const types::Pose &fb_pose, const types::Twist &fb_twist, const types::SpatialAcceleration &fb_acc)
Update kinematics/dynamics.
Definition RobotModelPinocchio.cpp:117
DataPtr data
Definition RobotModelPinocchio.hpp:16
virtual const Eigen::MatrixXd & jointSpaceInertiaMatrix()
Compute and return the joint space mass-inertia matrix, which is nj x nj, where nj is the number of j...
Definition RobotModelPinocchio.cpp:364
virtual const types::SpatialAcceleration & acceleration(const std::string &frame_id)
Definition RobotModelPinocchio.cpp:248
virtual const types::Twist & twist(const std::string &frame_id)
Definition RobotModelPinocchio.cpp:220
virtual const Eigen::MatrixXd & bodyJacobian(const std::string &frame_id)
Returns the Body Jacobian for the kinematic chain between root and the tip frame as full body Jacobia...
Definition RobotModelPinocchio.cpp:298
std::shared_ptr< pinocchio::Data > DataPtr
Definition RobotModelPinocchio.hpp:15
virtual const types::SpatialAcceleration & spatialAccelerationBias(const std::string &frame_id)
Returns the spatial acceleration bias, i.e. the term Jdot*qdot.
Definition RobotModelPinocchio.cpp:338
virtual const types::Pose & pose(const std::string &frame_id)
Definition RobotModelPinocchio.cpp:195
~RobotModelPinocchio()
Definition RobotModelPinocchio.cpp:20
void clear()
Definition RobotModelPinocchio.cpp:23
void updateFK(Eigen::VectorXd &_q, Eigen::VectorXd &_qd, Eigen::VectorXd &_qdd)
Definition RobotModelPinocchio.cpp:183
virtual bool configure(const RobotModelConfig &cfg)
This will read the robot model from the given URDF file and initialize all members accordingly.
Definition RobotModelPinocchio.cpp:29
pinocchio::Model * getInternalModel()
Definition RobotModelPinocchio.cpp:439
RobotModel()
Definition RobotModel.cpp:7
Definition RigidBodyState.hpp:10
Definition SpatialAcceleration.hpp:8
Definition ContactsAccelerationConstraint.cpp:3
Robot Model configuration class, containts information like urdf file, type of robot model to be load...
Definition RobotModelConfig.hpp:13
Definition RobotModel.hpp:350