[ODE] vector has zero size

Alex Green alexg at acfr.usyd.edu.au
Wed Oct 18 04:10:39 MST 2006


Apporx once every 12000 simulations I get the same error. The error can be 
detected. I run a function called 'checkPhysicsForError()' per frame. It 
works as follows:

bool checkPhysicsForError(void){
dReal *pos = (dReal*) dBodyGetPosition(bodyID of one of my boxes);
if(!(pos[0]==pos[0]) || !(_finite(pos[0])))
{
	dWorldDestroy(world);
	reset all my stuff
	create everything again;
	rewind one test (ie do the one that failed from the beginning);
	return true;
}
else return false;
}

Notes:
pos[0] == pos[0] checks for NAN (not a number);
_finite() is windows, is there a cross platform check?

Cheers -alex

Wouter Mollemans wrote:
> After some debugging, I noted that some of the collision points are 
> lying at infinity. This causes dNormalize4() to go nuts. Has anyone seen 
> this problem before and do you know what causes this effect?
> 
> Greetz
> Wouter
>> Hi,
>>
>> In my simulator I try to fit two rigid objects into eachother (a little 
>> bit like a 3D puzzle).  The rigid objects are trimeshes (around 4000 
>> triangles) and all my joint are of the type contact. Sometimes this 
>> works nicely, but mostly I get following message: "ODE message 2 : 
>> vector has zero size" emmtted by dNormalize4(). Consequently the 
>> velocity becomes Nan and my simulation is ruined.
>>
>> Is there a solution? Is there a maximum number of triangles that can be 
>> used or what is the source of the error?
>>
>> Thanks
>> Greetz
>> Wouter
>>
>>
>> --
>> _______________________________________________
>> ODE mailing list
>> ODE at q12.org
>> http://q12.org/mailman/listinfo/ode
>>
>>   
> 
> _______________________________________________
> ODE mailing list
> ODE at q12.org
> http://q12.org/mailman/listinfo/ode
> 


More information about the ODE mailing list