Turtlebot + PhantomX Arm
Hi,
I've just been experimenting with attaching a model (xacro.urdf) of a phantomx arm pincher to the top of the current turtlebot2 model.
In this instance I thought I would just try and add:
<!-- Phantomx Arm -->
<xacro:include filename="$(find phantomx_arm_description)/urdf/phantomx.xacro"/>
To the turtlebot_library.urdf.xacro file within the turtlebot_description package found in opt/ros.......
I edited the phantomx arm urdf to include a joint which links the top plate of the turtlebot to the base plate of the phantomx arm:
<!-- joints -->
<joint name="${prefix}arm_base_joint" type="fixed">
<origin xyz="${M_SCALE*0} ${M_SCALE*0} ${M_SCALE*0}" rpy="${0} ${0} ${0}" />
<parent link="plate_top_link" />
<child link="${prefix}arm_base_link"/>
<axis xyz="0 1 0" />
<limit lower="-2.617" upper="2.617" effort="0" velocity="0.785" />
</joint>
The rest of the joints simply continue as normal with parents of the former links and children being the next link in the arm etc:
<joint name="${prefix}joint_1" type="revolute">
<origin xyz="${M_SCALE*0.125} ${M_SCALE*-3.25} ${M_SCALE*8.75}" rpy="${M_PI/2} ${M_PI*2} ${M_PI}" />
<parent link="${prefix}arm_base_link" />
<child link="${prefix}link_1" />
<axis xyz="0 1 0" />
<limit lower="-2.617" upper="2.617" effort="0" velocity="0.785" />
</joint>
<joint name="${prefix}joint_2" type="revolute">
<origin xyz="${M_SCALE*0} ${M_SCALE*4.15} ${M_SCALE*0}" rpy="0 0 0" />
<parent link="${prefix}link_1" />
<child link="${prefix}link_2" />
<axis xyz="0 0 1" />
<limit lower="-2.617" upper="2.617" effort="0" velocity="1.571" />
</joint>
However unfortunately it seems that this little attempt has failed, though the 'arm_base_joint' and 'arm_base_link' connect to the TF of the robot model when loading up in rviz, all the other links fail, with a:
"No transform from [link_1] to [base_footprint]" error etc.
To be honest I'm not sure why?, my guess is that anything from link_1 and above which is a chain in essence is failing to link to the arm_base_link/joint.
But looking over it all the parent links and child links look to be correct in terms of order and spelling. Maybe it is a namespace issue.
Eventually I'd like to get a moveit package going for the little mobile manipulator then move on to some mobile pick and place etc. But I'm currently stuck at the moment.
Any help is appreciated
Kind Regards
Wolfe