Public Member Functions | Protected Member Functions | Protected Attributes
pr2_arm_kinematics::PR2ArmKinematicsPlugin Class Reference

#include <pr2_arm_kinematics_plugin.h>

Inheritance diagram for pr2_arm_kinematics::PR2ArmKinematicsPlugin:
Inheritance graph
[legend]

List of all members.

Public Member Functions

const std::vector< std::string > & getJointNames () const
 Return all the joint names in the order they are used internally.
const std::vector< std::string > & getLinkNames () const
 Return all the link names in the order they are represented internally.
virtual bool getPositionFK (const std::vector< std::string > &link_names, const std::vector< double > &joint_angles, std::vector< geometry_msgs::Pose > &poses)
 Given a set of joint angles and a set of links, compute their pose.
virtual bool getPositionIK (const geometry_msgs::Pose &ik_pose, const std::vector< double > &ik_seed_state, std::vector< double > &solution, int &error_code)
 Given a desired pose of the end-effector, compute the joint angles to reach it.
virtual bool initialize (const std::string &group_name, const std::string &base_name, const std::string &tip_name, const double &search_discretization)
 Initialization function for the kinematics.
bool isActive ()
 Specifies if the node is active or not.
 PR2ArmKinematicsPlugin ()
virtual bool searchPositionIK (const geometry_msgs::Pose &ik_pose, const std::vector< double > &ik_seed_state, const double &timeout, std::vector< double > &solution, int &error_code)
 Given a desired pose of the end-effector, search for the joint angles required to reach it. This particular method is intended for "searching" for a solutions by stepping through the redundancy (or other numerical routines).
virtual bool searchPositionIK (const geometry_msgs::Pose &ik_pose, const std::vector< double > &ik_seed_state, const double &timeout, const unsigned int &redundancy, const double &consistency_limit, std::vector< double > &solution, int &error_code)
 Given a desired pose of the end-effector, search for the joint angles required to reach it. This particular method is intended for "searching" for a solutions by stepping through the redundancy (or other numerical routines).
virtual bool searchPositionIK (const geometry_msgs::Pose &ik_pose, const std::vector< double > &ik_seed_state, const double &timeout, std::vector< double > &solution, const boost::function< void(const geometry_msgs::Pose &ik_pose, const std::vector< double > &ik_solution, int &error_code)> &desired_pose_callback, const boost::function< void(const geometry_msgs::Pose &ik_pose, const std::vector< double > &ik_solution, int &error_code)> &solution_callback, int &error_code)
 Given a desired pose of the end-effector, search for the joint angles required to reach it. This particular method is intended for "searching" for a solutions by stepping through the redundancy (or other numerical routines).
virtual bool searchPositionIK (const geometry_msgs::Pose &ik_pose, const std::vector< double > &ik_seed_state, const double &timeout, const unsigned int &redundancy, const double &consistency_limit, std::vector< double > &solution, const boost::function< void(const geometry_msgs::Pose &ik_pose, const std::vector< double > &ik_solution, int &error_code)> &desired_pose_callback, const boost::function< void(const geometry_msgs::Pose &ik_pose, const std::vector< double > &ik_solution, int &error_code)> &solution_callback, int &error_code)
 Given a desired pose of the end-effector, search for the joint angles required to reach it. This particular method is intended for "searching" for a solutions by stepping through the redundancy (or other numerical routines). The consistency_limit specifies that only certain redundancy positions around those specified in the seed state are admissible and need to be searched.

Protected Member Functions

void desiredPoseCallback (const KDL::JntArray &jnt_array, const KDL::Frame &ik_pose, arm_navigation_msgs::ArmNavigationErrorCodes &error_code)
void jointSolutionCallback (const KDL::JntArray &jnt_array, const KDL::Frame &ik_pose, arm_navigation_msgs::ArmNavigationErrorCodes &error_code)

Protected Attributes

bool active_
boost::function< void(const
geometry_msgs::Pose &ik_pose,
const std::vector< double >
&ik_solution, int &error_code)> 
desiredPoseCallback_
int dimension_
ros::ServiceServer fk_service_
kinematics_msgs::KinematicSolverInfo fk_solver_info_
ros::ServiceServer fk_solver_info_service_
int free_angle_
ros::ServiceServer ik_service_
kinematics_msgs::KinematicSolverInfo ik_solver_info_
ros::ServiceServer ik_solver_info_service_
boost::shared_ptr
< KDL::ChainFkSolverPos_recursive
jnt_to_pose_solver_
KDL::Chain kdl_chain_
ros::NodeHandle node_handle_
boost::shared_ptr
< pr2_arm_kinematics::PR2ArmIKSolver
pr2_arm_ik_solver_
urdf::Model robot_model_
ros::NodeHandle root_handle_
std::string root_name_
boost::function< void(const
geometry_msgs::Pose &ik_pose,
const std::vector< double >
&ik_solution, int &error_code)> 
solutionCallback_

