#include <reem_arm_kinematics_plugin.h>
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< IkSolver > | ik_solver_ |
KDL::JntArray | joint_max_ |
KDL::JntArray | joint_min_ |
KDL::Chain | kdl_chain_ |
int | max_search_iterations_ |
Definition at line 77 of file reem_arm_kinematics_plugin.h.
Definition at line 55 of file reem_arm_kinematics_plugin.cpp.
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.
std::string reem_kinematics_constraint_aware::ReemKinematicsPlugin::getBaseFrame | ( | ) | [virtual] |
Return 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.
const std::vector< std::string > & reem_kinematics_constraint_aware::ReemKinematicsPlugin::getJointNames | ( | ) | const |
Return all the joint names in the order they are used internally.
Definition at line 714 of file reem_arm_kinematics_plugin.cpp.
int reem_kinematics_constraint_aware::ReemKinematicsPlugin::getKDLSegmentIndex | ( | const std::string & | name | ) | [protected] |
Definition at line 309 of file reem_arm_kinematics_plugin.cpp.
const std::vector< std::string > & reem_kinematics_constraint_aware::ReemKinematicsPlugin::getLinkNames | ( | ) | const |
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.
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 |
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.
ik_pose | the desired pose of the link |
ik_seed_state | an initial guess solution for the inverse kinematics |
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.
ik_pose | the desired pose of the link |
ik_seed_state | an initial guess solution for the inverse kinematics |
posture | Joint posture to be used as secondary task, tht is projected on the nullspace of the primary IK task. |
Definition at line 321 of file reem_arm_kinematics_plugin.cpp.
KDL::JntArray reem_kinematics_constraint_aware::ReemKinematicsPlugin::getRandomConfiguration | ( | ) | [protected] |
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.
std::string reem_kinematics_constraint_aware::ReemKinematicsPlugin::getToolFrame | ( | ) | [virtual] |
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.
Definition at line 120 of file reem_arm_kinematics_plugin.cpp.
Specifies if the node is active or not.
Definition at line 60 of file reem_arm_kinematics_plugin.cpp.
bool reem_kinematics_constraint_aware::ReemKinematicsPlugin::loadModel | ( | const std::string | xml | ) | [protected] |
Definition at line 212 of file reem_arm_kinematics_plugin.cpp.
bool reem_kinematics_constraint_aware::ReemKinematicsPlugin::readJoints | ( | urdf::Model & | robot_model | ) | [protected] |
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).
ik_pose | the desired pose of the link |
ik_seed_state | an initial guess solution for the inverse kinematics |
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).
ik_pose | the desired pose of the link |
ik_seed_state | an initial guess solution for the inverse kinematics |
the | distance that the redundancy can be from the current position |
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).
ik_pose | the desired pose of the link |
ik_seed_state | an initial guess solution for the inverse kinematics |
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.
ik_pose | the desired pose of the link |
ik_seed_state | an initial guess solution for the inverse kinematics |
consistency_limit | the distance that the redundancy can be from the current position |
Definition at line 581 of file reem_arm_kinematics_plugin.cpp.
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.
std::vector<double> reem_kinematics_constraint_aware::ReemKinematicsPlugin::default_posture_ [protected] |
Definition at line 252 of file reem_arm_kinematics_plugin.h.
unsigned int reem_kinematics_constraint_aware::ReemKinematicsPlugin::dimension_ [protected] |
Definition at line 249 of file reem_arm_kinematics_plugin.h.
boost::shared_ptr<KDL::ChainFkSolverPos_recursive> reem_kinematics_constraint_aware::ReemKinematicsPlugin::fk_solver_ [protected] |
Definition at line 246 of file reem_arm_kinematics_plugin.h.
boost::shared_ptr<IkSolver> reem_kinematics_constraint_aware::ReemKinematicsPlugin::ik_solver_ [protected] |
Definition at line 247 of file reem_arm_kinematics_plugin.h.
KDL::JntArray reem_kinematics_constraint_aware::ReemKinematicsPlugin::joint_max_ [protected] |
Definition at line 251 of file reem_arm_kinematics_plugin.h.
KDL::JntArray reem_kinematics_constraint_aware::ReemKinematicsPlugin::joint_min_ [protected] |
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.