#include <dynamics_solver.h>
Public Member Functions | |
DynamicsSolver (const robot_model::RobotModelConstPtr &robot_model, const std::string &group_name, const geometry_msgs::Vector3 &gravity_vector) | |
Initialize the dynamics solver. More... | |
const robot_model::JointModelGroup * | getGroup () const |
bool | getMaxPayload (const std::vector< double > &joint_angles, double &payload, unsigned int &joint_saturated) const |
Get the maximum payload for this group (in kg). Payload is the weight that this group can hold when the weight is attached to the origin of the last link of this group. (The order of joint_angles vector is the same as the order of joints for this group in the RobotModel) More... | |
const std::vector< double > & | getMaxTorques () const |
Get maximum torques for this group. More... | |
bool | getPayloadTorques (const std::vector< double > &joint_angles, double payload, std::vector< double > &joint_torques) const |
Get torques corresponding to a particular payload value. Payload is the weight that this group can hold when the weight is attached to the origin of the last link of this group. More... | |
const robot_model::RobotModelConstPtr & | getRobotModel () const |
Get the kinematic model. More... | |
bool | getTorques (const std::vector< double > &joint_angles, const std::vector< double > &joint_velocities, const std::vector< double > &joint_accelerations, const std::vector< geometry_msgs::Wrench > &wrenches, std::vector< double > &torques) const |
Get the torques (the order of all input and output is the same as the order of joints for this group in the RobotModel) More... | |
Private Attributes | |
std::string | base_name_ |
std::shared_ptr< KDL::ChainIdSolver_RNE > | chain_id_solver_ |
double | gravity_ |
const robot_model::JointModelGroup * | joint_model_group_ |
KDL::Chain | kdl_chain_ |
std::vector< double > | max_torques_ |
unsigned int | num_joints_ |
unsigned int | num_segments_ |
robot_model::RobotModelConstPtr | robot_model_ |
robot_state::RobotStatePtr | state_ |
std::string | tip_name_ |
This solver currently computes the required torques given a joint configuration, velocities, accelerations and external wrenches acting on the links of a robot
Definition at line 60 of file dynamics_solver.h.
dynamics_solver::DynamicsSolver::DynamicsSolver | ( | const robot_model::RobotModelConstPtr & | robot_model, |
const std::string & | group_name, | ||
const geometry_msgs::Vector3 & | gravity_vector | ||
) |
Initialize the dynamics solver.
urdf_model | The urdf model for the robot |
srdf_model | The srdf model for the robot |
group_name | The name of the group to compute stuff for |
Definition at line 67 of file dynamics_solver.cpp.
|
inline |
Definition at line 133 of file dynamics_solver.h.
bool dynamics_solver::DynamicsSolver::getMaxPayload | ( | const std::vector< double > & | joint_angles, |
double & | payload, | ||
unsigned int & | joint_saturated | ||
) | const |
Get the maximum payload for this group (in kg). Payload is the weight that this group can hold when the weight is attached to the origin of the last link of this group. (The order of joint_angles vector is the same as the order of joints for this group in the RobotModel)
joint_angles | The joint angles (desired joint configuration) this must have size = number of joints in the group |
payload | The computed maximum payload |
joint_saturated | The first saturated joint and the maximum payload |
Definition at line 214 of file dynamics_solver.cpp.
const std::vector< double > & dynamics_solver::DynamicsSolver::getMaxTorques | ( | ) | const |
Get maximum torques for this group.
Definition at line 315 of file dynamics_solver.cpp.
bool dynamics_solver::DynamicsSolver::getPayloadTorques | ( | const std::vector< double > & | joint_angles, |
double | payload, | ||
std::vector< double > & | joint_torques | ||
) | const |
Get torques corresponding to a particular payload value. Payload is the weight that this group can hold when the weight is attached to the origin of the last link of this group.
joint_angles | The joint angles (desired joint configuration) this must have size = number of joints in the group |
payload | The payload for which to compute torques (in kg) |
joint_torques | The resulting joint torques |
Definition at line 279 of file dynamics_solver.cpp.
|
inline |
bool dynamics_solver::DynamicsSolver::getTorques | ( | const std::vector< double > & | joint_angles, |
const std::vector< double > & | joint_velocities, | ||
const std::vector< double > & | joint_accelerations, | ||
const std::vector< geometry_msgs::Wrench > & | wrenches, | ||
std::vector< double > & | torques | ||
) | const |
Get the torques (the order of all input and output is the same as the order of joints for this group in the RobotModel)
joint_angles | The joint angles (desired joint configuration) this must have size = number of joints in the group |
joint_velocities | The desired joint velocities this must have size = number of joints in the group |
joint_accelerations | The desired joint accelerations this must have size = number of joints in the group |
wrenches | External wrenches acting on the links of the robot this must have size = number of links in the group |
torques | Computed set of torques are filled in here this must have size = number of joints in the group |
Definition at line 144 of file dynamics_solver.cpp.
|
private |
Definition at line 147 of file dynamics_solver.h.
|
private |
Definition at line 139 of file dynamics_solver.h.
|
private |
Definition at line 151 of file dynamics_solver.h.
|
private |
Definition at line 143 of file dynamics_solver.h.
|
private |
Definition at line 140 of file dynamics_solver.h.
|
private |
Definition at line 149 of file dynamics_solver.h.
|
private |
Definition at line 148 of file dynamics_solver.h.
|
private |
Definition at line 148 of file dynamics_solver.h.
|
private |
Definition at line 142 of file dynamics_solver.h.
|
private |
Definition at line 145 of file dynamics_solver.h.
|
private |
Definition at line 147 of file dynamics_solver.h.