Public Member Functions | Public Attributes | Private Member Functions | Private Attributes | List of all members
pr2_arm_kinematics::PR2ArmIK Class Reference

#include <pr2_arm_ik.h>

Public Member Functions

void computeIKShoulderPan (const Eigen::Isometry3f &g_in, const double &shoulder_pan_initial_guess, std::vector< std::vector< double > > &solution) const
 compute IK based on an initial guess for the shoulder pan angle. More...
 
void computeIKShoulderRoll (const Eigen::Isometry3f &g_in, const double &shoulder_roll_initial_guess, std::vector< std::vector< double > > &solution) const
 compute IK based on an initial guess for the shoulder roll angle. More...
 
void getSolverInfo (moveit_msgs::KinematicSolverInfo &info)
 get chain information about the arm. This populates the IK query response, filling in joint level information including names and joint limits. More...
 
bool init (const urdf::ModelInterface &robot_model, const std::string &root_name, const std::string &tip_name)
 Initialize the solver by providing a urdf::Model and a root and tip name. More...
 
 PR2ArmIK ()
 Inverse kinematics for the PR2 arm. More...
 
 ~PR2ArmIK ()
 

Public Attributes

moveit_msgs::KinematicSolverInfo solver_info_
 get chain information about the arm. More...
 

Private Member Functions

void addJointToChainInfo (const urdf::JointConstSharedPtr &joint, moveit_msgs::KinematicSolverInfo &info)
 
bool checkJointLimits (const double &joint_value, const int &joint_num) const
 
bool checkJointLimits (const std::vector< double > &joint_values) const
 

Private Attributes

std::vector< double > angle_multipliers_
 
std::vector< bool > continuous_joint_
 
double elbow_wrist_offset_
 
Eigen::Isometry3f gf_
 
Eigen::Isometry3f grhs_
 
Eigen::Isometry3f home_inv_
 
std::vector< double > max_angles_
 
std::vector< double > min_angles_
 
double shoulder_elbow_offset_
 
double shoulder_upperarm_offset_
 
double shoulder_wrist_offset_
 
std::vector< double > solution_
 
double torso_shoulder_offset_x_
 
double torso_shoulder_offset_y_
 
double torso_shoulder_offset_z_
 
double upperarm_elbow_offset_
 

Detailed Description

Definition at line 149 of file pr2_arm_ik.h.

Constructor & Destructor Documentation

◆ PR2ArmIK()

PR2ArmIK::PR2ArmIK ( )

Inverse kinematics for the PR2 arm.

Author
Sachin Chitta sachi.nosp@m.nc@w.nosp@m.illow.nosp@m.gara.nosp@m.ge.co.nosp@m.m

Definition at line 52 of file pr2_arm_ik.cpp.

◆ ~PR2ArmIK()

pr2_arm_kinematics::PR2ArmIK::~PR2ArmIK ( )
inline

Definition at line 157 of file pr2_arm_ik.h.

Member Function Documentation

◆ addJointToChainInfo()

void PR2ArmIK::addJointToChainInfo ( const urdf::JointConstSharedPtr &  joint,
moveit_msgs::KinematicSolverInfo &  info 
)
private

Definition at line 154 of file pr2_arm_ik.cpp.

◆ checkJointLimits() [1/2]

bool PR2ArmIK::checkJointLimits ( const double &  joint_value,
const int &  joint_num 
) const
private

Definition at line 778 of file pr2_arm_ik.cpp.

◆ checkJointLimits() [2/2]

bool PR2ArmIK::checkJointLimits ( const std::vector< double > &  joint_values) const
private

Definition at line 766 of file pr2_arm_ik.cpp.

◆ computeIKShoulderPan()

void PR2ArmIK::computeIKShoulderPan ( const Eigen::Isometry3f &  g_in,
const double &  shoulder_pan_initial_guess,
std::vector< std::vector< double > > &  solution 
) const

compute IK based on an initial guess for the shoulder pan angle.

Parameters
g_inInput pose for end-effector
shoulder_pan_initial_guessInitial guess for shoulder pan angle

Definition at line 197 of file pr2_arm_ik.cpp.

◆ computeIKShoulderRoll()

void PR2ArmIK::computeIKShoulderRoll ( const Eigen::Isometry3f &  g_in,
const double &  shoulder_roll_initial_guess,
std::vector< std::vector< double > > &  solution 
) const

compute IK based on an initial guess for the shoulder roll angle.

