CoppeliaSim's dynamics module currently supports four different physics engines: the Bullet physics library, the Open Dynamics Engine, the Vortex Studio engine and the Newton Dynamics engine. At any time, the user is free to quickly switch from one engine to the other according to his/her simulation needs. The reason for this diversity in physics engine support is that physics simulation is a complex task, that can be achieved with various degrees of precision, speed, or with support of diverse features:
[Open Dynamics Engine]
The dynamics module allows simulating interactions between objects that are near to real-world object interactions. It allows objects to fall, collide, bounce back, but it also allows a manipulator to grasp objects, a conveyor belt to drive parts forward, or a vehicle to roll in a realistic fashion over uneven terrain. Following figures illustrate a dynamic simulation:
Unlike many other simulation software packages, CoppeliaSim is not a pure dynamics simulator. It can rather be seen as a hybrid simulator that combines kinematics and dynamics in order to obtain the best performance for various simulation scenarios. Nowadays, physics engines are still relying on many approximations and are relatively imprecise and slow, and wherever possible you should try to use kinematics instead (e.g. for robotic manipulators) and only rely on dynamics where otherwise not feasible (e.g. a robotic manipulator's gripper). If you are simulating a mobile robot that is not supposed to collide or physically interact with its environment (which most mobile robots are anyway very rarely supposed to do) and that is operating exclusively on flat ground (which groups the vast majority of mobile robots), then try rather using kinematic or geometric calculations to simulate the robot's movement. The result will be faster and more accurate.