Public Member Functions | Private Member Functions | Private Attributes | List of all members
trac_ik_kinematics_plugin::TRAC_IKKinematicsPlugin Class Reference

#include <trac_ik_kinematics_plugin.hpp>

Inheritance diagram for trac_ik_kinematics_plugin::TRAC_IKKinematicsPlugin:
Inheritance graph
[legend]

Public Member Functions

const std::vector< std::string > & getJointNames () const
 
const std::vector< std::string > & getLinkNames () const
 
bool getPositionFK (const std::vector< std::string > &link_names, const std::vector< double > &joint_angles, std::vector< geometry_msgs::Pose > &poses) const
 Given a set of joint angles and a set of links, compute their pose. More...
 
bool getPositionIK (const geometry_msgs::Pose &ik_pose, const std::vector< double > &ik_seed_state, std::vector< double > &solution, moveit_msgs::MoveItErrorCodes &error_code, const kinematics::KinematicsQueryOptions &options=kinematics::KinematicsQueryOptions()) const
 Given a desired pose of the end-effector, compute the joint angles to reach it. More...
 
bool initialize (const std::string &robot_description, const std::string &group_name, const std::string &base_name, const std::string &tip_name, double search_discretization)
 
bool searchPositionIK (const geometry_msgs::Pose &ik_pose, const std::vector< double > &ik_seed_state, double timeout, std::vector< double > &solution, moveit_msgs::MoveItErrorCodes &error_code, const kinematics::KinematicsQueryOptions &options=kinematics::KinematicsQueryOptions()) const
 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). More...
 
bool searchPositionIK (const geometry_msgs::Pose &ik_pose, const std::vector< double > &ik_seed_state, double timeout, const std::vector< double > &consistency_limits, std::vector< double > &solution, moveit_msgs::MoveItErrorCodes &error_code, const kinematics::KinematicsQueryOptions &options=kinematics::KinematicsQueryOptions()) const
 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). More...
 
bool searchPositionIK (const geometry_msgs::Pose &ik_pose, const std::vector< double > &ik_seed_state, double timeout, std::vector< double > &solution, const IKCallbackFn &solution_callback, moveit_msgs::MoveItErrorCodes &error_code, const kinematics::KinematicsQueryOptions &options=kinematics::KinematicsQueryOptions()) const
 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). More...
 
bool searchPositionIK (const geometry_msgs::Pose &ik_pose, const std::vector< double > &ik_seed_state, double timeout, const std::vector< double > &consistency_limits, std::vector< double > &solution, const IKCallbackFn &solution_callback, moveit_msgs::MoveItErrorCodes &error_code, const kinematics::KinematicsQueryOptions &options=kinematics::KinematicsQueryOptions()) const
 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. More...
 
bool searchPositionIK (const geometry_msgs::Pose &ik_pose, const std::vector< double > &ik_seed_state, double timeout, std::vector< double > &solution, const IKCallbackFn &solution_callback, moveit_msgs::MoveItErrorCodes &error_code, const std::vector< double > &consistency_limits, const kinematics::KinematicsQueryOptions &options) const
 
 TRAC_IKKinematicsPlugin ()
 
 ~TRAC_IKKinematicsPlugin ()
 
- Public Member Functions inherited from kinematics::KinematicsBase
virtual const std::string & getBaseFrame () const
 
double getDefaultTimeout () const
 
virtual const std::string & getGroupName () const
 
virtual bool getPositionIK (const std::vector< geometry_msgs::Pose > &ik_poses, const std::vector< double > &ik_seed_state, std::vector< std::vector< double > > &solutions, KinematicsResult &result, const kinematics::KinematicsQueryOptions &options) const
 
virtual void getRedundantJoints (std::vector< unsigned int > &redundant_joint_indices) const
 
double getSearchDiscretization (int joint_index=0) const
 
std::vector< DiscretizationMethodgetSupportedDiscretizationMethods () const
 
virtual const std::string & getTipFrame () const
 
virtual const std::vector< std::string > & getTipFrames () const
 
virtual bool initialize (const std::string &robot_description, const std::string &group_name, const std::string &base_frame, const std::vector< std::string > &tip_frames, double search_discretization)
 
 KinematicsBase ()
 
virtual bool searchPositionIK (const std::vector< geometry_msgs::Pose > &ik_poses, const std::vector< double > &ik_seed_state, double timeout, const std::vector< double > &consistency_limits, std::vector< double > &solution, const IKCallbackFn &solution_callback, moveit_msgs::MoveItErrorCodes &error_code, const kinematics::KinematicsQueryOptions &options=kinematics::KinematicsQueryOptions(), const moveit::core::RobotState *context_state=NULL) const
 
void setDefaultTimeout (double timeout)
 
virtual bool setRedundantJoints (const std::vector< unsigned int > &redundant_joint_indices)
 
bool setRedundantJoints (const std::vector< std::string > &redundant_joint_names)
 
