ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
1 | initial version |
Your joint is missing a child. Every joint must have a child and a parent link.
http://wiki.ros.org/urdf/XML/joint
Try it with a useless link like
<link name="${child}_link" />
and insert in the joint
<child link = "${child}_link" />
Let me know if it works.
2 | No.2 Revision |
Your joint is missing a child. Every joint must have a child and a parent link.
http://wiki.ros.org/urdf/XML/joint
Try it with a useless link like
<link name="${child}_link" />
and insert in the joint
<child link = "${child}_link" />
Let me know if it works.
3 | No.3 Revision |
Your joint is missing a child. Every joint must have a child and a parent link.
http://wiki.ros.org/urdf/XML/joint
Try it with a useless link like
<link name="${child}_link" />
and insert in the joint
<child link = "${child}_link" />
Let me know if it works.
Edit: I see that you insert a child link in the joint, but you don't declare it anywhere.
4 | No.4 Revision |
Your joint is missing a child. Every joint must have a child and a parent link.
http://wiki.ros.org/urdf/XML/joint
Try it with a useless link like
<link name="${child}_link" />
and insert in the joint
<child link = "${child}_link" />
Let me know if it works.
Edit: I see that you insert a child link in the joint, but you don't declare it anywhere.
Edit 2: I made it work here. Change the code
<xacro:if value="${parent == 'length'}">
<xacro:if value="${index == '1'}">
<child link="module_${index + 1}_${child}"/>
</xacro:if>
<xacro:if value="${index == '2'}">
<child link="module_${index + 1}_${child}"/>
</xacro:if>
<xacro:if value="${index == '3'}">
<child link="wrist_${child}"/>
</xacro:if>
</xacro:if>
to
<xacro:if value="${parent == 'length'}">
<xacro:if value="${index == 1}">
<child link="module_${index + 1}_${child}"/>
</xacro:if>
<xacro:if value="${index == 2}">
<child link="module_${index + 1}_${child}"/>
</xacro:if>
<xacro:if value="${index == 3}">
<child link="wrist_${child}"/>
</xacro:if>
</xacro:if>
5 | No.5 Revision |
Your joint is missing a child. Every joint must have a child and a parent link.
http://wiki.ros.org/urdf/XML/joint
Try it with a useless link like
<link name="${child}_link" />
and insert in the joint
<child link = "${child}_link" />
Let me know if it works.
Edit: I see that you insert a child link in the joint, but you don't declare it anywhere.
Edit 2: I made it work here. The apostrophe indicate its a string type, if you're using a number, don't use it. Change the code
<xacro:if value="${parent == 'length'}">
<xacro:if value="${index == '1'}">
<child link="module_${index + 1}_${child}"/>
</xacro:if>
<xacro:if value="${index == '2'}">
<child link="module_${index + 1}_${child}"/>
</xacro:if>
<xacro:if value="${index == '3'}">
<child link="wrist_${child}"/>
</xacro:if>
</xacro:if>
to
<xacro:if value="${parent == 'length'}">
<xacro:if value="${index == 1}">
<child link="module_${index + 1}_${child}"/>
</xacro:if>
<xacro:if value="${index == 2}">
<child link="module_${index + 1}_${child}"/>
</xacro:if>
<xacro:if value="${index == 3}">
<child link="wrist_${child}"/>
</xacro:if>
</xacro:if>
6 | No.6 Revision |
Your joint is missing a child. Every joint must have a child and a parent link.
http://wiki.ros.org/urdf/XML/joint
Try it with a useless link like
<link name="${child}_link" />
and insert in the joint
<child link = "${child}_link" />
Let me know if it works.
Edit: I see that you insert a child link in the joint, but you don't declare it anywhere.
Edit 2: I made it work here. The apostrophe indicate its a string type, if you're using a number, don't use it. Change the code
<xacro:if value="${parent == 'length'}">
<xacro:if value="${index == '1'}">
<child link="module_${index + 1}_${child}"/>
</xacro:if>
<xacro:if value="${index == '2'}">
<child link="module_${index + 1}_${child}"/>
</xacro:if>
<xacro:if value="${index == '3'}">
<child link="wrist_${child}"/>
</xacro:if>
</xacro:if>
to
<xacro:if value="${parent == 'length'}">
<xacro:if value="${index == 1}">
<child link="module_${index + 1}_${child}"/>
</xacro:if>
<xacro:if value="${index == 2}">
<child link="module_${index + 1}_${child}"/>
</xacro:if>
<xacro:if value="${index == 3}">
<child link="wrist_${child}"/>
</xacro:if>
</xacro:if>
7 | No.7 Revision |
Your joint is missing a child. Every joint must have a child and a parent link.
http://wiki.ros.org/urdf/XML/joint
Try it with a useless link like
<link name="${child}_link" />
and insert in the joint
<child link = "${child}_link" />
Let me know if it works.
Edit: I see that you insert a child link in the joint, but you don't declare it anywhere.
Edit 2: I made it work here. The apostrophe indicate its a string type, if you're using a number, don't use it. Change the code
<xacro:if value="${parent == 'length'}">
<xacro:if value="${index == '1'}">
<child link="module_${index + 1}_${child}"/>
</xacro:if>
<xacro:if value="${index == '2'}">
<child link="module_${index + 1}_${child}"/>
</xacro:if>
<xacro:if value="${index == '3'}">
<child link="wrist_${child}"/>
</xacro:if>
</xacro:if>
to
<xacro:if value="${parent == 'length'}">
<xacro:if value="${index == 1}">
<child link="module_${index + 1}_${child}"/>
</xacro:if>
<xacro:if value="${index == 2}">
<child link="module_${index + 1}_${child}"/>
</xacro:if>
<xacro:if value="${index == 3}">
<child link="wrist_${child}"/>
</xacro:if>
</xacro:if>
Edit 3: Tf tree
8 | No.8 Revision |
Your joint is missing a child. Every joint must have a child and a parent link.
http://wiki.ros.org/urdf/XML/joint
Try it with a useless link like
<link name="${child}_link" />
and insert in the joint
<child link = "${child}_link" />
Let me know if it works.
Edit: I see that you insert a child link in the joint, but you don't declare it anywhere.
Edit 2: I made it work here. The apostrophe indicate its a string type, if you're using a number, don't use it. Change the code
<xacro:if value="${parent == 'length'}">
<xacro:if value="${index == '1'}">
<child link="module_${index + 1}_${child}"/>
</xacro:if>
<xacro:if value="${index == '2'}">
<child link="module_${index + 1}_${child}"/>
</xacro:if>
<xacro:if value="${index == '3'}">
<child link="wrist_${child}"/>
</xacro:if>
</xacro:if>
to
<xacro:if value="${parent == 'length'}">
<xacro:if value="${index == 1}">
<child link="module_${index + 1}_${child}"/>
</xacro:if>
<xacro:if value="${index == 2}">
<child link="module_${index + 1}_${child}"/>
</xacro:if>
<xacro:if value="${index == 3}">
<child link="wrist_${child}"/>
</xacro:if>
</xacro:if>
Edit 3: Tf tree
Edit 4: You declared a macro named "fotokite_arm" but never instanced one. I added the following lines before </robot>
and it worked
<link name="world">
<origin xyz="0 0 0" rpy="0 0 0"/>
</link>
<xacro:fotokite_arm parent="world">
<origin xyz="0 0 0" rpy="0 0 0"/>
</xacro:fotokite_arm>
9 | No.9 Revision |
Your joint is missing a child. Every joint must have a child and a parent link.
http://wiki.ros.org/urdf/XML/joint
Try it with a useless link like
<link name="${child}_link" />
and insert in the joint
<child link = "${child}_link" />
Let me know if it works.
Edit: I see that you insert a child link in the joint, but you don't declare it anywhere.
Edit 2: I made it work here. The apostrophe indicate its a string type, if you're using a number, don't use it. Change the code
<xacro:if value="${parent == 'length'}">
<xacro:if value="${index == '1'}">
<child link="module_${index + 1}_${child}"/>
</xacro:if>
<xacro:if value="${index == '2'}">
<child link="module_${index + 1}_${child}"/>
</xacro:if>
<xacro:if value="${index == '3'}">
<child link="wrist_${child}"/>
</xacro:if>
</xacro:if>
to
<xacro:if value="${parent == 'length'}">
<xacro:if value="${index == 1}">
<child link="module_${index + 1}_${child}"/>
</xacro:if>
<xacro:if value="${index == 2}">
<child link="module_${index + 1}_${child}"/>
</xacro:if>
<xacro:if value="${index == 3}">
<child link="wrist_${child}"/>
</xacro:if>
</xacro:if>
Edit 3: Tf tree
Edit 4: You declared a macro named "fotokite_arm" but never instanced one. I added the following lines before </robot>
and it worked
<link name="world">
<origin xyz="0 0 0" rpy="0 0 0"/>
</link>
<xacro:fotokite_arm parent="world">
<origin xyz="0 0 0" rpy="0 0 0"/>
</xacro:fotokite_arm>
Edit 5: Here is the launcher I'm using. I'm calling the urdf "teste_2"
<launch>
<param name="robot_description" command="$(find xacro)/xacro --inorder '$(find test_package)/urdf/teste_2.urdf.xacro'"/>
<node name="joint_state_publisher" pkg="joint_state_publisher" type="joint_state_publisher" />
<node name="robot_state_publisher" pkg="robot_state_publisher" type="robot_state_publisher" />
</launch>