The robotics simulator CoppeliaSim (formerly V-REP), with integrated development environment, is based on a distributed control architecture: each object/model can be individually controlled via an embedded script, a plugin, a ROS node, a remote API client, or a custom solution. This makes CoppeliaSim very versatile and ideal for multi-robot applications. Controllers can be written in C/C++, Python, Java, Lua, Matlab or Octave.
CoppeliaSim is used for fast algorithm development, factory automation simulations, fast prototyping and verification, robotics related education, remote monitoring, safety double-checking, as digital twin, and much more.
Features
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++
Remote API: C/C++, Java,
JavaScript, Python, Matlab, Octave
ROS interfaces:
publishers, subscribers & service calls. Extendable
|
Remote API
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.
|
Collision Detection
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.
|
Soft Bodies
CoppeliaSim supports via
the MuJoCo engine soft bodies, strings, ropes, cloths, etc.
|
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.
|
Custom User Interfaces
Unlimited number of
fully customizable user interface elements.
|
Integrated Edit Modes
Special mesh edit modes
are supported (including a semi-automatic primitive shape extraction
method, convex decomposition, mesh decimation, etc.)
|
Easy Data Import /
Export
Many formats are
supported: URDF, SDF, Collada, STL, DXF, OBJ, glTF, 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.
|
|
|
|