CoppeliaSim

Last updated
Developer(s) Coppelia Robotics AG
Stable release
4.7 / June 14th, 2024
Operating system Windows, Linux, macOS
Type Robotics simulator
License Dual licensed (commercial or GPL)
Website Coppelia Robotics web page

CoppeliaSim, formerly known as V-REP, is a robot simulator used in industry, education and research. [1] [2] It was originally developed within Toshiba R&D and is currently being actively developed and maintained by Coppelia Robotics AG, a small company located in Zurich, Switzerland.

It is built around a distributed control architecture having Python and Lua scripts, or C/C++ plug-ins acting as individual, synchronous controllers. Additional asynchronous controllers can execute in another process, thread or machine via various middleware solutions (ROS, remote API, [3] ZeroMQ) with programming languages such as C/C++, Python, Java and Matlab.

CoppeliaSim uses a kinematics engine for forward and inverse kinematics calculations, and several physics simulation libraries (MuJoCo, Bullet, ODE, Vortex, Newton Game Dynamics) to perform rigid body simulation. Models and scenes are built by assembling various objects (meshes, joints, various sensors, Point clouds, OC trees, etc.) into a hierarchical structure. Additional functionality, provided by plug-ins, include: motion planning (via OMPL), synthetic vision and imaging processing (e.g. via OpenCV), collision detection, minimum distance calculation, custom graphical user interfaces and Data visualization (e.g. via plots).

The main fields of application of CoppeliaSim are robotics research [4] and education. [5] [6] [7]

Related Research Articles

<span class="mw-page-title-main">Simulation</span> Imitation of the operation of a real-world process or system over time

A simulation is an imitative representation of a process or system that could exist in the real world. In this broad sense, simulation can often be used interchangeably with model. Sometimes a clear distinction between the two terms is made, in which simulations require the use of models; the model represents the key characteristics or behaviors of the selected system or process, whereas the simulation represents the evolution of the model over time. Another way to distinguish between the terms is to define simulation as experimentation with the help of a model. This definition includes time-independent simulations. Often, computers are used to execute the simulation.

<span class="mw-page-title-main">Game controller</span> Device used with games or entertainment systems

A game controller, gaming controller, or simply controller, is an input device or input/output device used with video games or entertainment systems to provide input to a video game. Input devices that have been classified as game controllers include keyboards, mice, gamepads, and joysticks, as well as special purpose devices, such as steering wheels for driving games and light guns for shooting games. Controllers designs have evolved to include directional pads, multiple buttons, analog sticks, joysticks, motion detection, touch screens and a plethora of other features.

<span class="mw-page-title-main">Eclipse (software)</span> Software development environment

Eclipse is an integrated development environment (IDE) used in computer programming. It contains a base workspace and an extensible plug-in system for customizing the environment. It is the second-most-popular IDE for Java development, and, until 2016, was the most popular. Eclipse is written mostly in Java and its primary use is for developing Java applications, but it may also be used to develop applications in other programming languages via plug-ins, including Ada, ABAP, C, C++, C#, Clojure, COBOL, D, Erlang, Fortran, Groovy, Haskell, JavaScript, Julia, Lasso, Lua, NATURAL, Perl, PHP, Prolog, Python, R, Ruby, Rust, Scala, and Scheme. It can also be used to develop documents with LaTeX and packages for the software Mathematica. Development environments include the Eclipse Java development tools (JDT) for Java and Scala, Eclipse CDT for C/C++, and Eclipse PDT for PHP, among others.

<span class="mw-page-title-main">Control system</span> System that manages the behavior of other systems

A control system manages, commands, directs, or regulates the behavior of other devices or systems using control loops. It can range from a single home heating controller using a thermostat controlling a domestic boiler to large industrial control systems which are used for controlling processes or machines. The control systems are designed via control engineering process.

<span class="mw-page-title-main">Open Dynamics Engine</span>

The Open Dynamics Engine (ODE) is a physics engine written in C/C++. Its two main components are a rigid body dynamics simulation engine and a collision detection engine. It is free software licensed both under the BSD license and the LGPL.

Quantum programming is the process of designing or assembling sequences of instructions, called quantum circuits, using gates, switches, and operators to manipulate a quantum system for a desired outcome or results of a given experiment. Quantum circuit algorithms can be implemented on integrated circuits, conducted with instrumentation, or written in a programming language for use with a quantum computer or a quantum processor.

Hardware-in-the-loop (HIL) simulation, or HWIL, is a technique that is used in the development and testing of complex real-time embedded systems. HIL simulation provides an effective testing platform by adding the complexity of the process-actuator system, known as a plant, to the test platform. The complexity of the plant under control is included in testing and development by adding a mathematical representation of all related dynamic systems. These mathematical representations are referred to as the "plant simulation". The embedded system to be tested interacts with this plant simulation.

<span class="mw-page-title-main">Player Project</span> Robot interface specification and software system

The Player Project creates free and open-source software for research into robotics and sensor systems. Its components include the Player network server and the Stage platform robotics simulators. Although accurate statistics are hard to obtain, Player is one of the most popular open-source robot interfaces in research and post-secondary education.

<span class="mw-page-title-main">Webots</span> Open-source robot simulator

Webots is a free and open-source 3D robot simulator used in industry, education and research.

<span class="mw-page-title-main">Robotics simulator</span> Simulator to create applications for physical robots

A robotics simulator is a simulator used to create an application for a physical robot without depending on the physical machine, thus saving cost and time. In some case, such applications can be transferred onto a physical robot without modification.

