Correctly configuring end effectors for moveit
I've created a new robot model for integration with moveit and am having trouble getting moveit to recognize the end effectors. I've generated the SRDF as well as other configuration files with the moveit setup assistant, and then launch the demo automatically generated along with my own node called servo capture. In my node I wait for rviz to come up, instantiate a move group similar to the PR2 move group interface tutorial, and then have a listener callback that sets a goal when a point is published from rviz. When the callback executes an error is displayed right after I print confirmation that the point was received:
[ INFO] [1397094975.183158794]: Got new goal: [1.72786,2.13589,0.553876]
[ERROR] [1397094975.183266964]: No end-effector to set the pose for
[ INFO] [1397094975.184236157]: Planning request received for MoveGroup action. Forwarding to planning pipeline.
[ WARN] [1397094975.186156762]: No goal constraints specified. There is no problem to solve.
I've tried printing out the parent link name and and end effector name but both member functions to do so return empty strings.
Of the different ways I've configuring my planning groups in the setup assistant, the most reasonable one I could come up with is in the background below. With my current understanding the end effector group should have no links in common with its parent, be a child group of the arm, and defined as an end effector attached to the last link of the arm. It also needs to have its own kinematics solver written if it is not a chain, I've avoided this problem by just fixing the non chain components. If I launch the demo launch file which starts a joint publisher, transform publisher, state publisher, move group server and rviz, they should provide all resources necessary to run a fully functional move group interface node. If something was wrong with the end effector description I would still expect that the end of the chain link for the arm would at least be the default end effector. Is there anything in the above that seems like a misunderstanding?
Background:
Here is a visualization of the URDF:
And here is how I have the arm configured in the SRDF (through the setup assistant):
<group name="arm">
<link name="base_link" />
<link name="base" />
<link name="shoulder" />
<link name="arm" />
<link name="boom0" />
<link name="boom1" />
<link name="boom2" />
<link name="boom3" />
<link name="boom4" />
<link name="boom5" />
<link name="boom6" />
<link name="boom7" />
<link name="boom8" />
<link name="boom9" />
<link name="boom10" />
<link name="boom_cap" />
<joint name="base_link_to_base" />
<joint name="base_to_shoulder" />
<joint name="shoulder_to_arm" />
<joint name="arm_to_boom" />
<joint name="boom0_to_boom1" />
<joint name="boom1_to_boom2" />
<joint name="boom2_to_boom3" />
<joint name="boom3_to_boom4" />
<joint name="boom4_to_boom5" />
<joint name="boom5_to_boom6" />
<joint name="boom6_to_boom7" />
<joint name="boom7_to_boom8" />
<joint name="boom8_to_boom9" />
<joint name="boom9_to_boom10" />
<joint name="boom_to_boom_cap" />
<chain base_link="base" tip_link="boom_cap" />
<group name="electrostatic_gripper" />
</group>
<group name="electrostatic_gripper">
<link name="top_pad" />
<link name="left_pad" />
<link name="right_pad" />
<link name="bottom_pad" />
<link name ...