Joint motor mode and collision issues

Hello, first of all, sorry for too many questions, I have met two problems when designing a pneumatic clamp cylinder, the first one is the link object is keep shaking after it arrives the limited position in my python program when I choose the joint motor mode as “velocity”, but after I change the mode to " position" and modify the python program, this problem not happened again. the second one is I have set a simple box for the collision shape on the link, and a product also with a simple box collision to verify this collision action, but they failed to collision with each other.

thanks!

clampgif1
clampgif2

Hi, thanks for the question! These things are caused by the collision origin. The physics engine assumes that the center of mass is at the origin of the link. This means that when the collision shape is moved a great distance, the physics engine has some trouble calculating the inertia. This component is very large, which is why the effect becomes so clear.

The easiest solution is to make sure that the collision element has a (0, 0, 0) origin, and instead move the link origin (along with the visual & joint origins) to give it the proper position. When doing this, keep in mind that the joint origin is calculated in relation to the child (link). So, if the link is moved up 1 meter the joint needs to be moved down 1 meter to give the same effect.

Best regards
Aron

We now have an academy course on this topic, it’s a short course that shows some examples.
The course is available here: Academy - Collision origins, and center of mass

Cheers,
Aron

Thank you for your continuous follow-up and tips. The ball in the course explains the phenomenon intuitively,thanks again!