Hello.

I'm trying to model a heavy multi-wheel vehicle with torsion bar suspension. I have unpleasant effects associated with the rotation/displacement of the axis of the revolute joints suspension when overcoming obstacles machine. I know that in order to correctly model the suspension, I must either ensure that the body weights connected by the joint do not differ more than 10 times; or use Vortex and hope for the best.

My question: perhaps whether to for some dynamic objects the physics engine in V-Rep could determine collisions, but does not calculate forces. Instead, the work of calculating forces would be implemented by my plugin?

## About heavy vehicle simulation problem

### Re: About heavy vehicle simulation problem

Hi,

maybe is it something you can solve using a contact callback function and/or a dynamic callback function?

maybe is it something you can solve using a contact callback function and/or a dynamic callback function?

### Re: About heavy vehicle simulation problem

Thanks for your answer.

For a lighter vehicle, I used a similar approach. I turned off the friction between the wheel and the surface and formed the tangential friction forces myself in the sysCall_dynCallback function. From the physics engine, I was only getting normal forces with the getContactInfo function. However, in this case, this approach gave a bad result. When overcoming obstacles visually observed "folding" wheels.

I could make the vehicle a static object and myself separately calculate the dynamics of the object (equations of motion of the vehilce, implemented as a dll, I have). However, for a static object, I will not be able to use the collision detection mechanism. Now I see only one way for me: is to make changes to one of the V-Rep physics engines. What do you think about it?

For a lighter vehicle, I used a similar approach. I turned off the friction between the wheel and the surface and formed the tangential friction forces myself in the sysCall_dynCallback function. From the physics engine, I was only getting normal forces with the getContactInfo function. However, in this case, this approach gave a bad result. When overcoming obstacles visually observed "folding" wheels.

I could make the vehicle a static object and myself separately calculate the dynamics of the object (equations of motion of the vehilce, implemented as a dll, I have). However, for a static object, I will not be able to use the collision detection mechanism. Now I see only one way for me: is to make changes to one of the V-Rep physics engines. What do you think about it?

### Re: About heavy vehicle simulation problem

Hello,

that might be tricky. If you set your vehicle to static, then you will have to handle all aspects yourself. This means contact point calculation between objects, and the collision response and dynamics. The problem I see is the contact point calclation: if the physics engines are off, then you'll have to use the collision detection module, or the minimum distance calculation module for contact point calculation.

While the collision detection module only tells you whether two objects are colliding, the distance calculation module tells you the distance between two objects, and the two closest points on those objects. While the two objects do not touch, you can use those points. But as soon as those objects touch, then the points won't be computed anymore and you have no way of telling the penetration depth or figure out a contact point.

Cheers

that might be tricky. If you set your vehicle to static, then you will have to handle all aspects yourself. This means contact point calculation between objects, and the collision response and dynamics. The problem I see is the contact point calclation: if the physics engines are off, then you'll have to use the collision detection module, or the minimum distance calculation module for contact point calculation.

While the collision detection module only tells you whether two objects are colliding, the distance calculation module tells you the distance between two objects, and the two closest points on those objects. While the two objects do not touch, you can use those points. But as soon as those objects touch, then the points won't be computed anymore and you have no way of telling the penetration depth or figure out a contact point.

Cheers