void setSearchDiscretization (const std::map< int, double > &discretization)
 
void setSearchDiscretization (double sd)
 
virtual void setValues (const std::string &robot_description, const std::string &group_name, const std::string &base_frame, const std::string &tip_frame, double search_discretization)
 
virtual void setValues (const std::string &robot_description, const std::string &group_name, const std::string &base_frame, const std::vector< std::string > &tip_frames, double search_discretization)
 
virtual bool supportsGroup (const moveit::core::JointModelGroup *jmg, std::string *error_text_out=NULL) const
 
virtual ~KinematicsBase ()
 

Private Member Functions

int getKDLSegmentIndex (const std::string &name) const
 

Private Attributes

bool active_
 
KDL::Chain chain
 
KDL::JntArray joint_max
 
KDL::JntArray joint_min
 
std::vector< std::string > joint_names_
 
std::vector< std::string > link_names_
 
uint num_joints_
 
bool position_ik_
 
std::string solve_type
 

Additional Inherited Members

- Public Types inherited from kinematics::KinematicsBase
typedef boost::function< void(const geometry_msgs::Pose &ik_pose, const std::vector< double > &ik_solution, moveit_msgs::MoveItErrorCodes &error_code)> IKCallbackFn
 
- Static Public Attributes inherited from kinematics::KinematicsBase
static const double DEFAULT_SEARCH_DISCRETIZATION
 
static const double DEFAULT_TIMEOUT
 
- Protected Member Functions inherited from kinematics::KinematicsBase
bool lookupParam (const std::string &param, T &val, const T &default_val) const
 
- Protected Attributes inherited from kinematics::KinematicsBase
std::string base_frame_
 
double default_timeout_
 
std::string group_name_
 
std::map< int, double > redundant_joint_discretization_
 
std::vector< unsigned int > redundant_joint_indices_
 
std::string robot_description_
 
double search_discretization_
 
std::vector< DiscretizationMethodsupported_methods_
 
std::string tip_frame_
 
std::vector< std::string > tip_frames_
 

Detailed Description

Definition at line 40 of file trac_ik_kinematics_plugin.hpp.

Constructor & Destructor Documentation

trac_ik_kinematics_plugin::TRAC_IKKinematicsPlugin::TRAC_IKKinematicsPlugin ( )
inline

Definition at line 69 of file trac_ik_kinematics_plugin.hpp.

trac_ik_kinematics_plugin::TRAC_IKKinematicsPlugin::~TRAC_IKKinematicsPlugin ( )
inline

Definition at line 71 of file trac_ik_kinematics_plugin.hpp.

Member Function Documentation

const std::vector<std::string>& trac_ik_kinematics_plugin::TRAC_IKKinematicsPlugin::getJointNames ( ) const
inlinevirtual

Implements kinematics::KinematicsBase.

Definition at line 56 of file trac_ik_kinematics_plugin.hpp.

int trac_ik_kinematics_plugin::TRAC_IKKinematicsPlugin::getKDLSegmentIndex ( const std::string &  name) const
private

Definition at line 156 of file trac_ik_kinematics_plugin.cpp.

const std::vector<std::string>& trac_ik_kinematics_plugin::TRAC_IKKinematicsPlugin::getLinkNames ( ) const
inlinevirtual

Implements kinematics::KinematicsBase.

Definition at line 60 of file trac_ik_kinematics_plugin.hpp.

bool trac_ik_kinematics_plugin::TRAC_IKKinematicsPlugin::getPositionFK ( const std::vector< std::string > &  link_names,
const std::vector< double > &  joint_angles,
std::vector< geometry_msgs::Pose > &  poses 
) const
virtual

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

This FK routine is only used if 'use_plugin_fk' is set in the 'arm_kinematics_constraint_aware' node, otherwise ROS TF is used to calculate the forward kinematics

Parameters
link_namesA set of links for which FK needs to be computed
joint_anglesThe state for which FK is being computed
posesThe resultant set of poses (in the frame returned by getBaseFrame())
Returns
True if a valid solution was found, false otherwise

Implements kinematics::KinematicsBase.

Definition at line 171 of file trac_ik_kinematics_plugin.cpp.

bool trac_ik_kinematics_plugin::TRAC_IKKinematicsPlugin::getPositionIK ( const geometry_msgs::Pose ik_pose,
const std::vector< double > &  ik_seed_state,
std::vector< double > &  solution,
moveit_msgs::MoveItErrorCodes &  error_code,
const kinematics::KinematicsQueryOptions options = kinematics::KinematicsQueryOptions() 
) const
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
solutionthe solution vector
error_codean error code that encodes the reason for failure or success
Returns
True if a valid solution was found, false otherwise

Implements kinematics::KinematicsBase.

Definition at line 218 of file trac_ik_kinematics_plugin.cpp.

