Gazebo | Ignition | Community
Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

SDF Model Include Broken After Upgrading to 1.9

The Ubuntu software update tool updated my gazebo install from 1.8 to 1.9, and it appears to have broken something regarding includes. I have a model (in a custom path) that includes a slightly modified hokuyo model (in the same custom path).

In the script I run to launch gazebo and insert the model I use an export to set the model path, and gzfactory to insert my model.

export GAZEBO_MODEL_PATH=my/custom/path/models:$GAZEBO_MODEL_PATH
then later
gzfactory spawn -f my/custom/path/models/myrobot/myrobot.sdf

I get these errors:

Error [SDF.cc:118] Tried to use callback in sdf::findFile(), but the callback is empty.  Did you call sdf::setFindCallback()?

Error [parser.cc:520] Unable to find uri[model://5D_Hokuyo]

Exception [Joint.cc:137] Couldn't Find Child Link[hokuyo::link]

Error [Model.cc:153] LoadJoint Failed

Heres what the include in the sdf looks like:

<include>
    <uri>model://Modified_Hokuyo</uri>
    <pose>.25 0 0.2675 0 0 0</pose>
</include>
<joint name="hokuyo_joint" type="revolute">
    <child>hokuyo::link</child>
    <parent>base_link</parent>
    <axis>
      <xyz>0 0 1</xyz>
      <limit>
        <upper>0</upper>
        <lower>0</lower>
      </limit>
    </axis>
</joint>

What is odd is that it is able to insert my custom robot, but then fails to find the hokuyo model. Was something changed from 1.8 to 1.9 about how gazebo uses model://?

Any help would be greatly appreciated, I have a demo coming up very soon and I can't find a way to downgrade to 1.8 to fix the problem temporarily.

SDF Model Include Broken After Upgrading to 1.9

The Ubuntu software update tool updated my gazebo install from 1.8 to 1.9, and it appears to have broken something regarding includes. I have a model (in a custom path) that includes a slightly modified hokuyo model (in the same custom path).

In the script I run to launch gazebo and insert the model I use an export to set the model path, and gzfactory to insert my model.

export GAZEBO_MODEL_PATH=my/custom/path/models:$GAZEBO_MODEL_PATH
then later
gzfactory spawn -f my/custom/path/models/myrobot/myrobot.sdf

I get these errors:

Error [SDF.cc:118] Tried to use callback in sdf::findFile(), but the callback is empty.  Did you call sdf::setFindCallback()?

Error [parser.cc:520] Unable to find uri[model://5D_Hokuyo]
uri[model://Modified_Hokuyo]

Exception [Joint.cc:137] Couldn't Find Child Link[hokuyo::link]

Error [Model.cc:153] LoadJoint Failed

Heres what the include in the sdf looks like:

<include>
    <uri>model://Modified_Hokuyo</uri>
    <pose>.25 0 0.2675 0 0 0</pose>
</include>
<joint name="hokuyo_joint" type="revolute">
    <child>hokuyo::link</child>
    <parent>base_link</parent>
    <axis>
      <xyz>0 0 1</xyz>
      <limit>
        <upper>0</upper>
        <lower>0</lower>
      </limit>
    </axis>
</joint>

What is odd is that it is able to insert my custom robot, but then fails to find the hokuyo model. Was something changed from 1.8 to 1.9 about how gazebo uses model://?

Any help would be greatly appreciated, I have a demo coming up very soon and I can't find a way to downgrade to 1.8 to fix the problem temporarily.

SDF Model Include Broken After Upgrading to 1.9

The Ubuntu software update tool updated my gazebo install from 1.8 to 1.9, and it appears to have broken something regarding includes. I have a model (in a custom path) that includes a slightly modified hokuyo model (in the same custom path).

In the script I run to launch gazebo and insert the model I use an export to set the model path, and gzfactory to insert my model.

export GAZEBO_MODEL_PATH=my/custom/path/models:$GAZEBO_MODEL_PATH
then later
gzfactory spawn -f my/custom/path/models/myrobot/myrobot.sdf

I get these errors:

Error [SDF.cc:118] Tried to use callback in sdf::findFile(), but the callback is empty.   Did you call sdf::setFindCallback()?

Error [parser.cc:520] Unable to find uri[model://Modified_Hokuyo]

Exception [Joint.cc:137] Couldn't Find Child Link[hokuyo::link]

Error [Model.cc:153] LoadJoint Failed

Heres what the include in the sdf looks like:

<include>
    <uri>model://Modified_Hokuyo</uri>
    <pose>.25 0 0.2675 0 0 0</pose>
</include>
<joint name="hokuyo_joint" type="revolute">
    <child>hokuyo::link</child>
    <parent>base_link</parent>
    <axis>
      <xyz>0 0 1</xyz>
      <limit>
        <upper>0</upper>
        <lower>0</lower>
      </limit>
    </axis>
</joint>

What is odd is that it is able to insert my custom robot, but then fails to find the hokuyo model. Was something changed from 1.8 to 1.9 about how gazebo uses model://?

Any help would be greatly appreciated, I have a demo coming up very soon and I can't find a way to downgrade to 1.8 to fix the problem temporarily.

SDF Model Include Broken After Upgrading to 1.9Changes from 1.8 to 1.9?

The Ubuntu software update tool updated my gazebo install from 1.8 to 1.9, and it appears to have broken something regarding includes. I have a model (in a custom path) that includes a slightly modified hokuyo model (in the same custom path).

In the script I run to launch gazebo and insert the model I use an export to set the model path, and gzfactory to insert my model.

export GAZEBO_MODEL_PATH=my/custom/path/models:$GAZEBO_MODEL_PATH
then later
gzfactory spawn -f my/custom/path/models/myrobot/myrobot.sdf

I get these errors:

Error [SDF.cc:118] Tried to use callback in sdf::findFile(), but the callback is empty.  
Did you call sdf::setFindCallback()?

Error [parser.cc:520] Unable to find uri[model://Modified_Hokuyo]

Exception [Joint.cc:137] Couldn't Find Child Link[hokuyo::link]

Error [Model.cc:153] LoadJoint Failed

Heres what the include in the sdf looks like:

<include>
    <uri>model://Modified_Hokuyo</uri>
    <pose>.25 0 0.2675 0 0 0</pose>
</include>
<joint name="hokuyo_joint" type="revolute">
    <child>hokuyo::link</child>
    <parent>base_link</parent>
    <axis>
      <xyz>0 0 1</xyz>
      <limit>
        <upper>0</upper>
        <lower>0</lower>
      </limit>
    </axis>
</joint>

What is odd is that it is able to insert my custom robot, but then fails to find the hokuyo model. Was something changed from 1.8 to 1.9 about how gazebo uses model://?

Any help would be greatly appreciated, I have a demo coming up very soon and I can't find a way to downgrade to 1.8 to fix the problem temporarily.

SDF Model Include Changes from 1.8 to 1.9?

The Ubuntu software update tool updated my gazebo install from 1.8 to 1.9, and it appears to have broken something regarding includes. I have a model (in a custom path) that includes a slightly modified hokuyo model (in the same custom path).

In the script I run to launch gazebo and insert the model I use an export to set the model path, and gzfactory to insert my model.

export GAZEBO_MODEL_PATH=my/custom/path/models:$GAZEBO_MODEL_PATH
then later
gzfactory spawn -f my/custom/path/models/myrobot/myrobot.sdf

I get these errors:

Error [SDF.cc:118] Tried to use callback in sdf::findFile(), but the callback is empty.  
Did you call sdf::setFindCallback()?

Error [parser.cc:520] Unable to find uri[model://Modified_Hokuyo]

Exception [Joint.cc:137] Couldn't Find Child Link[hokuyo::link]

Error [Model.cc:153] LoadJoint Failed

Heres what the include in the sdf looks like:

<include>
    <uri>model://Modified_Hokuyo</uri>
    <pose>.25 0 0.2675 0 0 0</pose>
</include>
<joint name="hokuyo_joint" type="revolute">
    <child>hokuyo::link</child>
    <parent>base_link</parent>
    <axis>
      <xyz>0 0 1</xyz>
      <limit>
        <upper>0</upper>
        <lower>0</lower>
      </limit>
    </axis>
</joint>

What is odd is that it is able to insert my custom robot, but then fails to find the hokuyo model. Was something changed from 1.8 to 1.9 about how gazebo uses model://?

Any help would be greatly appreciated, I have a demo coming up very soon and I can't find a way to downgrade to 1.8 to fix the problem temporarily. temporarily.

[Edit] I tried adding a database.config file to the directory with all my custom models, but that didn't seem to work either.

Using Include in SDF Model Include Changes broken after Upgrading from 1.8 to 1.9?1.9

The Ubuntu software update tool updated my gazebo install from 1.8 to 1.9, and it appears to have broken something regarding includes. I have a model (in a custom path) that includes a slightly modified hokuyo model (in the same custom path).

In the script I run to launch gazebo and insert the model I use an export to set the model path, and gzfactory to insert my model.

export GAZEBO_MODEL_PATH=my/custom/path/models:$GAZEBO_MODEL_PATH
then later
gzfactory spawn -f my/custom/path/models/myrobot/myrobot.sdf

I get these errors:

Error [SDF.cc:118] Tried to use callback in sdf::findFile(), but the callback is empty.  
Did you call sdf::setFindCallback()?

Error [parser.cc:520] Unable to find uri[model://Modified_Hokuyo]

Exception [Joint.cc:137] Couldn't Find Child Link[hokuyo::link]

Error [Model.cc:153] LoadJoint Failed

Heres what the include in the sdf looks like:

<include>
    <uri>model://Modified_Hokuyo</uri>
    <pose>.25 0 0.2675 0 0 0</pose>
</include>
<joint name="hokuyo_joint" type="revolute">
    <child>hokuyo::link</child>
    <parent>base_link</parent>
    <axis>
      <xyz>0 0 1</xyz>
      <limit>
        <upper>0</upper>
        <lower>0</lower>
      </limit>
    </axis>
</joint>

What is odd is that it is able to insert my custom robot, but then fails to find the hokuyo model. Was something changed from 1.8 to 1.9 about how gazebo uses model://?

Any help would be greatly appreciated, I have a demo coming up very soon and I can't find a way to downgrade to 1.8 to fix the problem temporarily.

[Edit] I tried adding a database.config file to the directory with all my custom models, but that didn't seem to work either.

[Edit 2] By adding a trailing / to the export:

export GAZEBO_MODEL_PATH=my/custom/path/models/:$GAZEBO_MODEL_PATH

I was able to have the model insert into the world, but only using the GUI. When I try and use gzfactory I still get the same errors. What is causing this??

click to hide/show revision 7
discovered gzfactory appears to be broken

Using Include in SDF broken after Upgrading from 1.8 to 1.91.9 (gzfactory seems broken)

The Ubuntu software update tool updated my gazebo install from 1.8 to 1.9, and it appears to have broken something regarding includes. I have a model (in a custom path) that includes a slightly modified hokuyo model (in the same custom path).

In the script I run to launch gazebo and insert the model I use an export to set the model path, and gzfactory to insert my model.

export GAZEBO_MODEL_PATH=my/custom/path/models:$GAZEBO_MODEL_PATH
then later
gzfactory spawn -f my/custom/path/models/myrobot/myrobot.sdf

I get these errors:

Error [SDF.cc:118] Tried to use callback in sdf::findFile(), but the callback is empty.  
Did you call sdf::setFindCallback()?

Error [parser.cc:520] Unable to find uri[model://Modified_Hokuyo]

Exception [Joint.cc:137] Couldn't Find Child Link[hokuyo::link]

Error [Model.cc:153] LoadJoint Failed

Heres what the include in the sdf looks like:

<include>
    <uri>model://Modified_Hokuyo</uri>
    <pose>.25 0 0.2675 0 0 0</pose>
</include>
<joint name="hokuyo_joint" type="revolute">
    <child>hokuyo::link</child>
    <parent>base_link</parent>
    <axis>
      <xyz>0 0 1</xyz>
      <limit>
        <upper>0</upper>
        <lower>0</lower>
      </limit>
    </axis>
</joint>

What is odd is that it is able to insert my custom robot, but then fails to find the hokuyo model. Was something changed from 1.8 to 1.9 about how gazebo uses model://?

Any help would be greatly appreciated, I have a demo coming up very soon and I can't find a way to downgrade to 1.8 to fix the problem temporarily.

[Edit] I tried adding a database.config file to the directory with all my custom models, but that didn't seem to work either.

[Edit 2] By adding a trailing / to the export:

export GAZEBO_MODEL_PATH=my/custom/path/models/:$GAZEBO_MODEL_PATH

I was able to have the model insert into the world, but only using the GUI. When I try and use gzfactory I still get the same errors. What is causing this??

[Edit 3] I used the topic visualization tool, and inspected the factory topic to compare the difference between the GUI and gzfactory. The GUI appears to properly expand the includes and creates a hokuyo link within the robot. Gzfactory however, seems to completely ignore the includes. I posted a screenshot to show where they differ. This looks to me like Gzfactory broke between 1.8 and 1.9. image description

Using Include in SDF broken after Upgrading from 1.8 to 1.9 (gzfactory seems broken)

The Ubuntu software update tool updated my gazebo install from 1.8 to 1.9, and it appears to have broken something regarding includes. I have a model (in a custom path) that includes a slightly modified hokuyo model (in the same custom path).

In the script I run to launch gazebo and insert the model I use an export to set the model path, and gzfactory to insert my model.

export GAZEBO_MODEL_PATH=my/custom/path/models:$GAZEBO_MODEL_PATH
then later
gzfactory spawn -f my/custom/path/models/myrobot/myrobot.sdf

I get these errors:

Error [SDF.cc:118] Tried to use callback in sdf::findFile(), but the callback is empty.  
Did you call sdf::setFindCallback()?

Error [parser.cc:520] Unable to find uri[model://Modified_Hokuyo]

Exception [Joint.cc:137] Couldn't Find Child Link[hokuyo::link]

Error [Model.cc:153] LoadJoint Failed

Heres what the include in the sdf looks like:

<include>
    <uri>model://Modified_Hokuyo</uri>
    <pose>.25 0 0.2675 0 0 0</pose>
</include>
<joint name="hokuyo_joint" type="revolute">
    <child>hokuyo::link</child>
    <parent>base_link</parent>
    <axis>
      <xyz>0 0 1</xyz>
      <limit>
        <upper>0</upper>
        <lower>0</lower>
      </limit>
    </axis>
</joint>

What is odd is that it is able to insert my custom robot, but then fails to find the hokuyo model. Was something changed from 1.8 to 1.9 about how gazebo uses model://?

Any help would be greatly appreciated, I have a demo coming up very soon and I can't find a way to downgrade to 1.8 to fix the problem temporarily.

[Edit] I tried adding a database.config file to the directory with all my custom models, but that didn't seem to work either.

[Edit 2] By adding a trailing / to the export:

export GAZEBO_MODEL_PATH=my/custom/path/models/:$GAZEBO_MODEL_PATH

I was able to have the model insert into the world, but only using the GUI. When I try and use gzfactory I still get the same errors. What is causing this??

[Edit 3] I used the topic visualization tool, and inspected the factory topic to compare the difference between the GUI and gzfactory. The GUI appears to properly expand the includes and creates a hokuyo link within the robot. Gzfactory however, seems to completely ignore the includes. I posted a screenshot to show where they differ. This looks to me like Gzfactory broke between 1.8 and 1.9. image description

Might be related to this? https://bitbucket.org/osrf/gazebo/issue/769/gazebo-init-not-called-before-sdf-parser

Using Include in SDF broken after Upgrading from 1.8 to 1.9 (gzfactory seems broken)

The Ubuntu software update tool updated my gazebo install from 1.8 to 1.9, and it appears to have broken something regarding includes. I have a model (in a custom path) that includes a slightly modified hokuyo model (in the same custom path).

In the script I run to launch gazebo and insert the model I use an export to set the model path, and gzfactory to insert my model.

export GAZEBO_MODEL_PATH=my/custom/path/models:$GAZEBO_MODEL_PATH
then later
gzfactory spawn -f my/custom/path/models/myrobot/myrobot.sdf

I get these errors:

Error [SDF.cc:118] Tried to use callback in sdf::findFile(), but the callback is empty.  
Did you call sdf::setFindCallback()?

Error [parser.cc:520] Unable to find uri[model://Modified_Hokuyo]

Exception [Joint.cc:137] Couldn't Find Child Link[hokuyo::link]

Error [Model.cc:153] LoadJoint Failed

Heres what the include in the sdf looks like:

<include>
    <uri>model://Modified_Hokuyo</uri>
    <pose>.25 0 0.2675 0 0 0</pose>
</include>
<joint name="hokuyo_joint" type="revolute">
    <child>hokuyo::link</child>
    <parent>base_link</parent>
    <axis>
      <xyz>0 0 1</xyz>
      <limit>
        <upper>0</upper>
        <lower>0</lower>
      </limit>
    </axis>
</joint>

What is odd is that it is able to insert my custom robot, but then fails to find the hokuyo model. Was something changed from 1.8 to 1.9 about how gazebo uses model://?

Any help would be greatly appreciated, I have a demo coming up very soon and I can't find a way to downgrade to 1.8 to fix the problem temporarily.

[Edit] I tried adding a database.config file to the directory with all my custom models, but that didn't seem to work either.

[Edit 2] By adding a trailing / to the export:

export GAZEBO_MODEL_PATH=my/custom/path/models/:$GAZEBO_MODEL_PATH

I was able to have the model insert into the world, but only using the GUI. When I try and use gzfactory I still get the same errors. What is causing this??

[Edit 3] I used the topic visualization tool, and inspected the factory topic to compare the difference between the GUI and gzfactory. The GUI appears to properly expand the includes and creates a hokuyo link within the robot. Gzfactory however, seems to completely ignore the includes. I posted a screenshot to show where they differ. This looks to me like Gzfactory broke between 1.8 and 1.9. 1.9.

image description

Might be related to this? https://bitbucket.org/osrf/gazebo/issue/769/gazebo-init-not-called-before-sdf-parser

[Edit 4] Bump.. If there is no solution now is there a way I can submit this as a bug in gzfactory?