Creating a complete virtual model by simulating components and control programs can lead to simplifying the construction process of a robot and can reduce costs of a project. The good part is that most applications used in simulation can be transferred to physical robots without requiring changes, or at least major changes. In a virtual environment interactions and behavior of a robot or system can be simulated with high accuracy compared to the actual real life model. For example a mobile robot can be simulated as it moves around in an environment with lots of obstacles and rough terrain, in order to analyse the response from its sensors and the efficiency of its algorithms.
Benefits of simulation
- reduce costs involved in robot production;
- can make a diagnosis of source code that controls a particular resource or a mix of resources;
- possibility to simulate various alternatives without involving physical costs;
- the robot or components can be tested;
- simulation can be done in stages, if the project is complex and requires it;
- can make a demonstration of system to determine if is viable or not;
- compatibility with a wide range of programming languages;
- shorter delivery times.
Disadvantages of simulation
- the program can simulate just what it is programmed to simulate;
- the robot can meet many more scenarios in the real world than can be simulated.
New versions of simulation platforms offer increasingly more features that make simulation easier and also very close to reality. A significant contribution comes from 3D simulation which can be used to build the robot and the environment in detail. Most tools are compatible with programming languages like: C, C++, Perl, Python, Java, URBI, or MATLAB. Below you can find a list of simulation tools.
01. Microsoft Robotics Developer Studio
Microsoft offers robot developers a complete tool that can be used to program and create 3D simulations of your robot and environment. It supports major robotic platforms like the Mindstorms NXT from Lego. The software offers various methods and technologies for rapid prototyping and includes a great amount of functional libraries.
Created in Microsoft style, MRDS 4 is friendly with users and integrates well with your Windows environment.
Webots has a friendly interface, and supports the following languages: C/C++, Java, Python, URBI, MATLAB or interface with third party software through TCP/IP. It is one of the most common simulation platforms with a long list of components which can be used in simulation and the possibility of adding other components.
Compatible with most Windows operating systems, Workspace 5 is a powerful set of tools that supports 3D simulation and is compatible with a long list of languages in the industrial area: AB G-Code, ABB Rapid, Adept V-Plus, Fanuc Karel 5, Fanuc TP, Mitsubishi PA10, Mitsubishi Melfa Basic, Motoman Inform II, Kawasaki AS, Kuka KRL, Nachi Slim, Panasonic Pres and Siemens G-Code.
Components and fixtures are included and can be used in building the simulation environment and robot. Another important feature is compatibility with CAD files that can be created in AutoCAD for example, then imported into the simulation program to be used.
V-REP is a 3D simulator compatible with Windows, Mac and Linux, which allows modeling of an entire system or only certain components like sensors, mechanisms, gearing and so on. The control program of a component can be attached to the object or the scene with objects to model in a way similar to reality. The platform can be used to control the hardware part, develop algorithms, create factory automation simulations, or for educational demonstrations.
Compatible with most operating systems, LabVIEW is used extensively in engineering and research. Is a complex system that can be used in simulation, testing or measurement. It offers the possibility of simulating a large number of hardware components.
Used for development and simulation, OpenHRP3 is a complex environment and offers a suite of components to develop some of the more complex robots. Allows dynamic simulation which requires inspection by the user of the robot model and the program that controls the robot.
Used less in complex simulations, Player is mainly used to simulate sensor applications. Compatible with most operating systems and programming languages, the platform can simulate a variety of sensors and their response to various stimuli. It also offers the possibility to create 3D simulations.
Simbad is a Java-compatible simulation tool that can be used for educational or scientific purposes. Simbad is mainly used for simulating 3D visualization and sensing, range or contact sensors.
Algodoo is a free simulation platform designed mainly for educational purposes. It is used similarly as a drawing tool and is available for Windows, Mac and iPad.
RoboWorks 3.0 is an excellent 3D modeler for use in educational purposes and in industrial simulation. Graphics in 3D can be added in an easy way and it is compatible with C, C++, C/C++ interpreter Ch, VB, VB.NET, LabView, etc. A free demo is available for download.
RobotStudio is a powerful development suite created by ABB and is specialized in industrial robot simulation. The program also offers a generous list of components which can be used to simulate a robot or its sensors, actuators, grippers, etc. A free version with limited functionality is available for download.
Gazebo can simulate complex systems and a variety of sensor components. It is used especially in developing robots used in interaction, to lift or grab objects, to push, or any other activity which requires recognition and localization in space. It is an open source platform for which anyone can develop a plug-in with model components. Also is compatible with ROS and Player. Gazebo 4 is available for Linux and is freely downloadable.
13. Actin Simulation
Compatible with CAD files, Actin Simulation can be used for various activities which including simulation of algorithms, join types, rendering, dynamics and control.
Blender is an open source software tool through which data can be obtained after simulation of actuators, sensors and controllers. It is compatible with Windows, Mac and Linux.
WorkcellSimulator used to simulate and program industrial robots. It’s mainly used for applications which involve handling, sorting or machinery for laser cutting and similar applications.
robotSim:Edu is part of the STEM suite created by Cogmation. As its name implies, it is designed to be used primarily for educational purposes, it is compatible with Cogmation C++ API or the LabVIEW software.
3DSimulate is part of the software suite created by Visual Components, designed for industrial applications modeling and programming. A trial version can be downloaded after subscribing.
Roboguide developed by FANUC consists of four components, each of them having a role in simulation. HandlingPRO allows 3D simulation, PaintPRO has the role to create links between robot components and programs, PalletPRO and PalletTool used for development and integration of robotic palletizing and depalletizing systems, WeldPRO allows environment simulation where the robot operates.
With a friendly interface, RoboLogix is an advanced 3D simulation environment for industrial robots, however it is designed primarily for educational purposes. Some of the features include testing and editing programs used to control robots, and the possibility to optimize the cycle times by comparing the control programs. A free 30-day trial software can be downloaded.
Ezphysics is an open source software for Windows which allows for 3D simulation and animation in a similar way to video games. A set of examples, complete with accessible source code is included. Remote network interactions with the software are possible, and integration with MatLab is also possible.
SimRobot is developed by Bremen University and used for research of autonomous robots. Current version is compatible with Windows, Linux and Mac OS X.