ePuck model breaking during extended runs

Report crashes, strange behaviour, or apparent bugs
Post Reply
AnachroMech
Posts: 3
Joined: 04 Apr 2017, 11:38

ePuck model breaking during extended runs

Post by AnachroMech »

I'm having an issue where when I run simulations using the ePuck, after a while the robot's wheels will break in some way. Usually they either bend at an odd angle or clip though the ePuck's body.
I'm using the Bullet physics engine (I've tried both 2.78 and 2.83) and the default ePuck model that comes with VRep.

coppelia
Site Admin
Posts: 10336
Joined: 14 Dec 2012, 00:25

Re: ePuck model breaking during extended runs

Post by coppelia »

Hello,

can you post the scene where this problem appears?

Cheers

AnachroMech
Posts: 3
Joined: 04 Apr 2017, 11:38

Re: ePuck model breaking during extended runs

Post by AnachroMech »

Hello,
This link should be good I hope:
https://drive.google.com/open?id=0BxL8r ... XVSR0RjdUU

coppelia
Site Admin
Posts: 10336
Joined: 14 Dec 2012, 00:25

Re: ePuck model breaking during extended runs

Post by coppelia »

When I run your scene nothing happens. The robot simply sits there. No breaking or so. So I am not sure what you are talking about unfortunately.
If you can produce a V-REP scene that actually shows the problem that would be more helpful.
Also, does the problem appear with all the physics engines?

Cheers

AnachroMech
Posts: 3
Joined: 04 Apr 2017, 11:38

Re: ePuck model breaking during extended runs

Post by AnachroMech »

sorry, I should have explained before; the ePuck in the scene is controlled by this .jar via the external API:
https://drive.google.com/open?id=0BxL8r ... XZabEt6ZTQ
re the physics engines, the problem appears to occur with both versions of Bullet and ODE. Newton dynamics just crashes the simulation after a few hours and I haven't tried vortex as the free version only supports short runs.

coppelia
Site Admin
Posts: 10336
Joined: 14 Dec 2012, 00:25

Re: ePuck model breaking during extended runs

Post by coppelia »

Unfortunately we can't run some unverified external code for testing. A self-contained scene that illustrates the problem would be best.
But I guess what is going on:
Is it possible that you reset the robot several times during a single simulation run? (i.e. using simResetDynamicObject)
If you use above instruction, then:
  • if you use it for all the objects in a same model, make sure that all the resets happen at the same time (i.e. no thread interruption). If you run in a non-threaded script, then this is fine. In a threaded script you should run all those instructions in-between simSetThreadAutomaticSwitch(false) and simSetThreadAutomaticSwitch(true).
  • if you reset a dynamic model several dozens of times, then some errors will slowly cumulate: take the example of a wheel attached to a car chassis via a joint: the physics engine will tolerate small positional/angular errors in the joint that can propagate after a reset.
If you believe the above point 2 is causing your problem, then I'll explain more in details how to resolve the situation.

Cheers

Post Reply