#include <arm_kinematics_constraint_aware.h>
Public Member Functions | |
ArmKinematicsConstraintAware () | |
bool | getConstraintAwarePositionIK (kinematics_msgs::GetConstraintAwarePositionIK::Request &request, kinematics_msgs::GetConstraintAwarePositionIK::Response &response) |
This method searches for and returns the closest solution to the initial guess in the first set of solutions it finds. | |
bool | getFKSolverInfo (kinematics_msgs::GetKinematicSolverInfo::Request &request, kinematics_msgs::GetKinematicSolverInfo::Response &response) |
bool | getIKSolverInfo (kinematics_msgs::GetKinematicSolverInfo::Request &request, kinematics_msgs::GetKinematicSolverInfo::Response &response) |
bool | getPositionFK (kinematics_msgs::GetPositionFK::Request &request, kinematics_msgs::GetPositionFK::Response &response) |
bool | getPositionIK (kinematics_msgs::GetPositionIK::Request &request, kinematics_msgs::GetPositionIK::Response &response) |
bool | isActive () |
virtual | ~ArmKinematicsConstraintAware () |
Private Member Functions | |
void | advertiseBaseKinematicsServices () |
void | advertiseConstraintIKService () |
void | collisionCheck (const geometry_msgs::Pose &ik_pose, const std::vector< double > &ik_solution, int &error_code) |
void | contactFound (collision_space::EnvironmentModel::Contact &contact) |
The ccost and display arguments should be bound by the caller. This is a callback function that gets called by the planning environment when a collision is found. | |
void | initialPoseCheck (const geometry_msgs::Pose &ik_pose, const std::vector< double > &ik_solution, int &error_code) |
bool | isReady (motion_planning_msgs::ArmNavigationErrorCodes &error_code) |
void | printStringVec (const std::string &prefix, const std::vector< std::string > &string_vector) |
void | sendEndEffectorPose (const planning_models::KinematicState *state, bool valid) |
bool | setupCollisionEnvironment (void) |
Private Attributes | |
bool | active_ |
std::vector < motion_planning_msgs::AllowedContactSpecification > | allowed_contacts_ |
std::vector< std::string > | arm_links_ |
kinematics_msgs::KinematicSolverInfo | chain_info_ |
planning_environment::CollisionModels * | collision_models_ |
motion_planning_msgs::OrderedCollisionOperations | collision_operations_ |
motion_planning_msgs::Constraints | constraints_ |
std::vector< std::string > | default_collision_links_ |
ros::Publisher | display_trajectory_publisher_ |
std::vector< std::string > | end_effector_collision_links_ |
ros::ServiceServer | fk_service_ |
ros::ServiceServer | fk_solver_info_service_ |
std::string | group_ |
ros::ServiceServer | ik_collision_service_ |
kinematics_msgs::PositionIKRequest | ik_request_ |
ros::ServiceServer | ik_service_ |
ros::ServiceServer | ik_solver_info_service_ |
planning_models::KinematicState * | kinematic_state_ |
pluginlib::ClassLoader < kinematics::KinematicsBase > | kinematics_loader_ |
kinematics::KinematicsBase * | kinematics_solver_ |
std::vector < motion_planning_msgs::LinkPadding > | link_padding_ |
ros::NodeHandle | node_handle_ |
planning_environment::PlanningMonitor * | planning_monitor_ |
urdf::Model | robot_model_ |
A model of the robot to see which joints wrap around. | |
bool | robot_model_initialized_ |
Flag that tells us if the robot model was initialized successfully. | |
ros::NodeHandle | root_handle_ |
std::string | root_name_ |
bool | setup_collision_environment_ |
tf::TransformListener | tf_ |
bool | use_collision_map_ |
ros::Publisher | vis_marker_array_publisher_ |
ros::Publisher | vis_marker_publisher_ |
bool | visualize_solution_ |
Definition at line 68 of file arm_kinematics_constraint_aware.h.
Definition at line 50 of file arm_kinematics_constraint_aware.cpp.
virtual arm_kinematics_constraint_aware::ArmKinematicsConstraintAware::~ArmKinematicsConstraintAware | ( | ) | [inline, virtual] |
Definition at line 84 of file arm_kinematics_constraint_aware.h.
void arm_kinematics_constraint_aware::ArmKinematicsConstraintAware::advertiseBaseKinematicsServices | ( | ) | [private] |
Definition at line 101 of file arm_kinematics_constraint_aware.cpp.
void arm_kinematics_constraint_aware::ArmKinematicsConstraintAware::advertiseConstraintIKService | ( | ) | [private] |
Definition at line 109 of file arm_kinematics_constraint_aware.cpp.
void arm_kinematics_constraint_aware::ArmKinematicsConstraintAware::collisionCheck | ( | const geometry_msgs::Pose & | ik_pose, |
const std::vector< double > & | ik_solution, | ||
int & | error_code | ||
) | [private] |
Definition at line 230 of file arm_kinematics_constraint_aware.cpp.
void arm_kinematics_constraint_aware::ArmKinematicsConstraintAware::contactFound | ( | collision_space::EnvironmentModel::Contact & | contact | ) | [private] |
The ccost and display arguments should be bound by the caller. This is a callback function that gets called by the planning environment when a collision is found.
Definition at line 490 of file arm_kinematics_constraint_aware.cpp.
bool arm_kinematics_constraint_aware::ArmKinematicsConstraintAware::getConstraintAwarePositionIK | ( | kinematics_msgs::GetConstraintAwarePositionIK::Request & | request, |
kinematics_msgs::GetConstraintAwarePositionIK::Response & | response | ||
) |
This method searches for and returns the closest solution to the initial guess in the first set of solutions it finds.
q_in | The initial guess for the inverse kinematics solution. The solver uses the joint value q_init(pr2_ik_->free_angle_) as as an input to the inverse kinematics. pr2_ik_->free_angle_ can either be 0 or 2 corresponding to the shoulder pan or shoulder roll angle |
p_in | A KDL::Frame representation of the position of the end-effector for which the IK is being solved. |
q_out | A std::vector of KDL::JntArray containing all found solutions. |
timeout | The amount of time (in seconds) to spend looking for a solution. |
Definition at line 140 of file arm_kinematics_constraint_aware.cpp.
bool arm_kinematics_constraint_aware::ArmKinematicsConstraintAware::getFKSolverInfo | ( | kinematics_msgs::GetKinematicSolverInfo::Request & | request, |
kinematics_msgs::GetKinematicSolverInfo::Response & | response | ||
) |
Definition at line 606 of file arm_kinematics_constraint_aware.cpp.
bool arm_kinematics_constraint_aware::ArmKinematicsConstraintAware::getIKSolverInfo | ( | kinematics_msgs::GetKinematicSolverInfo::Request & | request, |
kinematics_msgs::GetKinematicSolverInfo::Response & | response | ||
) |
Definition at line 594 of file arm_kinematics_constraint_aware.cpp.
bool arm_kinematics_constraint_aware::ArmKinematicsConstraintAware::getPositionFK | ( | kinematics_msgs::GetPositionFK::Request & | request, |
kinematics_msgs::GetPositionFK::Response & | response | ||
) |
Definition at line 618 of file arm_kinematics_constraint_aware.cpp.
bool arm_kinematics_constraint_aware::ArmKinematicsConstraintAware::getPositionIK | ( | kinematics_msgs::GetPositionIK::Request & | request, |
kinematics_msgs::GetPositionIK::Response & | response | ||
) |
Definition at line 551 of file arm_kinematics_constraint_aware.cpp.
void arm_kinematics_constraint_aware::ArmKinematicsConstraintAware::initialPoseCheck | ( | const geometry_msgs::Pose & | ik_pose, |
const std::vector< double > & | ik_solution, | ||
int & | error_code | ||
) | [private] |
Definition at line 257 of file arm_kinematics_constraint_aware.cpp.
bool arm_kinematics_constraint_aware::ArmKinematicsConstraintAware::isActive | ( | ) | [inline] |
Definition at line 117 of file arm_kinematics_constraint_aware.h.
bool arm_kinematics_constraint_aware::ArmKinematicsConstraintAware::isReady | ( | motion_planning_msgs::ArmNavigationErrorCodes & | error_code | ) | [private] |
Definition at line 115 of file arm_kinematics_constraint_aware.cpp.
void arm_kinematics_constraint_aware::ArmKinematicsConstraintAware::printStringVec | ( | const std::string & | prefix, |
const std::vector< std::string > & | string_vector | ||
) | [private] |
Definition at line 390 of file arm_kinematics_constraint_aware.cpp.
void arm_kinematics_constraint_aware::ArmKinematicsConstraintAware::sendEndEffectorPose | ( | const planning_models::KinematicState * | state, |
bool | valid | ||
) | [private] |
Definition at line 334 of file arm_kinematics_constraint_aware.cpp.
bool arm_kinematics_constraint_aware::ArmKinematicsConstraintAware::setupCollisionEnvironment | ( | void | ) | [private] |
Definition at line 399 of file arm_kinematics_constraint_aware.cpp.
Definition at line 122 of file arm_kinematics_constraint_aware.h.
std::vector<motion_planning_msgs::AllowedContactSpecification> arm_kinematics_constraint_aware::ArmKinematicsConstraintAware::allowed_contacts_ [private] |
Definition at line 149 of file arm_kinematics_constraint_aware.h.
std::vector<std::string> arm_kinematics_constraint_aware::ArmKinematicsConstraintAware::arm_links_ [private] |
Definition at line 136 of file arm_kinematics_constraint_aware.h.
kinematics_msgs::KinematicSolverInfo arm_kinematics_constraint_aware::ArmKinematicsConstraintAware::chain_info_ [private] |
Definition at line 160 of file arm_kinematics_constraint_aware.h.
planning_environment::CollisionModels* arm_kinematics_constraint_aware::ArmKinematicsConstraintAware::collision_models_ [private] |
Definition at line 126 of file arm_kinematics_constraint_aware.h.
motion_planning_msgs::OrderedCollisionOperations arm_kinematics_constraint_aware::ArmKinematicsConstraintAware::collision_operations_ [private] |
Definition at line 147 of file arm_kinematics_constraint_aware.h.
motion_planning_msgs::Constraints arm_kinematics_constraint_aware::ArmKinematicsConstraintAware::constraints_ [private] |
Definition at line 150 of file arm_kinematics_constraint_aware.h.
std::vector<std::string> arm_kinematics_constraint_aware::ArmKinematicsConstraintAware::default_collision_links_ [private] |
Definition at line 134 of file arm_kinematics_constraint_aware.h.
ros::Publisher arm_kinematics_constraint_aware::ArmKinematicsConstraintAware::display_trajectory_publisher_ [private] |
Definition at line 144 of file arm_kinematics_constraint_aware.h.
std::vector<std::string> arm_kinematics_constraint_aware::ArmKinematicsConstraintAware::end_effector_collision_links_ [private] |
Definition at line 135 of file arm_kinematics_constraint_aware.h.
ros::ServiceServer arm_kinematics_constraint_aware::ArmKinematicsConstraintAware::fk_service_ [private] |
Definition at line 125 of file arm_kinematics_constraint_aware.h.
ros::ServiceServer arm_kinematics_constraint_aware::ArmKinematicsConstraintAware::fk_solver_info_service_ [private] |
Definition at line 125 of file arm_kinematics_constraint_aware.h.
std::string arm_kinematics_constraint_aware::ArmKinematicsConstraintAware::group_ [private] |
Definition at line 129 of file arm_kinematics_constraint_aware.h.
ros::ServiceServer arm_kinematics_constraint_aware::ArmKinematicsConstraintAware::ik_collision_service_ [private] |
Definition at line 125 of file arm_kinematics_constraint_aware.h.
kinematics_msgs::PositionIKRequest arm_kinematics_constraint_aware::ArmKinematicsConstraintAware::ik_request_ [private] |
Definition at line 146 of file arm_kinematics_constraint_aware.h.
ros::ServiceServer arm_kinematics_constraint_aware::ArmKinematicsConstraintAware::ik_service_ [private] |
Definition at line 125 of file arm_kinematics_constraint_aware.h.
ros::ServiceServer arm_kinematics_constraint_aware::ArmKinematicsConstraintAware::ik_solver_info_service_ [private] |
Definition at line 125 of file arm_kinematics_constraint_aware.h.
planning_models::KinematicState* arm_kinematics_constraint_aware::ArmKinematicsConstraintAware::kinematic_state_ [private] |
Definition at line 128 of file arm_kinematics_constraint_aware.h.
pluginlib::ClassLoader<kinematics::KinematicsBase> arm_kinematics_constraint_aware::ArmKinematicsConstraintAware::kinematics_loader_ [private] |
Definition at line 120 of file arm_kinematics_constraint_aware.h.
kinematics::KinematicsBase* arm_kinematics_constraint_aware::ArmKinematicsConstraintAware::kinematics_solver_ [private] |
Definition at line 121 of file arm_kinematics_constraint_aware.h.
std::vector<motion_planning_msgs::LinkPadding> arm_kinematics_constraint_aware::ArmKinematicsConstraintAware::link_padding_ [private] |
Definition at line 148 of file arm_kinematics_constraint_aware.h.
ros::NodeHandle arm_kinematics_constraint_aware::ArmKinematicsConstraintAware::node_handle_ [private] |
Definition at line 124 of file arm_kinematics_constraint_aware.h.
planning_environment::PlanningMonitor* arm_kinematics_constraint_aware::ArmKinematicsConstraintAware::planning_monitor_ [private] |
Definition at line 127 of file arm_kinematics_constraint_aware.h.
A model of the robot to see which joints wrap around.
Definition at line 163 of file arm_kinematics_constraint_aware.h.
bool arm_kinematics_constraint_aware::ArmKinematicsConstraintAware::robot_model_initialized_ [private] |
Flag that tells us if the robot model was initialized successfully.
Definition at line 165 of file arm_kinematics_constraint_aware.h.
ros::NodeHandle arm_kinematics_constraint_aware::ArmKinematicsConstraintAware::root_handle_ [private] |
Definition at line 124 of file arm_kinematics_constraint_aware.h.
std::string arm_kinematics_constraint_aware::ArmKinematicsConstraintAware::root_name_ [private] |
Definition at line 129 of file arm_kinematics_constraint_aware.h.
bool arm_kinematics_constraint_aware::ArmKinematicsConstraintAware::setup_collision_environment_ [private] |
Definition at line 151 of file arm_kinematics_constraint_aware.h.
Definition at line 166 of file arm_kinematics_constraint_aware.h.
Definition at line 130 of file arm_kinematics_constraint_aware.h.
ros::Publisher arm_kinematics_constraint_aware::ArmKinematicsConstraintAware::vis_marker_array_publisher_ [private] |
Definition at line 132 of file arm_kinematics_constraint_aware.h.
ros::Publisher arm_kinematics_constraint_aware::ArmKinematicsConstraintAware::vis_marker_publisher_ [private] |
Definition at line 131 of file arm_kinematics_constraint_aware.h.
Definition at line 145 of file arm_kinematics_constraint_aware.h.