test_assembly_to_urdf produces a lot of non handled errors
Summary
Current main branch produces a lot of errors on stdout when running test_assembly_to_urdf. Reason seems to be that the base in the urdf does not have a geometry.
Steps to reproduce
Run test_assembly_to_urdf -> look into output. Should contain a lot of errors like this:
Error: Geometry tag contains no child element.
at line 227 in /project/urdfdom/urdf_parser/src/link.cpp
Error: Could not parse visual element for Link [1.1]
at line 453 in /project/urdfdom/urdf_parser/src/link.cpp
What is the current bug behavior?
Error does not fail the unit test. Debugging via stop after tmp_urdf.flush() -> look into file tmp_urdf.name -> First link looks something like this:
<link name="1.1">
<inertial>
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
<mass value="0.0" />
<inertia ixx="0.0" ixy="0.0" ixz="0.0" iyy="0.0" iyz="0.0" izz="0.0" />
</inertial>
<visual name="1.1_visual">
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
<geometry />
</visual>
<collision name="1.1_visual">
<origin xyz="0.0 0.0 0.0" rpy="0.0 0.0 0.0" />
<geometry />
</collision>
</link>
What is the expected correct behavior?
Unit test should fail if errors are put in stdout / error should not be there.
Possible fixes
Probably the URDF generation should not construct a visual or collision tag if geometry is not defined -or- fix missing geometry for IMPROV base.
/cc @JonathanKuelz