Well, it seems that you've done what I was working on. I'm assuming that the stage code uses a quad-tree to generate the boxes.
I'll finish up what my version of the code, and see if there are any major differences. The only one that I could think of is the way in which the boxes are assigned to ODE spaces. All the box bodies should be contained in one model. Also, it's a bit more efficient if the the quad-tree is used to generate a tree of ODE spaces. However, the performance increase from doing this will only be seen when running a robot through the world with a laser. Could you send the willow-walls.model file? -nate On Mon, Jul 14, 2008 at 8:15 PM, Brian Gerkey <[EMAIL PROTECTED]> wrote: > > On Jul 14, 2008, at 2:57 PM, Nate Koenig wrote: > >> I had a method for creating efficient maps from 2D maps in an older >> version of gazebo. It essentially created boxes to fit the occupied >> space. I haven't put this functionality back into the current version >> of Gazebo. >> >> I still have the code kicking around, so I guess now is a good time. >> >> I'll see what I can do tonight, and I'll get back to you tomorrow with >> either something that works or at least a starting point that you can >> run with. > > Thanks, Nate, I'd like to see that. > > In the meantime, I ran with your idea and wrote a little parser to find > axis-aligned rectangles in the 2D map (code courtesy of Stage) and output > boxes in XML. This works fine, and improves performance noticeably. > > However, it's still slower than I was expecting, and I wonder if I'm doing > something wrong. > > Attached is a simple .world file that includes a second world file. The > second file contains my auto-generated walls, basically about 700 boxes, > plus one more to form a ground plane. The boxes each look like this: > > <body:box name="wall_0_body"> > <xyz> 4.700 25.550 1.0</xyz> > <rpy> 0.0 0.0 0.0</rpy> > <static>true</static> > <geom:box name="wall_0_geom"> > <mesh>default</mesh> > <size> 34.500 0.200 2.0</size> > <visual> > <size> 34.500 0.200 2.0</size> > <material>Gazebo/PioneerBody</material> > <mesh>unit_box</mesh> > </visual> > </geom:box> > </body:box> > > Judging from the sim time and real time counters in the GUI, I'd say that > Gazebo is running at about 1/4 of real time on this world. I'm surprised by > that, since it's all static objects. What can I tweak to make things run > faster? > > Apologies in advance for anything obvious that I've missed. I'm coming back > to Gazebo after years of not using it.... > > brian. > > > > ------------------------------------------------------------------------- > This SF.Net email is sponsored by the Moblin Your Move Developer's challenge > Build the coolest Linux based applications with Moblin SDK & win great > prizes > Grand prize is a trip for two to an Open Source event anywhere in the world > http://moblin-contest.org/redirect.php?banner_id=100&url=/ > > _______________________________________________ > Playerstage-gazebo mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/playerstage-gazebo > > ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ Playerstage-gazebo mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/playerstage-gazebo
