Cross-Plattform and Portable
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.
5 Programming Approaches
Simulator and simulations are fully customizable, with 5 programming approaches that are mutually compatible and that can even work hand-in-hand. 7 supported programming languages.
Powerful APIs, 7 Languages
Regular API: Python, Lua & C/C++
ROS interfaces: publishers, subscribers & service calls. Extendable
Control a simulation or the simulator itself remotely (e.g. from a real robot or another PC)
Dynamics / Physics
5 physics engines (MuJoCo, Bullet Physics, ODE, Newton and Vortex Dynamics) for fast and customizable dynamics calculations, to simulate real-world physics and object interactions (collision response, grasping, etc.).
Inverse / Forward Kinematics
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.
Fast interference checking between any meshe, octree, point cloud, or collection of those.
Minimum Distance Calculation
Fast and exact minimum distance calculation between any meshe (convex, concave, open, closed), octree, point cloud, or collection of those.
Proximity Sensor Simulation
Powerful, realistic and exact volumetric proximity sensor simulation: performs an exact minimum distance calculation within a customizable detection volume. Operates on meshes, octrees and point clouds.
Vision Sensor Simulation
Simulation of vision sensors with many image processing options, fully customizable and extendable (e.g. via plugin).
Building Block Concept
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 attached.
Path / Motion Planning
Path planning / motion planning is supported in a very flexible way via the OMPL library wrapped in a plugin for CoppeliaSim.
Data Recording & Visualization
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.
Integrated Edit Modes
Special mesh edit modes are supported (including a semi-automatic primitive shape extraction method, convex decomposition, mesh decimation, etc.)
RRS Interface & Motion Library
The RRS-1 interface specifications are fully implemented, the Reflexxes Motion Library and the Ruckig Online Trajectory Generator are fully supported.
Full-Featured Scene Hierarchy
The scene composition is intuitively visualized in a scene hierarchy view, indicating object names, types, associated control scripts, loop closures, selection and visibility states, warnings, etc.
Convenient Model Browser
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. scripts) can be shifted, rotated, copy/pasted, scaled, erased, etc. without having to adjust any code.
Free Education License
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.
Free Player Version
A free CoppeliaSim player version is available, and allows running and interacting with CoppeliaSim simulations.
Many More Features
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.