wbc
RobotModelHyrodyn.hpp
Go to the documentation of this file.
1#ifndef ROBOTMODELHYRODYN_HPP
2#define ROBOTMODELHYRODYN_HPP
3
5
6#include <hyrodyn/robot_model_hyrodyn.hpp>
7#include <wbc/types/JointCommand.hpp>
8
9namespace wbc{
10
12private:
14
15protected:
16 hyrodyn::RobotModel_HyRoDyn hyrodyn;
17
18 void clear();
19 void addFloatingBaseToURDF(urdf::ModelInterfaceSharedPtr& robot_urdf, const std::string &world_frame_id = "world");
20public:
22 virtual ~RobotModelHyrodyn();
23
29 virtual bool configure(const RobotModelConfig& cfg);
30
41 virtual void update(const Eigen::VectorXd& joint_positions,
42 const Eigen::VectorXd& joint_velocities,
43 const Eigen::VectorXd& joint_accelerations,
44 const types::Pose& fb_pose,
45 const types::Twist& fb_twist,
46 const types::SpatialAcceleration& fb_acc);
47
50 virtual const types::Pose &pose(const std::string &frame_id);
51
54 virtual const types::Twist &twist(const std::string &frame_id);
55
58 virtual const types::SpatialAcceleration &acceleration(const std::string &frame_id);
59
66 virtual const Eigen::MatrixXd &spaceJacobian(const std::string &frame_id);
67
72 virtual const Eigen::MatrixXd &bodyJacobian(const std::string &frame_id);
73
78 virtual const Eigen::MatrixXd &comJacobian();
79
85 virtual const types::SpatialAcceleration &spatialAccelerationBias(const std::string &frame_id);
86
88 virtual const Eigen::MatrixXd &jointSpaceInertiaMatrix();
89
91 virtual const Eigen::VectorXd &biasForces();
92
94 virtual const types::RigidBodyState& centerOfMass();
95
97 hyrodyn::RobotModel_HyRoDyn *hyrodynHandle(){return &hyrodyn;}
98
102 virtual const Eigen::VectorXd& inverseDynamics(const Eigen::VectorXd& qdd_ref = Eigen::VectorXd(),
103 const std::vector<types::Wrench>& f_ext = std::vector<types::Wrench>());
104};
105
106}
107
108#endif
virtual const types::RigidBodyState & centerOfMass()
Return centers of mass expressed in world frame.
Definition RobotModelHyrodyn.cpp:485
virtual const types::Twist & twist(const std::string &frame_id)
Definition RobotModelHyrodyn.cpp:313
hyrodyn::RobotModel_HyRoDyn * hyrodynHandle()
Return pointer to the internal hyrodyn model.
Definition RobotModelHyrodyn.hpp:97
virtual const Eigen::MatrixXd & jointSpaceInertiaMatrix()
Returns the joint space mass-inertia matrix, which is nj x nj, where nj is the number of joints + num...
Definition RobotModelHyrodyn.cpp:440
virtual const Eigen::MatrixXd & comJacobian()
Returns the CoM Jacobian for the robot, which maps the robot joint velocities to linear spatial veloc...
Definition RobotModelHyrodyn.cpp:401
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 RobotModelHyrodyn.cpp:508
virtual const Eigen::MatrixXd & spaceJacobian(const std::string &frame_id)
Returns the Space Jacobian for the given frame. The order of the Jacobian's columns will be the same ...
Definition RobotModelHyrodyn.cpp:345
virtual const Eigen::MatrixXd & bodyJacobian(const std::string &frame_id)
Returns the Body Jacobian for the given frame. The order of the Jacobian's columns will be the same a...
Definition RobotModelHyrodyn.cpp:373
virtual bool configure(const RobotModelConfig &cfg)
This will read the robot model from the given URDF file and initialize all members accordingly.
Definition RobotModelHyrodyn.cpp:138
virtual ~RobotModelHyrodyn()
Definition RobotModelHyrodyn.cpp:14
virtual const types::Pose & pose(const std::string &frame_id)
Definition RobotModelHyrodyn.cpp:297
virtual const Eigen::VectorXd & biasForces()
Returns the bias force vector, which is nj x 1, where nj is the number of joints + number of floating...
Definition RobotModelHyrodyn.cpp:462
virtual const types::SpatialAcceleration & spatialAccelerationBias(const std::string &frame_id)
Returns the spatial acceleration bias, i.e. the term Jdot*qdot. The linear part of the acceleration w...
Definition RobotModelHyrodyn.cpp:420
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 RobotModelHyrodyn.cpp:217
RobotModelHyrodyn()
Definition RobotModelHyrodyn.cpp:11
void addFloatingBaseToURDF(urdf::ModelInterfaceSharedPtr &robot_urdf, const std::string &world_frame_id="world")
Definition RobotModelHyrodyn.cpp:24
hyrodyn::RobotModel_HyRoDyn hyrodyn
Definition RobotModelHyrodyn.hpp:16
virtual const types::SpatialAcceleration & acceleration(const std::string &frame_id)
Definition RobotModelHyrodyn.cpp:329
void clear()
Definition RobotModelHyrodyn.cpp:17
RobotModel()
Definition RobotModel.cpp:7
urdf::ModelInterfaceSharedPtr robot_urdf
Definition RobotModel.hpp:72
Definition Pose.hpp:9
Definition RigidBodyState.hpp:10
Definition SpatialAcceleration.hpp:8
Definition Twist.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