bool trac_ik_kinematics_plugin::TRAC_IKKinematicsPlugin::initialize ( const std::string &  robot_description,
const std::string &  group_name,
const std::string &  base_name,
const std::string &  tip_name,
double  search_discretization 
)
virtual

Implements kinematics::KinematicsBase.

Definition at line 45 of file trac_ik_kinematics_plugin.cpp.

bool trac_ik_kinematics_plugin::TRAC_IKKinematicsPlugin::searchPositionIK ( const geometry_msgs::Pose ik_pose,
const std::vector< double > &  ik_seed_state,
double  timeout,
std::vector< double > &  solution,
moveit_msgs::MoveItErrorCodes &  error_code,
const kinematics::KinematicsQueryOptions options = kinematics::KinematicsQueryOptions() 
) const
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 237 of file trac_ik_kinematics_plugin.cpp.

bool trac_ik_kinematics_plugin::TRAC_IKKinematicsPlugin::searchPositionIK ( const geometry_msgs::Pose ik_pose,
const std::vector< double > &  ik_seed_state,
double  timeout,
const std::vector< double > &  consistency_limits,
std::vector< double > &  solution,
moveit_msgs::MoveItErrorCodes &  error_code,
const kinematics::KinematicsQueryOptions options = kinematics::KinematicsQueryOptions() 
) const
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

Implements kinematics::KinematicsBase.

Definition at line 257 of file trac_ik_kinematics_plugin.cpp.

bool trac_ik_kinematics_plugin::TRAC_IKKinematicsPlugin::searchPositionIK ( const geometry_msgs::Pose ik_pose,
const std::vector< double > &  ik_seed_state,
double  timeout,
std::vector< double > &  solution,
const IKCallbackFn solution_callback,
moveit_msgs::MoveItErrorCodes &  error_code,
const kinematics::KinematicsQueryOptions options = kinematics::KinematicsQueryOptions() 
) const
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 276 of file trac_ik_kinematics_plugin.cpp.

bool trac_ik_kinematics_plugin::TRAC_IKKinematicsPlugin::searchPositionIK ( const geometry_msgs::Pose ik_pose,
const std::vector< double > &  ik_seed_state,
double  timeout,
const std::vector< double > &  consistency_limits,
std::vector< double > &  solution,
const IKCallbackFn solution_callback,
moveit_msgs::MoveItErrorCodes &  error_code,
const kinematics::KinematicsQueryOptions options = kinematics::KinematicsQueryOptions() 
) const
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 295 of file trac_ik_kinematics_plugin.cpp.

bool trac_ik_kinematics_plugin::TRAC_IKKinematicsPlugin::searchPositionIK ( const geometry_msgs::Pose ik_pose,
const std::vector< double > &  ik_seed_state,
double  timeout,
std::vector< double > &  solution,
const IKCallbackFn solution_callback,
moveit_msgs::MoveItErrorCodes &  error_code,
const std::vector< double > &  consistency_limits,
const kinematics::KinematicsQueryOptions options 
) const

Definition at line 314 of file trac_ik_kinematics_plugin.cpp.

Member Data Documentation

bool trac_ik_kinematics_plugin::TRAC_IKKinematicsPlugin::active_
private

Definition at line 46 of file trac_ik_kinematics_plugin.hpp.

KDL::Chain trac_ik_kinematics_plugin::TRAC_IKKinematicsPlugin::chain
private

Definition at line 48 of file trac_ik_kinematics_plugin.hpp.

KDL::JntArray trac_ik_kinematics_plugin::TRAC_IKKinematicsPlugin::joint_max
private

Definition at line 51 of file trac_ik_kinematics_plugin.hpp.

KDL::JntArray trac_ik_kinematics_plugin::TRAC_IKKinematicsPlugin::joint_min
private

Definition at line 51 of file trac_ik_kinematics_plugin.hpp.

std::vector<std::string> trac_ik_kinematics_plugin::TRAC_IKKinematicsPlugin::joint_names_
private

Definition at line 42 of file trac_ik_kinematics_plugin.hpp.

std::vector<std::string> trac_ik_kinematics_plugin::TRAC_IKKinematicsPlugin::link_names_
private

Definition at line 43 of file trac_ik_kinematics_plugin.hpp.

uint trac_ik_kinematics_plugin::TRAC_IKKinematicsPlugin::num_joints_
private

Definition at line 45 of file trac_ik_kinematics_plugin.hpp.

bool trac_ik_kinematics_plugin::TRAC_IKKinematicsPlugin::position_ik_
private

Definition at line 49 of file trac_ik_kinematics_plugin.hpp.

std::string trac_ik_kinematics_plugin::TRAC_IKKinematicsPlugin::solve_type
private

Definition at line 53 of file trac_ik_kinematics_plugin.hpp.


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


trac_ik_kinematics_plugin
Author(s): Patrick Beeson
autogenerated on Tue Jun 1 2021 02:38:39