Parameters
g_inInput pose for end-effector
shoulder_roll_initial_guessInitial guess for shoulder roll angle

Definition at line 462 of file pr2_arm_ik.cpp.

◆ getSolverInfo()

void PR2ArmIK::getSolverInfo ( moveit_msgs::KinematicSolverInfo &  info)

get chain information about the arm. This populates the IK query response, filling in joint level information including names and joint limits.

Parameters
infoThe response structure to be filled in.

Definition at line 192 of file pr2_arm_ik.cpp.

◆ init()

bool PR2ArmIK::init ( const urdf::ModelInterface &  robot_model,
const std::string &  root_name,
const std::string &  tip_name 
)

Initialize the solver by providing a urdf::Model and a root and tip name.

Parameters
robot_modelA urdf::Model representation of the PR2 robot model
root_nameThe root joint name of the arm
tip_nameThe tip joint name of the arm
Returns
true if initialization was successful, false otherwise.

Definition at line 56 of file pr2_arm_ik.cpp.

Member Data Documentation

◆ angle_multipliers_

std::vector<double> pr2_arm_kinematics::PR2ArmIK::angle_multipliers_
private

Definition at line 207 of file pr2_arm_ik.h.

◆ continuous_joint_

std::vector<bool> pr2_arm_kinematics::PR2ArmIK::continuous_joint_
private

Definition at line 218 of file pr2_arm_ik.h.

◆ elbow_wrist_offset_

double pr2_arm_kinematics::PR2ArmIK::elbow_wrist_offset_
private

Definition at line 211 of file pr2_arm_ik.h.

◆ gf_

Eigen::Isometry3f pr2_arm_kinematics::PR2ArmIK::gf_
private

Definition at line 205 of file pr2_arm_ik.h.

◆ grhs_

Eigen::Isometry3f pr2_arm_kinematics::PR2ArmIK::grhs_
private

Definition at line 205 of file pr2_arm_ik.h.

◆ home_inv_

Eigen::Isometry3f pr2_arm_kinematics::PR2ArmIK::home_inv_
private

Definition at line 205 of file pr2_arm_ik.h.

◆ max_angles_

std::vector<double> pr2_arm_kinematics::PR2ArmIK::max_angles_
private

Definition at line 216 of file pr2_arm_ik.h.

◆ min_angles_

std::vector<double> pr2_arm_kinematics::PR2ArmIK::min_angles_
private

Definition at line 214 of file pr2_arm_ik.h.

◆ shoulder_elbow_offset_

double pr2_arm_kinematics::PR2ArmIK::shoulder_elbow_offset_
private

Definition at line 212 of file pr2_arm_ik.h.

◆ shoulder_upperarm_offset_

double pr2_arm_kinematics::PR2ArmIK::shoulder_upperarm_offset_
private

Definition at line 211 of file pr2_arm_ik.h.

◆ shoulder_wrist_offset_

double pr2_arm_kinematics::PR2ArmIK::shoulder_wrist_offset_
private

Definition at line 211 of file pr2_arm_ik.h.

◆ solution_

std::vector<double> pr2_arm_kinematics::PR2ArmIK::solution_
private

Definition at line 209 of file pr2_arm_ik.h.

◆ solver_info_

moveit_msgs::KinematicSolverInfo pr2_arm_kinematics::PR2ArmIK::solver_info_

get chain information about the arm.

Definition at line 194 of file pr2_arm_ik.h.

◆ torso_shoulder_offset_x_

double pr2_arm_kinematics::PR2ArmIK::torso_shoulder_offset_x_
private

Definition at line 212 of file pr2_arm_ik.h.

◆ torso_shoulder_offset_y_

double pr2_arm_kinematics::PR2ArmIK::torso_shoulder_offset_y_
private

Definition at line 212 of file pr2_arm_ik.h.

◆ torso_shoulder_offset_z_

double pr2_arm_kinematics::PR2ArmIK::torso_shoulder_offset_z_
private

Definition at line 212 of file pr2_arm_ik.h.

◆ upperarm_elbow_offset_

double pr2_arm_kinematics::PR2ArmIK::upperarm_elbow_offset_
private

Definition at line 211 of file pr2_arm_ik.h.


The documentation for this class was generated from the following files:


moveit_core
Author(s): Ioan Sucan , Sachin Chitta , Acorn Pooley
autogenerated on Thu Apr 18 2024 02:23:41