gazebo_media_path in Gazebo 1.8.6
In Gazebo 1.5 (the version packaged with ROS Groovy), I set gazebo_media_path
in package.xml like this:
<run_depend>gazebo</run_depend>
<export>
<gazebo gazebo_media_path="${prefix}"/>
</export>
In my world file, I specified materials and meshes like this:
<material>
<script>
<name>cerberus_gazebo/srrc_terrain</name>
</script>
</material>
<geometry>
<mesh>
<uri>file://restroom_bldg.dae</uri>
</mesh>
</geometry>
The materials and meshes were defined in subdirectories of my Media directory, which was in the same directory as package.xml. Gazebo rendered the world correctly.
I have now moved to Gazebo 1.8.6 and I get the following warnings and errors:
Warning [Visual.cc:775] Unable to get Material[cerberus_gazebo/srrc_terrain] for
Geometry[terrain::link::visual. Object will appear white
Error [SystemPaths.cc:370] File or path does not exist[""]
Error [Visual.cc:2075] No mesh specified
My materials and meshes are no longer found. Is gazebo_media_path
no longer supported? I tried adding my package directory to GAZEBO_RESOURCE_PATH
(i.e. I added the directory that contains package.xml and Media), but that had no effect.
Asked by Jim Rothrock on 2013-06-28 20:47:43 UTC
Answers
In Gazebo 1.8.6, gazebo_media_path needs to be set in package.xml like this:
<run_depend>gazebo_ros</run_depend>
<export>
<gazebo_ros gazebo_media_path="${prefix}"/>
</export>
The differences from my original (Gazebo 1.5) package.xml are that the "gazebo" in the "run_depend" block is now "gazebo_ros", and the "gazebo" tag within the "export" block is now "gazebo_ros".
Asked by Jim Rothrock on 2013-07-02 14:55:17 UTC
Comments