Page 1 of 1

Why doesn't the robot walk in a straight line

Posted: 16 Nov 2021, 09:46
by xxm
Hello,

I am using vrep to simulate a robot and I find a weird phenomenon, but I do not know how to solve it.

This is my scene.[https://github.com/xxx-007/image/blob/main/car.ttt]
The car model is from vrep and I only change the floor's sizeļ¼Œ and the car's moving speed. But I found that the car cannot run in a straight line after 15m. Two joints' velocity of the car are same, I cannot understand why the car has the bias in x-axis.

Look forward to your early reply!

Re: Why doesn't the robot walk in a straight line

Posted: 17 Nov 2021, 15:24
by coppelia
Hello,

try with a different engine and you will get a different result. This is because a physics engine isn't perfect and won't perfectly simulate your scene. It will make a lot of approximations (namely regarding friction, etc.). Keep in mind that there is always a tradeoff between calculation speed, simulation fidelity and simulation stability. Different engine, different outcomes, most of the time.

Btw, this is also the reason that a robot rarely runs without any kind of feed-back in the real world, because odometry won't be enough after a few meters or degrees of movement.

Cheers

Re: Why doesn't the robot walk in a straight line

Posted: 19 Nov 2021, 03:44
by xxm
Thanks for your reply!

After changing other physics engine, I find that the car has a small bias with Newton. So I think that maybe Newton can solve this problem.
So when I ran a legged robot in vrep with bullet, I find that the legged robot also has a big bias. Then I change the Newton physics engine, but my legged robot cannot move with Newton. However my legged robot can normally move with bullet. I don't konw why my legged robot cannot run with Newton and I don't what should I do to change it.

Re: Why doesn't the robot walk in a straight line

Posted: 19 Nov 2021, 11:24
by coppelia
Welcome to the world of differences between physics engines! Keep in mind that each physics engine has some strengths and weaknesses. You will have to find out yourself what engine fits your particular application best.
Additionally, you can try to adjust and tweak your model, so that it operates in a similar way with all engines. Make sure to carefully read the dynamics design considerations section, its gives you clues how to make your models and simulations more stable with all engines.

Cheers