Robotics simulator
Encyclopedia
A robotics simulator is used to create embedded application
s 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 robot
ic applications only, since the success of off-line programming depends on how similar the real environment of the robot 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.
Embedded system
An embedded system is a computer system designed for specific control functions within a larger system. often with real-time computing constraints. It is embedded as part of a complete device often including hardware and mechanical parts. By contrast, a general-purpose computer, such as a personal...
s for a robot
Robot
A robot is a mechanical or virtual intelligent agent that can perform tasks automatically or with guidance, typically by remote control. In practice a robot is usually an electro-mechanical machine that is guided by computer and electronic programming. Robots can be autonomous, semi-autonomous or...
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
Behavior-based robotics
Behavior-based robotics or behavioral robotics is the branch of robotics that incorporates modular or behavior based AI .- How they work :...
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
3D modeling
In 3D computer graphics, 3D modeling is the process of developing a mathematical representation of any three-dimensional surface of object via specialized software. The product is called a 3D model...
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
RoboLogix
-Overview:RoboLogix is a robotics simulator which uses a physics engine to emulate real-world robotics applications. The advantages of using robotics simulation tools are that they save time in the design of robotics applications and they can also greatly increase the level of safety associated...
use a physics engine
Physics engine
A physics engine is computer software that provides an approximate simulation of certain physical systems, such as rigid body dynamics , soft body dynamics, and fluid dynamics, of use in the domains of computer graphics, video games and film. Their main uses are in video games , in which case the...
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 robot
Industrial robot
An industrial robot is defined by ISO as an automatically controlled, reprogrammable, multipurpose manipulator programmable in three or more axes...
ic applications only, since the success of off-line programming depends on how similar the real environment of the robot 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.
Features
Modern simulators tend to provide the following features:- Fast robot prototyping
- Using the own simulator as creation tool (Virtual Robot Experimentation Platform, WebotsWebotsWebots is a professional robot simulator widely used for educational purposes.The Webots project started in 1996, initially developed by Dr. Olivier Michel at the Swiss Federal Institute of Technology in Lausanne, Switzerland....
, R-Station, MarilouAnyKode MarilouanyKode Marilou is a modeling and simulation environment for mobile robots, humanoids, articulated arms and parallels robots operating in real-world conditions that respect the laws of physics...
). - Using external tools.
- Using the own simulator as creation tool (Virtual Robot Experimentation Platform, Webots
- Physics engines for realistic movements. Most simulators use ODEOpen Dynamics EngineThe Open Dynamics Engine is a physics engine in C/C++. Its two main components are a rigid body dynamics simulation engine and a collision detection engine...
(Gazebo, LpzRobots, MarilouAnyKode MarilouanyKode Marilou is a modeling and simulation environment for mobile robots, humanoids, articulated arms and parallels robots operating in real-world conditions that respect the laws of physics...
, WebotsWebotsWebots is a professional robot simulator widely used for educational purposes.The Webots project started in 1996, initially developed by Dr. Olivier Michel at the Swiss Federal Institute of Technology in Lausanne, Switzerland....
) or PhysXPhysXPhysX is a proprietary realtime physics engine middleware SDK developed by Ageia with the purchase of ETH Zurich spin-off NovodeX in 2004...
(Microsoft Robotics StudioMicrosoft Robotics StudioMicrosoft Robotics Developer Studio is a Windows-based environment for robot control and simulation. It is aimed at academic, hobbyist, and commercial developers and handles a wide variety of robot hardware....
). - Realistic 3d rendering. Standard 3d modeling tools or third party tools can be used to build the environments.
- Dynamic robot bodies with scripting. URBIURBIUrbi is an open source cross-platform software platform in C++ used to develop applications for robotics and complex systems. Urbi is based on the UObject distributed C++ component architecture. It also includes the urbiscript orchestration language which is a parallel and event-driven script...
, MATLABMATLABMATLAB is a numerical computing environment and fourth-generation programming language. Developed by MathWorks, MATLAB allows matrix manipulations, plotting of functions and data, implementation of algorithms, creation of user interfaces, and interfacing with programs written in other languages,...
, PythonPython (programming language)Python is a general-purpose, high-level programming language whose design philosophy emphasizes code readability. Python claims to "[combine] remarkable power with very clear syntax", and its standard library is large and comprehensive...
languages used by Webots, PythonPython (programming language)Python is a general-purpose, high-level programming language whose design philosophy emphasizes code readability. Python claims to "[combine] remarkable power with very clear syntax", and its standard library is large and comprehensive...
used by Gazebo.
Open source simulators
- Gazebo: Probably the most complete open source simulator to this writing (2008-01-31). Unfortunately it is notorious for being extremely difficult to install. It is Part of the Player projectPlayer ProjectThe Player Project is a project to create free software for research into robotics and sensor systems . Its components include the Player network server and Stage and Gazebo robot platform simulators...
. - The Blender for Robotics and MORSE projects are providing simulation tools based on the BlenderBlender (software)Blender is a free and open-source 3D computer graphics software product used for creating animated films, visual effects, interactive 3D applications or video games. The current release version is 2.60, and was released on October 19, 2011...
3D modeling software. - Stage: 2.5D simulator often used with Player to form the Player/Stage system. Part of the Player ProjectPlayer ProjectThe Player Project is a project to create free software for research into robotics and sensor systems . Its components include the Player network server and Stage and Gazebo robot platform simulators...
- breve 3d simulator using Python
- LpzRobots: Another rich simulator with good material support.
- OpenSim Simulator for articulated and wheeled robots with a wide range of characteristics. Further development stopped in the year 2006.
- Simbad 3d Robot Simulator Java based simulator
- Khepera Simulator Apparently before Webots became commercial it was open source and called Khepera Simulator
- Moby is a robust robotic dynamics simulator
- UCHILSIM: A physics based simulator for AIBO Robots introduced in RoboCup 2004.
- SimRobot: A robot simulator software package developed at the Universität Bremen and the German Research Center for Artificial Intelligence.
- Microsoft Robotics Developer Studio: As of 2008 R3, Robotics Developer Studio is a free download.
Commercial simulators
- Virtual Robot Experimentation Platform
- anyKode MarilouAnyKode MarilouanyKode Marilou is a modeling and simulation environment for mobile robots, humanoids, articulated arms and parallels robots operating in real-world conditions that respect the laws of physics...
- WebotsWebotsWebots is a professional robot simulator widely used for educational purposes.The Webots project started in 1996, initially developed by Dr. Olivier Michel at the Swiss Federal Institute of Technology in Lausanne, Switzerland....
A generic simulator that can be programmed in C/C++, Java, Python, URBI and MATLAB - RoboLogix
- Visual Components
- Cogmation robotSim
- SimplyCube
- Actin Simulation toolkit for Robotics
- Workspace 5 Robot and Automation Simulation
- WorkCellSimulator WorkCellSimulator
- COSIMIR