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 ...