Environment
- OS Version: Ubuntu Bionic
- Binaries: SDFormat 9.5.1 , Gazebo 11.5.1
Description
In the test case provided in https://github.com/j-rivero/sdf_bug, Gazebo11 is complaining with:
[Err] [Joint.cc:297] EXCEPTION: Couldn't Find Child Link[sub_door::door]
when using an SDF similar to:
<?xml version="1.0" ?>
<sdf version="1.5">
<model name='hinged_door_ticket'>
<static>0</static>
<link name='frame'>
</link>
<model name='sub_door'>
<static>0</static>
<link name='door'>
<pose frame=''>-0 0 2.04 3.14159 -0 1.58</pose>
</link>
</model>
<joint name='hinge' type='revolute'>
<parent>frame</parent>
<child>sub_door::door</child>
</joint>
</model>
</sdf>
The great @azeey first impression was: "It looks like the breaking change is that we added a prefix to nested models when flattening (#399). Running gz sdf -p frame.world shows that the joint is looking for sub_door::door. In Gazebo7, there is a model called sub_door. In Gazebo11, that model is now hinged_door_frame::sub_door. For some reason, the flattening logic is not handling that properly
- Expected behavior: the name got resolved correctly
- Actual behavior: failing to resolve the name, error message is emitted
Steps to reproduce
- Download the example repository in the description
- Execute
GAZEBO_MODEL_PATH=${GAZEBO_MODEL_PATH}:${PWD} gazebo --verbose frame.world
Environment
Description
In the test case provided in https://github.com/j-rivero/sdf_bug, Gazebo11 is complaining with:
when using an SDF similar to:
The great @azeey first impression was: "It looks like the breaking change is that we added a prefix to nested models when flattening (#399). Running
gz sdf -p frame.worldshows that the joint is looking for sub_door::door. In Gazebo7, there is a model called sub_door. In Gazebo11, that model is now hinged_door_frame::sub_door. For some reason, the flattening logic is not handling that properlySteps to reproduce
GAZEBO_MODEL_PATH=${GAZEBO_MODEL_PATH}:${PWD} gazebo --verbose frame.world