Hi,

since in the latest revisions Gazebo uses the same coordinate frames as 
Ogre the TimeshGeom class needs a small update:

*(vertPtr+0) = (*pFloat++) * scale.x;
*(vertPtr+1) = (*pFloat++) * scale.y;
*(vertPtr+2) = (*pFloat++) * scale.z;

instead of:

*(vertPtr+1) = (*pFloat++) * scale.x;
*(vertPtr+2) = (*pFloat++) * scale.y;
*(vertPtr+0) = (*pFloat++) * scale.z;


Also I've found another problem with the TrimeshGeoms: if I run the 
worlds/trimesh.world as it is everything is all right. But if I modify 
the scale of the trimesh from .2 .2 .2 to .1 .1.1 for example and run 
the simulation, as soon as the body touches the floor Gazebo crashes 
because of an assert in Ogre:

gazebo: ../../OgreMain/include/OgreAxisAlignedBox.h:239: void 
Ogre::AxisAlignedBox::setExtents(const Ogre::Vector3&, const 
Ogre::Vector3&): Assertion `(min.x <= max.x && min.y <= max.y && min.z 
<= max.z) && "The minimum corner of the box must be less than or equal 
to maximum corner"' failed.

I've noticed that right before the crash, in the update cycle, the 
/Body::GetPosition/ returns /nan/ (actually it gets NULL from 
/dBodyGetPosition/). I'm not sure if this is the cause.

Also with:

  // TODO: This should probably be true....but "true" breaks trimesh 
postions.
  this->SetPose(pose, false);

in Geom.cc line 117 it doesn't crash, but then I think the positioning 
of the geoms messes up.

I'm having trouble finding the source of this crash. I would appreciate 
any ideas or advices where to look further.

Mihai

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Playerstage-gazebo mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/playerstage-gazebo

Reply via email to