Public Member Functions | Protected Member Functions | Protected Attributes
reem_kinematics_constraint_aware::ReemKinematicsPlugin Class Reference

#include <reem_arm_kinematics_plugin.h>

Inheritance diagram for reem_kinematics_constraint_aware::ReemKinematicsPlugin:
Inheritance graph
[legend]

List of all members.

Public Member Functions

std::string getBaseFrame ()
 Return the frame in which the kinematics is operating.
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.
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.
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.
bool getPositionIK (const geometry_msgs::Pose &ik_pose, const std::vector< double > &ik_seed_state, const std::vector< double > &posture, std::vector< double > &solution, int &error_code)
 Given a desired pose of the end-effector, compute the joint angles to reach it.
std::string getToolFrame ()
 Return the links for which kinematics can be computed.
virtual bool initialize (const std::string &group_name, const std::string &base_name, const std::string &tip_name, const double &search_discretization=.01)
 Initialization function for the kinematics.
bool isActive ()
 Specifies if the node is active or not.
 ReemKinematicsPlugin ()
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).
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

bool checkConsistency (const KDL::JntArray &seed_state, const unsigned int &redundancy, const double &consistency_limit, const KDL::JntArray &solution) const
double genRandomNumber (const double &min, const double &max)
int getJointIndex (const std::string &name)
int getKDLSegmentIndex (const std::string &name)
KDL::JntArray getRandomConfiguration ()
KDL::JntArray getRandomConfiguration (const KDL::JntArray &seed_state, const unsigned int &redundancy, const double &consistency_limit)
bool loadModel (const std::string xml)
bool readJoints (urdf::Model &robot_model)

Protected Attributes

bool active_
kinematics_msgs::KinematicSolverInfo chain_info_
std::vector< double > default_posture_
unsigned int dimension_
boost::shared_ptr
< KDL::ChainFkSolverPos_recursive
fk_solver_
boost::shared_ptr< IkSolverik_solver_
KDL::JntArray joint_max_
KDL::JntArray joint_min_
KDL::Chain kdl_chain_
int max_search_iterations_

Detailed Description

Definition at line 77 of file reem_arm_kinematics_plugin.h.


Constructor & Destructor Documentation

Definition at line 55 of file reem_arm_kinematics_plugin.cpp.


Member Function Documentation

bool reem_kinematics_constraint_aware::ReemKinematicsPlugin::checkConsistency ( const KDL::JntArray &  seed_state,
const unsigned int &  redundancy,
const double &  consistency_limit,
const KDL::JntArray &  solution 
) const [protected]

Definition at line 101 of file reem_arm_kinematics_plugin.cpp.

double reem_kinematics_constraint_aware::ReemKinematicsPlugin::genRandomNumber ( const double &  min,
const double &  max 
) [protected]

Definition at line 67 of file reem_arm_kinematics_plugin.cpp.

Return the frame in which the kinematics is operating.

Returns:
the string name of the frame in which the kinematics is operating

Implements kinematics::KinematicsBase.

Definition at line 694 of file reem_arm_kinematics_plugin.cpp.

int reem_kinematics_constraint_aware::ReemKinematicsPlugin::getJointIndex ( const std::string &  name) [protected]

Definition at line 300 of file reem_arm_kinematics_plugin.cpp.

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

Definition at line 714 of file reem_arm_kinematics_plugin.cpp.

Definition at line 309 of file reem_arm_kinematics_plugin.cpp.

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

Definition at line 723 of file reem_arm_kinematics_plugin.cpp.

bool reem_kinematics_constraint_aware::ReemKinematicsPlugin::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 655 of file reem_arm_kinematics_plugin.cpp.

bool reem_kinematics_constraint_aware::ReemKinematicsPlugin::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_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 376 of file reem_arm_kinematics_plugin.cpp.

bool reem_kinematics_constraint_aware::ReemKinematicsPlugin::getPositionIK ( const geometry_msgs::Pose ik_pose,
const std::vector< double > &  ik_seed_state,
const std::vector< double > &  posture,
std::vector< double > &  solution,
int &  error_code 
)

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

Parameters:
ik_posethe desired pose of the link
ik_seed_statean initial guess solution for the inverse kinematics
postureJoint posture to be used as secondary task, tht is projected on the nullspace of the primary IK task.
Returns:
True if a valid solution was found, false otherwise

Definition at line 321 of file reem_arm_kinematics_plugin.cpp.

Definition at line 74 of file reem_arm_kinematics_plugin.cpp.

KDL::JntArray reem_kinematics_constraint_aware::ReemKinematicsPlugin::getRandomConfiguration ( const KDL::JntArray &  seed_state,
const unsigned int &  redundancy,
const double &  consistency_limit 
) [protected]

Definition at line 83 of file reem_arm_kinematics_plugin.cpp.

Return the links for which kinematics can be computed.

Implements kinematics::KinematicsBase.

Definition at line 704 of file reem_arm_kinematics_plugin.cpp.

bool reem_kinematics_constraint_aware::ReemKinematicsPlugin::initialize ( const std::string &  group_name,
const std::string &  base_name,
const std::string &  tip_name,
const double &  search_discretization = .01 
) [virtual]

Initialization function for the kinematics.

Returns:
True if initialization was successful, false otherwise

Definition at line 120 of file reem_arm_kinematics_plugin.cpp.

Specifies if the node is active or not.

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

Definition at line 60 of file reem_arm_kinematics_plugin.cpp.

Definition at line 212 of file reem_arm_kinematics_plugin.cpp.

Definition at line 236 of file reem_arm_kinematics_plugin.cpp.

bool reem_kinematics_constraint_aware::ReemKinematicsPlugin::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 388 of file reem_arm_kinematics_plugin.cpp.

bool reem_kinematics_constraint_aware::ReemKinematicsPlugin::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
thedistance that the redundancy can be from the current position
Returns:
True if a valid solution was found, false otherwise

Definition at line 448 of file reem_arm_kinematics_plugin.cpp.

bool reem_kinematics_constraint_aware::ReemKinematicsPlugin::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 512 of file reem_arm_kinematics_plugin.cpp.

bool reem_kinematics_constraint_aware::ReemKinematicsPlugin::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

Definition at line 581 of file reem_arm_kinematics_plugin.cpp.


Member Data Documentation

Definition at line 243 of file reem_arm_kinematics_plugin.h.

kinematics_msgs::KinematicSolverInfo reem_kinematics_constraint_aware::ReemKinematicsPlugin::chain_info_ [protected]

Definition at line 244 of file reem_arm_kinematics_plugin.h.

Definition at line 252 of file reem_arm_kinematics_plugin.h.

Definition at line 249 of file reem_arm_kinematics_plugin.h.

Definition at line 246 of file reem_arm_kinematics_plugin.h.

Definition at line 247 of file reem_arm_kinematics_plugin.h.

Definition at line 251 of file reem_arm_kinematics_plugin.h.

Definition at line 251 of file reem_arm_kinematics_plugin.h.

Definition at line 250 of file reem_arm_kinematics_plugin.h.

Definition at line 241 of file reem_arm_kinematics_plugin.h.


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


reem_kinematics_constraint_aware
Author(s): Adolfo Rodriguez Tsouroukdissian, Hilario Tome.
autogenerated on Thu Jan 2 2014 11:42:41