ros-planning/moveit_ros — pull request #427 by davetcoleman (2014-02-25 06:29:24+00:00)
Title: Allow planning groups to have more than one tip

Note: This commit will not build until the pending PR for moveit_core is merged https://github.com/ros-planning/moveit_core/pull/149

Adds functionality for moveit_ros to reason with kinematic solvers that have multiple tips, ie kinematic trees.

- Modifies KinematicsPluginLoader to check the rosparam server for an optional array of tips per kinematic solver. This is the recommended way to enable a kinematic solver to have more than one tip frame. Creates a vector of tip links to planning groups, instead of just a string.
- Moves the logic for choosing a planning group's tip frames into a separate helper function, to make it clearer and support multiple tips
- Removes the assumption in robot_model_loader that a joint model group can only have a kinematics solver if it is a chain
- Namespaces a lot of debug output
- Removes direct dependency on tip_frame_ from KDL since it is deprecated, instead uses getTipFrame()

I'd recommend this be tested more against regular kinematic chain robots to ensure it doesn't have any adverse consequences, but I don't believe it does.