Gazebo | Ignition | Community
Ask Your Question

JSenna's profile - activity

2013-11-04 10:04:08 -0500 received badge  Famous Question (source)
2013-08-21 07:11:41 -0500 received badge  Notable Question (source)
2013-08-16 13:24:56 -0500 commented question Using Include in SDF broken after Upgrading from 1.8 to 1.9 (gzfactory seems broken)

Is there a way to submit this as a bug? I'm fairly certain at this point that it is a problem with gzfactory..

2013-08-16 13:23:34 -0500 received badge  Popular Question (source)
2013-08-02 12:53:39 -0500 received badge  Editor (source)
2013-08-02 12:38:16 -0500 asked a question 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/iss...

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

2013-07-23 10:45:51 -0500 received badge  Taxonomist
2013-07-08 03:38:25 -0500 received badge  Famous Question (source)
2013-03-02 09:34:06 -0500 received badge  Student (source)
2013-02-14 12:06:06 -0500 received badge  Popular Question (source)
2013-02-14 12:06:06 -0500 received badge  Notable Question (source)
2013-01-21 20:50:21 -0500 asked a question TCP Model Control

Hello, I am new to using Gazebo and was hoping to get some help getting started. I am looking to control a model simulated in Gazebo, as well as read sensor information, over TCP with another program (written in c++) running on Ubuntu 12.10. I have seen the example on subscribing to a topic, but I was hoping to find an example on publishing a topic, and how to create the corresponding plugin in Gazebo that would control the model.