A robotics simulator is used to create embedded applications for a robot without depending physically on the actual machine, thus saving cost and time. In some case, these applications can be transferred on the real robot (or rebuilt) without modifications. The term robotics simulator can refer to several different robotics simulation applications. For example, in mobile robotics applications, behavior-based robotics simulators allow users to create simple worlds of rigid objects and light sources and to program robots to interact with these worlds. Behavior-based simulation allows for actions that are more biological in nature when compared to simulators that are more binary, or computational. In addition, behavior-based simulators may "learn" from mistakes and are capable of demonstrating the anthropomorphic quality of tenacity.
One of the most popular applications for robotics simulators is for 3D modeling and rendering of a robot and its environment. This type of robotics software has a simulator that is a virtual robot, which is capable of emulating the motion of an actual robot in a real work envelope. Some robotics simulators, such as Robologix use a physics engine for more realistic motion generation of the robot. The use of a robotics simulator for development of a robotics control program is highly recommended regardless of whether an actual robot is available or not. The simulator allows for robotics programs to be conveniently written and debugged off-line with the final version of the program tested on an actual robot. Of course, this primarily holds for industrial robotic applications only, since the success of off-line programming depends on how similar the real environment of the robot is to the simulated environment. Sensor-based robot actions are much more difficult to simulate and/or to program off-line, since the robot motion depends on the instantaneous sensor readings in the real world.
Modern simulators tend to provide the following features:
- Fast robot prototyping
- Physics engines for realistic movements. Most simulators use ODE (Gazebo, LpzRobots, Marilou, Webots) or PhysX (Microsoft Robotics Studio).
- Realistic 3d rendering. Standard 3d modeling tools or third party tools can be used to build the environments.
- Dynamic robot bodies with scripting. C, C++, Perl, Python, Java, URBI, MATLAB languages used by Webots, Python used by Gazebo.
||This article's use of external links may not follow Wikipedia's policies or guidelines. (December 2010)|
Robotic Arm Simulation
- RoKiSim: A free educational software for the 3D simulation of six-axis PUMA-type serial robots.
- RoboAnalyzer: A free educational software to teach Robotics Concepts and Virtual Simulation (Joint Jogging and Cartesian Motion) using CAD models of Industrial Robots.
Open source simulators
- ARS: physically-accurate robotics simulator written in Python.
- breve 3d simulator using Python
- EZPhysics: Combination of Ogre3D and ODE physics, GUI exposes all of ODE's objects data, network closed loop remote control optionally via Matlab/Simulink.
- Gazebo: Probably the most complete open source simulator to this writing. Unless the deb precompiled package is used, it is notoriously difficult to install. It started as part of the Player project but is also used in ROS.
- Khepera Simulator Apparently before Webots became commercial it was open source and called Khepera Simulator
- Klamp't: a simulator introduced in 2013 specializing in stable trimesh-trimesh contact. Supports legged locomotion and manipulation.
- LpzRobots: Another rich simulator with good material support.
- miniBloq: This robot programing software for Arduino boards has a new simulator.
- Moby is a robust robotic dynamics simulator
- MORSE project provides a simulation tools based on the Blender 3D modeling software.
- OpenHRP3: (Open Architecture Human-centered Robotics Platform version 3) is an integrated software platform for robot simulations and software developments.
- OpenSim Simulator for articulated and wheeled robots with a wide range of characteristics. Further development stopped in the year 2006.
- ORCA-Sim: a simulator for robotics: is a (Windows) 3D robot simulator which incorporates the Newton Game Dynamics physics engine. A good alternative for Win32 platforms and the Gazebo project, with fast response and good performance. (Currently not open source. Last update in 2007)
- Robotics Toolbox for MATLAB is Free Software that provides functionality for representing pose (homogeneous transformations, Euler and RPY angles, quaternions), arm robots (forward/inverse kinematics, dynamics, simulation, animation) and mobile robots (control, localisation, planning and animation).
- Simbad 3d Robot Simulator Java based simulator
- SimRobot: A robot simulator software package developed at the Universität Bremen and the German Research Center for Artificial Intelligence.
- Stage: 2.5D simulator often used with Player to form the Player/Stage system. Part of the Player Project
- STDR Simulator A simple, flexible and scalable 2D multi-robot simulator for use within Robot Operating System.
- UCHILSIM: A physics based simulator for AIBO Robots introduced in RoboCup 2004.
- v-rep (Virtual Robot Experimentation Platform): "the Swiss army knife among robot simulators". Note: v-rep has an open-source license (GNU GPL) but v-rep pro as well as some plugins do not.
- UWSim : an UnderWater SIMulator for marine robotics research and development which incorporates sensor, dynamic and physics simulation.
- Actin Simulation toolkit for Robotics
- anyKode Marilou
- Cogmation robotSim
- Microsoft Robotics Developer Studio: As of 2008 R3, Robotics Developer Studio is a free download.
- V-REP PRO: 2 physics engines, kinematic solver, path planning, 6 programming approaches, 6 languages.
- Visual Components
- Webots A generic simulator that can be programmed in C/C++, Java, Python, URBI and MATLAB
- WorkCellSimulator WorkCellSimulator
- Workspace 5 Robot and Automation Simulation