#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 56 of file arm_kinematics_constraint_aware.h.
| arm_kinematics_constraint_aware::ArmKinematicsConstraintAware::ArmKinematicsConstraintAware | ( | ) |
Definition at line 49 of file arm_kinematics_constraint_aware.cpp.
| virtual arm_kinematics_constraint_aware::ArmKinematicsConstraintAware::~ArmKinematicsConstraintAware | ( | ) | [inline, virtual] |
Definition at line 70 of file arm_kinematics_constraint_aware.h.
| void arm_kinematics_constraint_aware::ArmKinematicsConstraintAware::advertiseBaseKinematicsServices | ( | ) | [private] |
Definition at line 100 of file arm_kinematics_constraint_aware.cpp.
| void arm_kinematics_constraint_aware::ArmKinematicsConstraintAware::advertiseConstraintIKService | ( | ) | [private] |
Definition at line 108 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 229 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 489 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 139 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 605 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 593 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 617 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 550 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 256 of file arm_kinematics_constraint_aware.cpp.
| bool arm_kinematics_constraint_aware::ArmKinematicsConstraintAware::isActive | ( | ) | [inline] |
Definition at line 103 of file arm_kinematics_constraint_aware.h.
| bool arm_kinematics_constraint_aware::ArmKinematicsConstraintAware::isReady | ( | motion_planning_msgs::ArmNavigationErrorCodes & | error_code | ) | [private] |
Definition at line 114 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 389 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 333 of file arm_kinematics_constraint_aware.cpp.
| bool arm_kinematics_constraint_aware::ArmKinematicsConstraintAware::setupCollisionEnvironment | ( | void | ) | [private] |
Definition at line 398 of file arm_kinematics_constraint_aware.cpp.
Definition at line 108 of file arm_kinematics_constraint_aware.h.
std::vector<motion_planning_msgs::AllowedContactSpecification> arm_kinematics_constraint_aware::ArmKinematicsConstraintAware::allowed_contacts_ [private] |
Definition at line 135 of file arm_kinematics_constraint_aware.h.
std::vector<std::string> arm_kinematics_constraint_aware::ArmKinematicsConstraintAware::arm_links_ [private] |
Definition at line 122 of file arm_kinematics_constraint_aware.h.
kinematics_msgs::KinematicSolverInfo arm_kinematics_constraint_aware::ArmKinematicsConstraintAware::chain_info_ [private] |
Definition at line 146 of file arm_kinematics_constraint_aware.h.
planning_environment::CollisionModels* arm_kinematics_constraint_aware::ArmKinematicsConstraintAware::collision_models_ [private] |
Definition at line 112 of file arm_kinematics_constraint_aware.h.
motion_planning_msgs::OrderedCollisionOperations arm_kinematics_constraint_aware::ArmKinematicsConstraintAware::collision_operations_ [private] |
Definition at line 133 of file arm_kinematics_constraint_aware.h.
motion_planning_msgs::Constraints arm_kinematics_constraint_aware::ArmKinematicsConstraintAware::constraints_ [private] |
Definition at line 136 of file arm_kinematics_constraint_aware.h.
std::vector<std::string> arm_kinematics_constraint_aware::ArmKinematicsConstraintAware::default_collision_links_ [private] |
Definition at line 120 of file arm_kinematics_constraint_aware.h.
ros::Publisher arm_kinematics_constraint_aware::ArmKinematicsConstraintAware::display_trajectory_publisher_ [private] |
Definition at line 130 of file arm_kinematics_constraint_aware.h.
std::vector<std::string> arm_kinematics_constraint_aware::ArmKinematicsConstraintAware::end_effector_collision_links_ [private] |
Definition at line 121 of file arm_kinematics_constraint_aware.h.
ros::ServiceServer arm_kinematics_constraint_aware::ArmKinematicsConstraintAware::fk_service_ [private] |
Definition at line 111 of file arm_kinematics_constraint_aware.h.
ros::ServiceServer arm_kinematics_constraint_aware::ArmKinematicsConstraintAware::fk_solver_info_service_ [private] |
Definition at line 111 of file arm_kinematics_constraint_aware.h.
std::string arm_kinematics_constraint_aware::ArmKinematicsConstraintAware::group_ [private] |
Definition at line 115 of file arm_kinematics_constraint_aware.h.
ros::ServiceServer arm_kinematics_constraint_aware::ArmKinematicsConstraintAware::ik_collision_service_ [private] |
Definition at line 111 of file arm_kinematics_constraint_aware.h.
kinematics_msgs::PositionIKRequest arm_kinematics_constraint_aware::ArmKinematicsConstraintAware::ik_request_ [private] |
Definition at line 132 of file arm_kinematics_constraint_aware.h.
ros::ServiceServer arm_kinematics_constraint_aware::ArmKinematicsConstraintAware::ik_service_ [private] |
Definition at line 111 of file arm_kinematics_constraint_aware.h.
ros::ServiceServer arm_kinematics_constraint_aware::ArmKinematicsConstraintAware::ik_solver_info_service_ [private] |
Definition at line 111 of file arm_kinematics_constraint_aware.h.
planning_models::KinematicState* arm_kinematics_constraint_aware::ArmKinematicsConstraintAware::kinematic_state_ [private] |
Definition at line 114 of file arm_kinematics_constraint_aware.h.
pluginlib::ClassLoader<kinematics::KinematicsBase> arm_kinematics_constraint_aware::ArmKinematicsConstraintAware::kinematics_loader_ [private] |
Definition at line 106 of file arm_kinematics_constraint_aware.h.
kinematics::KinematicsBase* arm_kinematics_constraint_aware::ArmKinematicsConstraintAware::kinematics_solver_ [private] |
Definition at line 107 of file arm_kinematics_constraint_aware.h.
std::vector<motion_planning_msgs::LinkPadding> arm_kinematics_constraint_aware::ArmKinematicsConstraintAware::link_padding_ [private] |
Definition at line 134 of file arm_kinematics_constraint_aware.h.
ros::NodeHandle arm_kinematics_constraint_aware::ArmKinematicsConstraintAware::node_handle_ [private] |
Definition at line 110 of file arm_kinematics_constraint_aware.h.
planning_environment::PlanningMonitor* arm_kinematics_constraint_aware::ArmKinematicsConstraintAware::planning_monitor_ [private] |
Definition at line 113 of file arm_kinematics_constraint_aware.h.
urdf::Model arm_kinematics_constraint_aware::ArmKinematicsConstraintAware::robot_model_ [private] |
A model of the robot to see which joints wrap around.
Definition at line 149 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 151 of file arm_kinematics_constraint_aware.h.
ros::NodeHandle arm_kinematics_constraint_aware::ArmKinematicsConstraintAware::root_handle_ [private] |
Definition at line 110 of file arm_kinematics_constraint_aware.h.
std::string arm_kinematics_constraint_aware::ArmKinematicsConstraintAware::root_name_ [private] |
Definition at line 115 of file arm_kinematics_constraint_aware.h.
bool arm_kinematics_constraint_aware::ArmKinematicsConstraintAware::setup_collision_environment_ [private] |
Definition at line 137 of file arm_kinematics_constraint_aware.h.
tf::TransformListener arm_kinematics_constraint_aware::ArmKinematicsConstraintAware::tf_ [private] |
Definition at line 152 of file arm_kinematics_constraint_aware.h.
Definition at line 116 of file arm_kinematics_constraint_aware.h.
ros::Publisher arm_kinematics_constraint_aware::ArmKinematicsConstraintAware::vis_marker_array_publisher_ [private] |
Definition at line 118 of file arm_kinematics_constraint_aware.h.
ros::Publisher arm_kinematics_constraint_aware::ArmKinematicsConstraintAware::vis_marker_publisher_ [private] |
Definition at line 117 of file arm_kinematics_constraint_aware.h.
Definition at line 131 of file arm_kinematics_constraint_aware.h.