CoppeliaSim main features

5 Programming Approaches Powerful APIs, 7 languages Remote API
Simulator and simulations are fully customizable, with 5 programming approaches that are mutually compatible and that can even work hand-in-hand. 6 supported programming languages.
Regular API: Python, Lua and C/C++
Remote API: C/C++, Python, Java, JavaScript, Matlab & Octave
ROS interfaces: publishers, subscribers & service calls. Support all standard messages, extendable.
Control a simulation or the simulator itself remotely (e.g. from a real robot or another PC)
Dynamics/Physics Inverse/Forward Kinematics Soft Bodies
5 physics engines (MuJoCo, Bullet Physics, ODE, Vortex and Newton Dynamics) for fast and customizable dynamics calculations, to simulate real-world physics and object interactions (collision response, grasping, etc.)
Inverse/forward kinematics calculations for any type of mechanism (branched, closed, redundant, containing nested loops, etc.). An embeddable version of the IK/FK algorithms is available (i.e. can run on your robot).
CoppeliaSim supports via the MuJoCo engine soft bodies, strings, ropes, cloths, etc.
Collision Detection Minimum Distance Calculation Cross-Platform & Portable
Fast interference checking between any mesh, OC tree, point cloud, or collection of those.
Fast and exact minimum distance calculation between any mesh (convex, concave, open, closed), OC tree, point cloud, or collection of those.
CoppeliaSim is cross-platform, and allows the creation of portable, scalable and easy maintainable content: a single portable file can contain a fully functional model (or scene), including control code.
Proximity Sensor Simulation Vision Sensor Simulation Building Block Concept
Powerful and realistic proximity sensor simulation (exact min. distance calculation within a customizable detection volume). Much more continuous operation than with discrete ray sensors. Operates on meshes, OC trees and point clouds
Simulation of vision sensors with many possibilities for image processing, fully customizable and extendable (e.g. via plugin)
Anything - from sensors or actuators, to whole robotic systems - can be built within CoppeliaSim by combining basic objects and linking various functionality via embedded scripts. Every scene object can have its own embedded script!
Path/Motion Planning Data Recording and Visualization Custom User Interfaces
Path planning / motion planning is supported in a very flexible way via the OMPL library wrapped in a plugin for CoppeliaSim
A large variety of recordable data streams (including user-defined) can display time-graphs, or can be combined with each other to form x/y-graphs, or 3D curves
Unlimited number of fully customizable user interface elements
Integrated Edit Modes Easy Data Import/Export RRS Interface & Motion Library
Special mesh edit modes are supported (including a semi-automatic primitive shape extraction method, convex decomposition, mesh decimation, etc.)
Many formats are supported: URDF, SDF, Collada, STL, DXF, OBJ, glTF, etc.
The RRS-1 interface specifications are fully implemented, and the Reflexxes Motion Library and Ruckig Online Trajectory Generator are fully supported.
Full-Featured Scene Hierarchy Convenient Model Browser Full Interaction
The scene composition is intuitively visualized in a scene hierarchy view, indicating object aliases, types, associated control scripts, loop closures, selection and visibility states, warnings, etc.
The integrated model browser supports drag-and-drop operations (also during simulation!) for convenient scene composition. The available model library, updated at each release, can be easily extended by the user
Full interaction also during simulations: models, together with their associated behavior (i.e. embedded scripts) can be shifted, rotated, copy/pasted, scaled, erased, etc. without having to adjust any code
Free Educational License Lite Version Many More features
Educational entities (hobbyists, students, teachers, professors, schools and Universities) can use CoppeliaSim Edu for free. The source code of all elements is available. Refer to the licensing page for details
A CoppeliaSim Lite runtime version is available, meant to be embedded and shipped with your own application.
e.g. three.js browser-based viewer, multilevel undo/redo, movie recorder, simulation of paint or welding seams, OC trees, point clouds, exhaustive documentation, etc.