Error: Failed to find root link

asked 2022-02-24 23:04:09 -0500

Hi all, New to ROS . Learning from a book and I think i'm trying to simulate an arm movement . I get the following error on Ubuntu 18.04 , ROS Melodic.

Error:   Failed to find root link: Two root links found: [arm_base] and [bicep]
         at line 237 in /build/urdfdom-YMMa9X/urdfdom-1.0.0/urdf_parser/src/model.cpp
Error [parser_urdf.cc:3166] Unable to call parseURDF on robot model
Error [parser.cc:406] parse as old deprecated model file failed.
[ERROR] [1645764580.989157, 10.016000]: Spawn service failed. Exiting.

The command which gives this error : roslaunch robot_description arm_gazebo_control_xacro.launch

Three files have been called in robot_arm.urdf.xacro" >

<xacro:include filename="$(find robot_description)/urdf/robot_essentials.xacro" />
<xacro:include filename="$(find robot_description)/urdf/robot_arm_essentials.xacro" />
<xacro:include filename="$(find robot_description)/urdf/gazebo_essentials_arm.xacro" />

Arm joint xacro called as follows :

<xacro:arm_joint prefix="arm_base" parent="world" child="arm_base" originxyz="0.0 0.0 0.1" originrpy="0 0     0"/>
<xacro:arm_joint prefix="shoulder" parent="arm_base" child="bicep" originxyz="-0.05166 0.0 0.20271" originrpy="0 0 1.5708"/>
<xacro:arm_joint prefix="bottom_wrist" parent="bicep" child="bottom_wrist" originxyz="0.0 -0.05194 0.269" originrpy="0 0 0"/>
<xacro:arm_joint prefix="elbow" parent="bottom_wrist" child="elbow" originxyz="0.0 0 0.13522" originrpy="0 0 0"/>
<xacro:arm_joint prefix="top_wrist" parent="elbow" child="top_wrist" originxyz="0.0 0 0.20994" originrpy="0 0 0"/>

World link defined on top as follows : <link name="world"/>

Help please ? I'm excited about ROS , but XML's tire me .

edit retag flag offensive close merge delete