This package provides an plugin implementation of the kinematics_base interface to establish constraint aware kinematics services.
      The plugin combines the OpenRave IK service from the orroplanning package and the generic urdf-based FK from the arm_kinematics package. To provide constraint_aware services the plugin must be used with the arm_kinematics_constraint_aware node of the respective package.
     
      Additionally, the non_constraint_aware_ik_adapter node provides the
      get_constraint_aware_ik
      service. It just strips away all the constraint aware stuff and calls a normal (non-constraint aware)
      get_ik 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.
    
katana_kinematics_constraint_aware is ...