Detailed Description

Definition at line 62 of file pr2_arm_kinematics_plugin.h.


Constructor & Destructor Documentation

Definition at line 54 of file pr2_arm_kinematics_plugin.cpp.


Member Function Documentation

void pr2_arm_kinematics::PR2ArmKinematicsPlugin::desiredPoseCallback ( const KDL::JntArray &  jnt_array,
const KDL::Frame ik_pose,
arm_navigation_msgs::ArmNavigationErrorCodes error_code 
) [protected]

Definition at line 281 of file pr2_arm_kinematics_plugin.cpp.

const std::vector< std::string > & pr2_arm_kinematics::PR2ArmKinematicsPlugin::getJointNames ( ) const [virtual]

Return all the joint names in the order they are used internally.

Implements kinematics::KinematicsBase.

Definition at line 484 of file pr2_arm_kinematics_plugin.cpp.

const std::vector< std::string > & pr2_arm_kinematics::PR2ArmKinematicsPlugin::getLinkNames ( ) const [virtual]

Return all the link names in the order they are represented internally.

Implements kinematics::KinematicsBase.

Definition at line 493 of file pr2_arm_kinematics_plugin.cpp.

bool pr2_arm_kinematics::PR2ArmKinematicsPlugin::getPositionFK ( const std::vector< std::string > &  link_names,
const std::vector< double > &  joint_angles,
std::vector< geometry_msgs::Pose > &  poses 
) [virtual]

Given a set of joint angles and a set of links, compute their pose.

Parameters:
request- the request contains the joint angles, set of links for which poses are to be computed and a timeout
response- the response contains stamped pose information for all the requested links
Returns:
True if a valid solution was found, false otherwise

Implements kinematics::KinematicsBase.

Definition at line 444 of file pr2_arm_kinematics_plugin.cpp.

bool pr2_arm_kinematics::PR2ArmKinematicsPlugin::getPositionIK ( const geometry_msgs::Pose ik_pose,
const std::vector< double > &  ik_seed_state,
std::vector< double > &  solution,
int &  error_code 
) [virtual]

Given a desired pose of the end-effector, compute the joint angles to reach it.

Parameters:
ik_link_name- the name of the link for which IK is being computed
ik_posethe desired pose of the link
ik_seed_statean initial guess solution for the inverse kinematics
Returns:
True if a valid solution was found, false otherwise

Implements kinematics::KinematicsBase.

Definition at line 120 of file pr2_arm_kinematics_plugin.cpp.

bool pr2_arm_kinematics::PR2ArmKinematicsPlugin::initialize ( const std::string &  group_name,
const std::string &  base_name,
const std::string &  tip_name,
const double &  search_discretization 
) [virtual]

Initialization function for the kinematics.

Returns:
True if initialization was successful, false otherwise

Implements kinematics::KinematicsBase.

Definition at line 63 of file pr2_arm_kinematics_plugin.cpp.

Specifies if the node is active or not.

Returns:
True if the node is active, false otherwise.

Definition at line 56 of file pr2_arm_kinematics_plugin.cpp.

void pr2_arm_kinematics::PR2ArmKinematicsPlugin::jointSolutionCallback ( const KDL::JntArray &  jnt_array,
const KDL::Frame ik_pose,
arm_navigation_msgs::ArmNavigationErrorCodes error_code 
) [protected]

Definition at line 302 of file pr2_arm_kinematics_plugin.cpp.

bool pr2_arm_kinematics::PR2ArmKinematicsPlugin::searchPositionIK ( const geometry_msgs::Pose ik_pose,
const std::vector< double > &  ik_seed_state,
const double &  timeout,
std::vector< double > &  solution,
int &  error_code 
) [virtual]

Given a desired pose of the end-effector, search for the joint angles required to reach it. This particular method is intended for "searching" for a solutions by stepping through the redundancy (or other numerical routines).

Parameters:
ik_posethe desired pose of the link
ik_seed_statean initial guess solution for the inverse kinematics
Returns:
True if a valid solution was found, false otherwise

Implements kinematics::KinematicsBase.

Definition at line 171 of file pr2_arm_kinematics_plugin.cpp.

bool pr2_arm_kinematics::PR2ArmKinematicsPlugin::searchPositionIK ( const geometry_msgs::Pose ik_pose,
const std::vector< double > &  ik_seed_state,
const double &  timeout,
const unsigned int &  redundancy,
const double &  consistency_limit,
std::vector< double > &  solution,
int &  error_code 
) [virtual]