<span class="mw-page-title-main">OpenRAVE</span>

Open Robotics Automation Virtual Environment (OpenRAVE) provides an environment for testing, developing, and deploying motion planning algorithms in real-world robotics applications. The main focus is on simulation and analysis of kinematic and geometric information related to motion planning. OpenRAVE's stand-alone nature allows it to be easily integrated into existing robotics systems. It provides many command-line tools to work with robots and planners, and the run-time core is small enough to be used inside controllers and bigger frameworks.

<span class="mw-page-title-main">Open-source robotics</span> Open-source branch of robotics

Open-source robotics is a branch of robotics where robots are developed with open-source hardware and free and open-source software, publicly sharing blueprints, schematics, and source code. It is thus closely related to the open design movement, the maker movement and open science.

Robotics middleware is middleware to be used in complex robot control software systems.

<span class="mw-page-title-main">SimSpark</span>

SimSpark is a generic simulation system for various multiagent simulations. It supports developing physical simulations for AI and robotics research with an open-source application framework. It is commonly used in academic research and education.

Real-time simulation refers to a computer model of a physical system that can execute at the same rate as actual "wall clock" time. In other words, the computer model runs at the same rate as the actual physical system. For example, if a tank takes 10 minutes to fill in the real world, it would take 10 minutes to fill in the simulation as well.

LinuxCNC is a free, open-source Linux software system that implements numerical control capability using general purpose computers to control CNC machines. It's mainly intended to run on PC AMD x86-64 systems. Designed by various volunteer developers at linuxcnc.org, it is typically bundled as an ISO file with a modified version of Debian Linux which provides the required real-time kernel.

<span class="mw-page-title-main">Salvius (robot)</span> Open source humanoid robot

Salvius is an open source humanoid robot built in the United States in 2008, the first of its kind. Its name is derived from the word 'salvaged', being constructed with an emphasis on using recycled components and materials to reduce the costs of designing and construction. The robot is designed to be able to perform a wide range of tasks due to its humanoid body structure planning. The primary goal for the Salvius project is to create a robot that can function dynamically in a domestic environment.

AirSim is an open-source, cross platform simulator for drones, ground vehicles such as cars and various other objects, built on Epic Games’ proprietary Unreal Engine 4 as a platform for AI research. It is developed by Microsoft and can be used to experiment with deep learning, computer vision and reinforcement learning algorithms for autonomous vehicles. This allows testing of autonomous solutions without worrying about real-world damage.

<span class="mw-page-title-main">Asynchronous multi-body framework</span> Robotic simulator

Asynchronous multi-body framework (AMBF) is an open-source 3D versatile simulator for robots developed in April 2019. This multi-body framework provides a real-time dynamic simulation of multi-bodies such as robots, free bodies, and multi-link puzzles, paired with real-time haptic interaction with various input devices. The framework integrates a real surgeon master console, haptic or not, to control simulated robots in real-time. This feature results in the simulator being used in real-time training applications for surgical and non-surgical tasks. It offers the possibility to interact with soft bodies to simulate surgical tasks where tissues are subject to deformations. It also provides a Python Client to interact easily with the simulated bodies and train neural networks on real-time data with in-loop simulation. It includes a wide range of robots, grippers, sensors, puzzles, and soft bodies. Each simulated object is represented as an afObject; likewise, the simulation world is represented as an afWorld. Both utilize two communication interfaces: state and command. Through the State command, the object can send data outside the simulation environment, while the Command allows to apply commands to the underlying afObject.

References

  1. Rohmer, Eric; Singh, Surya P. N.; Freese, Marc (3 November 2013). CoppeliaSim (formerly V-REP): a Versatile and Scalable Robot Simulation Framework (PDF). 2013 IEEE/RSJ International Conference on Intelligent Robots and Systems. Tokyo, Japan. pp. 1321–1326. doi:10.1109/IROS.2013.6696520.
  2. "CoppeliaSim / V-REP paper references" . Retrieved 9 September 2020.
  3. "Remote API reference" . Retrieved 26 April 2021.
  4. Jiménez, A.; Anzola, J.; Rubén González Crespo, Vicente García-Díaz; L., Zhao (2020). "PyDSLRep: A domain-specific language for robotic simulation in V-Rep". PLOS ONE. 15 (7): e0235271. Bibcode:2020PLoSO..1535271J. doi: 10.1371/journal.pone.0235271 . PMC   7329094 . PMID   32609761.
  5. Caio, Camargo; Gonçalves, José; Conde, Miguel Á.; Rodríguez-Sedano, Francisco J.; Costa, Paulo; García-Peñalvo, Francisco J. (2021). "Systematic Literature Review of Realistic Simulators Applied in Educational Robotics Context". Sensors. 21 (12): 4031. doi: 10.3390/s21124031 . PMC   8230607 . PMID   34208046.
  6. "CoppeliaSim Introduction - Northwestern Mechatronics Wiki". hades.mech.northwestern.edu. Retrieved 2021-04-22.
  7. Pitonakova, Lenka; Giuliani, Manuel; Pipe, Anthony; Winfield, Alan (2018). Giuliani, Manuel; Assaf, Tareq; Giannaccini, Maria Elena (eds.). Feature and Performance Comparison of the V-REP, Gazebo and ARGoS Robot Simulators. Towards Autonomous Robotic Systems. Springer International Publishing. pp. 357–368. ISBN   978-3-319-96728-8.