Provides an interface for kinematics solvers. More...
#include <kinematics_base.h>
Public Member Functions | |
virtual const std::string & | getBaseName () const |
virtual const std::string & | getGroupName () const |
Return the frame in which the kinematics is operating. | |
virtual const std::vector < std::string > & | getJointNames () const =0 |
Return all the joint names in the order they are used internally. | |
virtual const std::vector < std::string > & | getLinkNames () const =0 |
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)=0 |
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)=0 |
Given a desired pose of the end-effector, compute the joint angles to reach it. | |
double | getSearchDiscretization () const |
virtual const std::string & | getTipName () const |
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)=0 |
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)=0 |
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)=0 |
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)=0 |
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)=0 |
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. | |
void | setSearchDiscretization (double sd) |
virtual void | setValues (const std::string &group_name, const std::string &base_name, const std::string &tip_name, const double &search_discretization) |
Initialization function for the kinematics. | |
virtual | ~KinematicsBase () |
Virtual destructor for the interface. | |
Protected Member Functions | |
KinematicsBase () | |
Protected Attributes | |
std::string | base_name_ |
std::string | group_name_ |
double | search_discretization_ |
std::string | tip_name_ |
Provides an interface for kinematics solvers.
Definition at line 61 of file kinematics_base.h.
virtual kinematics::KinematicsBase::~KinematicsBase | ( | ) | [inline, virtual] |
Virtual destructor for the interface.
Definition at line 204 of file kinematics_base.h.
kinematics::KinematicsBase::KinematicsBase | ( | ) | [inline, protected] |
Definition at line 219 of file kinematics_base.h.
virtual const std::string& kinematics::KinematicsBase::getBaseName | ( | ) | const [inline, virtual] |
Definition at line 180 of file kinematics_base.h.
virtual const std::string& kinematics::KinematicsBase::getGroupName | ( | ) | const [inline, virtual] |
Return the frame in which the kinematics is operating.
Definition at line 176 of file kinematics_base.h.
virtual const std::vector<std::string>& kinematics::KinematicsBase::getJointNames | ( | ) | const [pure virtual] |
Return all the joint names in the order they are used internally.
virtual const std::vector<std::string>& kinematics::KinematicsBase::getLinkNames | ( | ) | const [pure virtual] |
Return all the link names in the order they are represented internally.
virtual bool kinematics::KinematicsBase::getPositionFK | ( | const std::vector< std::string > & | link_names, |
const std::vector< double > & | joint_angles, | ||
std::vector< geometry_msgs::Pose > & | poses | ||
) | [pure 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 |
virtual bool kinematics::KinematicsBase::getPositionIK | ( | const geometry_msgs::Pose & | ik_pose, |
const std::vector< double > & | ik_seed_state, | ||
std::vector< double > & | solution, | ||
int & | error_code | ||
) | [pure virtual] |
Given a desired pose of the end-effector, compute the joint angles to reach it.
ik_link_name | - the name of the link for which IK is being computed |
ik_pose | the desired pose of the link |
ik_seed_state | an initial guess solution for the inverse kinematics |
double kinematics::KinematicsBase::getSearchDiscretization | ( | ) | const [inline] |
Definition at line 210 of file kinematics_base.h.
virtual const std::string& kinematics::KinematicsBase::getTipName | ( | ) | const [inline, virtual] |
Return the links for which kinematics can be computed.
Definition at line 187 of file kinematics_base.h.
virtual bool kinematics::KinematicsBase::initialize | ( | const std::string & | group_name, |
const std::string & | base_name, | ||
const std::string & | tip_name, | ||
const double & | search_discretization | ||
) | [pure virtual] |
virtual bool kinematics::KinematicsBase::searchPositionIK | ( | const geometry_msgs::Pose & | ik_pose, |
const std::vector< double > & | ik_seed_state, | ||
const double & | timeout, | ||
std::vector< double > & | solution, | ||
int & | error_code | ||
) | [pure 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 |
virtual bool kinematics::KinematicsBase::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 | ||
) | [pure 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 |
virtual bool kinematics::KinematicsBase::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 | ||
) | [pure 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 |
virtual bool kinematics::KinematicsBase::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 | ||
) | [pure 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 |
void kinematics::KinematicsBase::setSearchDiscretization | ( | double | sd | ) | [inline] |
Definition at line 206 of file kinematics_base.h.
virtual void kinematics::KinematicsBase::setValues | ( | const std::string & | group_name, |
const std::string & | base_name, | ||
const std::string & | tip_name, | ||
const double & | search_discretization | ||
) | [inline, virtual] |
Initialization function for the kinematics.
Definition at line 157 of file kinematics_base.h.
std::string kinematics::KinematicsBase::base_name_ [protected] |
Definition at line 216 of file kinematics_base.h.
std::string kinematics::KinematicsBase::group_name_ [protected] |
Definition at line 215 of file kinematics_base.h.
double kinematics::KinematicsBase::search_discretization_ [protected] |
Definition at line 218 of file kinematics_base.h.
std::string kinematics::KinematicsBase::tip_name_ [protected] |
Definition at line 217 of file kinematics_base.h.