Page 1 of 1

Problem on using URDF

Posted: 10 Apr 2021, 19:48
by ahmedelwaly
I am trying to import my robot model using URDF plugin, but when i import, it says

Code: Select all

simExtURDF: info: import operation started.
simExtURDF: info: there are 12 joints.
simExtURDF: error: there is no joint with name ''
simExtURDF: error: there is no joint with name ''
simExtURDF: error: there is no joint with name ''
simExtURDF: error: there is no joint with name ''
simExtURDF: info: there are 13 links.
I don't understand the error "ERROR: there is no joint with name ''" .

Do you have any suggestions as to how to import the model correctly?

Re: Problem on using URDF

Posted: 12 Apr 2021, 12:51
by coppelia
Hello,

the error means that the joint does not have any name, in the URDF file. This does not always mean that the file is faulty. But what a simulator expects from a file and what is actually in the file can greatly vary.

Does the import operation produce anything? Or what is the problem, next to the error messages?

Cheers

Re: Problem on using URDF

Posted: 04 May 2021, 12:47
by fai
Hi,
I have the same error message, but the imported model seems right.
My urdf file looks like:

<joint name="Rigid13" type="fixed">
<origin rpy="0 0 0" xyz="0.054297 -0.07 0.1"/>
<parent link="base_link"/>
<child link="Quader1_1"/>
</joint>

<joint name="Rev14" type="continuous">
<origin rpy="0 0 0" xyz="0.217851 0.050972 0.1"/>
<parent link="Quader1_1"/>
<child link="Component4_1"/>
<axis xyz="1.0 0.0 0.0"/>

So, it looks like the name for the joints are well defined. In fact, the imported joints in CoppeliaSim appear with these names. So, is this just a bug in the plugging or should the joints be defined in some other way?
Cheers,
Andres

Re: Problem on using URDF

Posted: 04 May 2021, 14:29
by coppelia
Hello Andres,

can you post a minimalistic, self-contained URDF file that illustrates this problem?

Cheers

Re: Problem on using URDF

Posted: 06 May 2021, 11:57
by fai
Sure! Here you go.

Code: Select all

<?xml version="1.0" ?>
<robot name="assembly" xmlns:xacro="http://www.ros.org/wiki/xacro">

<link name="base_link">
  <inertial>
    <origin rpy="0 0 0" xyz="-0.025 0.025 0.1"/>
    <mass value="3.925"/>
    <inertia ixx="0.013901" ixy="-0.0" ixz="-0.0" iyy="0.013901" iyz="0.0" izz="0.001635"/>
  </inertial>
  <visual>
    <origin rpy="0 0 0" xyz="0 0 0"/>
    <geometry>
      <cylinder length="0.6" radius="0.2"/>
    </geometry>
    <material name="silver_default"/>
  </visual>
  <collision>
    <origin rpy="0 0 0" xyz="0 0 0"/>
    <geometry>
      <cylinder length="0.6" radius="0.2"/>
    </geometry>
  </collision>
</link>

<link name="box_v2_1">
  <inertial>
    <origin rpy="0 0 0" xyz="0.025 0.024999999999999994 -0.025"/>
    <mass value="0.98125"/>
    <inertia ixx="0.000409" ixy="0.0" ixz="-0.0" iyy="0.000409" iyz="0.0" izz="0.000409"/>
  </inertial>
  <visual>
    <origin rpy="0 0 0" xyz="-0.0 -0.05 -0.0"/>
    <geometry>
      <box size="0.6 0.1 0.2"/>
    </geometry>
    <material name="silver_default"/>
  </visual>
  <collision>
    <origin rpy="0 0 0" xyz="-0.0 -0.05 -0.0"/>
    <geometry>
      <box size="0.6 0.1 0.2"/>
    </geometry>
  </collision>
</link>

<joint name="Rev2" type="continuous">
  <origin rpy="0 0 0" xyz="0.0 0.05 0.0"/>
  <parent link="base_link"/>
  <child link="box_v2_1"/>
  <axis xyz="0.0 1.0 0.0"/>
</joint>

</robot>

And this is the output:
simExtURDF: info: import operation started.
simExtURDF: info: there are 1 joints.
simExtURDF: error: there is no joint with name ''
simExtURDF: info: there are 2 links.
simExtURDF: info: creating link 'base_link'...
simExtURDF: error: there is no joint with name ''
simExtURDF: info: creating link 'box_v2_1'...
simExtURDF: info: there are 0 sensors.
simExtURDF: info: import operation finished.

The loaded model looks fine: two bodies joined with a revolute joint..

Re: Problem on using URDF

Posted: 07 May 2021, 09:13
by coppelia
Thanks for the file.

Those error messages are actually faulty, and shouldn't show. This is fixed for next release or revision. In the mean time simply ignore them.

Cheers