Functions | Variables
non_constraint_aware_ik_adapter.cpp File Reference
#include <ros/ros.h>
#include <kinematics_msgs/GetConstraintAwarePositionIK.h>
#include <kinematics_msgs/GetPositionIK.h>
Include dependency graph for non_constraint_aware_ik_adapter.cpp:

Go to the source code of this file.

Functions

bool getConstraintAwareIk (kinematics_msgs::GetConstraintAwarePositionIK::Request &req, kinematics_msgs::GetConstraintAwarePositionIK::Response &resp)
int main (int argc, char **argv)

Variables

ros::ServiceClient client_

Function Documentation

bool getConstraintAwareIk ( kinematics_msgs::GetConstraintAwarePositionIK::Request &  req,
kinematics_msgs::GetConstraintAwarePositionIK::Response &  resp 
)

Definition at line 48 of file non_constraint_aware_ik_adapter.cpp.

int main ( int  argc,
char **  argv 
)

Definition at line 65 of file non_constraint_aware_ik_adapter.cpp.


Variable Documentation

This node provides the get_constraint_aware_ik (kinematics_msgs/GetConstraintAwarePositionIK) service. It just strips away all the constraint aware stuff and calls a normal (non-constraint aware) get_ik (kinematics_msgs/GetPositionIK) service instead.

Normally, get_constraint_aware_ik checks the space of potential IK solutions (from get_ik) for a solution that obeys all constraints (i.e., a solution that is not in self-collision or in collision with the environment). That only really makes sense for a redundant (>6 DoF) robot arm. Since the Katana only has 5 DoF, we only get at most one IK solution, so there is nothing to filter.

If we return a solution that violates constraints - for instance, that is in self-collision - then move_arm will abort with an error code. But if the solution is valid, everything should work.

Definition at line 46 of file non_constraint_aware_ik_adapter.cpp.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Properties Friends


katana_kinematics_constraint_aware
Author(s): Henning Deeken, Martin Günther
autogenerated on Tue Mar 5 2013 15:20:34