Given a desired pose of the end-effector, search for the joint angles required to reach it. This particular method is intended for "searching" for a solutions by stepping through the redundancy (or other numerical routines).

Parameters:
ik_posethe desired pose of the link
ik_seed_statean initial guess solution for the inverse kinematics
consistency_limitthe distance that the redundancy can be from the current position
Returns:
True if a valid solution was found, false otherwise

Implements kinematics::KinematicsBase.

Definition at line 221 of file pr2_arm_kinematics_plugin.cpp.

bool pr2_arm_kinematics::PR2ArmKinematicsPlugin::searchPositionIK ( const geometry_msgs::Pose ik_pose,
const std::vector< double > &  ik_seed_state,
const double &  timeout,
std::vector< double > &  solution,
const boost::function< void(const geometry_msgs::Pose &ik_pose, const std::vector< double > &ik_solution, int &error_code)> &  desired_pose_callback,
const boost::function< void(const geometry_msgs::Pose &ik_pose, const std::vector< double > &ik_solution, int &error_code)> &  solution_callback,
int &  error_code 
) [virtual]

Given a desired pose of the end-effector, search for the joint angles required to reach it. This particular method is intended for "searching" for a solutions by stepping through the redundancy (or other numerical routines).

Parameters:
ik_posethe desired pose of the link
ik_seed_statean initial guess solution for the inverse kinematics
Returns:
True if a valid solution was found, false otherwise

Implements kinematics::KinematicsBase.

Definition at line 322 of file pr2_arm_kinematics_plugin.cpp.

bool pr2_arm_kinematics::PR2ArmKinematicsPlugin::searchPositionIK ( const geometry_msgs::Pose ik_pose,
const std::vector< double > &  ik_seed_state,
const double &  timeout,
const unsigned int &  redundancy,
const double &  consistency_limit,
std::vector< double > &  solution,
const boost::function< void(const geometry_msgs::Pose &ik_pose, const std::vector< double > &ik_solution, int &error_code)> &  desired_pose_callback,
const boost::function< void(const geometry_msgs::Pose &ik_pose, const std::vector< double > &ik_solution, int &error_code)> &  solution_callback,
int &  error_code 
) [virtual]

Given a desired pose of the end-effector, search for the joint angles required to reach it. This particular method is intended for "searching" for a solutions by stepping through the redundancy (or other numerical routines). The consistency_limit specifies that only certain redundancy positions around those specified in the seed state are admissible and need to be searched.

Parameters:
ik_posethe desired pose of the link
ik_seed_statean initial guess solution for the inverse kinematics
consistency_limitthe distance that the redundancy can be from the current position
Returns:
True if a valid solution was found, false otherwise

Implements kinematics::KinematicsBase.

Definition at line 380 of file pr2_arm_kinematics_plugin.cpp.


Member Data Documentation

Definition at line 185 of file pr2_arm_kinematics_plugin.h.

boost::function<void(const geometry_msgs::Pose &ik_pose,const std::vector<double> &ik_solution,int &error_code)> pr2_arm_kinematics::PR2ArmKinematicsPlugin::desiredPoseCallback_ [protected]

Definition at line 198 of file pr2_arm_kinematics_plugin.h.

Definition at line 193 of file pr2_arm_kinematics_plugin.h.

Definition at line 190 of file pr2_arm_kinematics_plugin.h.

Definition at line 196 of file pr2_arm_kinematics_plugin.h.

Definition at line 190 of file pr2_arm_kinematics_plugin.h.

Definition at line 186 of file pr2_arm_kinematics_plugin.h.

Definition at line 190 of file pr2_arm_kinematics_plugin.h.

Definition at line 196 of file pr2_arm_kinematics_plugin.h.

Definition at line 190 of file pr2_arm_kinematics_plugin.h.

Definition at line 194 of file pr2_arm_kinematics_plugin.h.

Definition at line 195 of file pr2_arm_kinematics_plugin.h.

Definition at line 188 of file pr2_arm_kinematics_plugin.h.

Definition at line 189 of file pr2_arm_kinematics_plugin.h.

Definition at line 187 of file pr2_arm_kinematics_plugin.h.

Definition at line 188 of file pr2_arm_kinematics_plugin.h.

Definition at line 192 of file pr2_arm_kinematics_plugin.h.

boost::function<void(const geometry_msgs::Pose &ik_pose,const std::vector<double> &ik_solution,int &error_code)> pr2_arm_kinematics::PR2ArmKinematicsPlugin::solutionCallback_ [protected]

Definition at line 199 of file pr2_arm_kinematics_plugin.h.


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


pr2_arm_kinematics
Author(s): Sachin Chitta
autogenerated on Tue Apr 22 2014 19:33:02