[ros-users] Gazebo - spawn_model

John Hsu johnhsu at willowgarage.com
Tue Nov 9 15:29:20 UTC 2010


Hi Nicolas,

I don't think gazebo can read pgm files.  Try opening your map file in gimp,
save it as a grayscale .png file.  Place the file in a package that exports
its prefix to gazebo_media_path (for example take a look at manifest.xml for
gazebo_worlds), under a subdirectory
[package_name]/Media/materials/texture/walls.png.

Then try your spawn again.  Note that if the map is complicated, it might
take gazebo's recursive rectangle wall builder more than 30 sec. to
construct the model.

John



2010/11/9 Nicolás Alvarez Picco <nicolasapicco at hotmail.com>

>  Hi Everybody!!!
>
> I have made a map with gmapping, it is a file 'map.pgm'. Now I want to
> spawn its walls, for that I am using this launch file:
>
> <launch>
>
>   <arg name="scenario"/>
>   <arg name="no_window"/>
>   <!-- start gazebo with an empty plane -->
>   <param name="/use_sim_time" value="true" />
>
>   <!-- if no window is set then start with -r (no window displayed) -->
>   <node name="gazebo" pkg="gazebo" type="gazebo" args="-r $(find
> han_Scene)/worlds/empty.world" respawn="false" output="screen" if="$(arg
> no_window)"/>
>
>   <!-- Otherwise start normally -->
>   <node name="gazebo" pkg="gazebo" type="gazebo" args="$(find
> han_Scene)/worlds/empty.world" respawn="false" output="screen" unless="$(arg
> no_window)"/>
>
>   <!-- walls-->
>   <param name="walls" textfile="$(find han_Scene)/scenarios/$(arg
> scenario)/walls.model" />
>
>   <node name="xml2factor_walls" pkg="gazebo" type="spawn_model"
> args="-gazebo -param walls -model walls" respawn="false" output="screen" />
>
>   <!-- <node name="xml2factor_walls" pkg="gazebo" type="spawn_model"
> args="-gazebo -param walls -x -16 -y -16 -model walls" respawn="false"
> output="screen" /> -->
>
> </launch>
>
> Where the file walls.model is
>
> <?xml version="1.0" ?>
> <model:physical name="walls_model"
>   xmlns:model="http://playerstage.sourceforge.net/gazebo/xmlschema/#model"
>
>   xmlns:body="http://playerstage.sourceforge.net/gazebo/xmlschema/#body"
>   xmlns:geom="http://playerstage.sourceforge.net/gazebo/xmlschema/#geom" >
>
>   <static>true</static>
>   <body:map name="walls_body">
>     <xyz>-8 -8 0 </xyz>
>     <geom:map name="walls_geom">
>       <image>map.pgm</image> <!-- for now this is in the gazebo model dir,
> change later-->
>       <height>2</height>
>       <threshold>200</threshold>
>       <granularity>1</granularity>
>       <negative>false</negative>
>       <scale>0.04</scale>
>       <offset>0 0 0</offset>
>       <material>Gazebo/Rocky</material>
>     </geom:map>
>   </body:map>
> </model:physical>
>
> The thing is that nothing happens in gazebo.
> Any clue?? Does exist any documentation about how to spawn walls of a map??
>
> Many thanks
>
> Nicolas
>
> _______________________________________________
> ros-users mailing list
> ros-users at code.ros.org
> https://code.ros.org/mailman/listinfo/ros-users
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ros.org/pipermail/ros-users/attachments/20101109/c06591ad/attachment-0003.html>


More information about the ros-users mailing list