A robotics simulator is a simulator used to create an application for a physical
robot
A robot is a machine—especially one Computer program, programmable by a computer—capable of carrying out a complex series of actions Automation, automatically. A robot can be guided by an external control device, or the robot control, co ...
without depending on the physical machine, thus saving cost and time. In some case, such applications can be transferred onto a physical robot (or rebuilt) without modification.
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 biotic in nature when compared to simulators that are more binary, or computational. Also, behavior-based simulators may ''learn'' from mistakes and can demonstrate the
anthropomorphic
Anthropomorphism is the attribution of human traits, emotions, or intentions to non-human entities. It is considered to be an innate tendency of human psychology. Personification is the related attribution of human form and characteristics to ...
quality of tenacity.
One of the most popular applications for robotics simulators is for
3D modeling
In 3D computer graphics, 3D modeling is the process of developing a mathematical coordinate-based Computer representation of surfaces, representation of a surface of an object (inanimate or living) in Three-dimensional space, three dimensions vi ...
and rendering of a robot and its environment. This type of robotics software has a simulator that is a virtual robot, which can emulate the motion of a physical robot in a real work envelope. Some robotics simulators use a
physics engine
A physics engine is computer software that provides an approximate simulation of certain physical systems, typically classical dynamics, including rigid body dynamics (including collision detection), soft body dynamics, and fluid dynamics. I ...
for more realistic motion generation of the robot. The use of a robotics simulator to develop a robotics control program is highly recommended regardless of whether a physical 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 a physical robot. This applies mainly to
industrial robot
An industrial robot is a robot system used for manufacturing. Industrial robots are automated, programmable and capable of movement on three or more axes.
Typical applications of robots include robot welding, welding, painting, assembly, Circu ...
ic applications, since the success of off-line programming depends on how similar the physical environment of a robot is to a simulated environment.
''Sensor-based'' robot actions are much more difficult to simulate and/or to program off-line, since the robot motion depends on 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
** Using external tools
* Physics engines for realistic movements: Most simulators use
Bullet
A bullet is a kinetic projectile, a component of firearm ammunition that is shot from a gun barrel. They are made of a variety of materials, such as copper, lead, steel, polymer, rubber and even wax; and are made in various shapes and constru ...
,
ODE
An ode (from ) is a type of lyric poetry, with its origins in Ancient Greece. Odes are elaborately structured poems praising or glorifying an event or individual, describing nature intellectually as well as emotionally. A classic ode is structu ...
or
PhysX
PhysX is an Open-source software, open-source Real-time computer graphics, realtime physics engine middleware Software development kit, SDK developed by Nvidia as part of the Nvidia GameWorks software suite.
Initially, video games supporting Ph ...
.
* 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
Perl is a high-level, general-purpose, interpreted, dynamic programming language. Though Perl is not officially an acronym, there are various backronyms in use, including "Practical Extraction and Reporting Language".
Perl was developed ...
,
Python,
Java
Java is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea (a part of Pacific Ocean) to the north. With a population of 156.9 million people (including Madura) in mid 2024, proje ...
,
URBI
Urbi is an Open-source software, open-source cross-platform software computing platform written in C++ used to develop applications for robotics and complex systems. Urbi is based on the UObject distributed C++ component architecture. It also in ...
, and
MATLAB
MATLAB (an abbreviation of "MATrix LABoratory") is a proprietary multi-paradigm programming language and numeric computing environment developed by MathWorks. MATLAB allows matrix manipulations, plotting of functions and data, implementat ...
languages used by Webots; C++ used by
Gazebo
A gazebo is a pavilion structure, sometimes octagonal or Gun turret, turret-shaped, often built in a park, garden, or spacious public area. Some are used on occasions as bandstands.
In British English, the word is also used for a tent-like can ...
.
Simulators
Among the newest technologies available today for programming are those which use a virtual simulation. Simulations with the use of virtual models of the working environment and the robots themselves can offer advantages to both the company and programmer. By using a simulation, costs are reduced, and robots can be programmed off-line which eliminates any down-time for an assembly line. Robot actions and assembly parts can be visualized in a three-dimensional virtual environment months before prototypes are even produced. Writing code for a simulation is also easier than writing code for a physical robot. While the move toward virtual simulations for programming robots is a step forward in user interface design, many such applications are only in their infancy.
General information
Technical information
Infrastructure
Support
Code quality
Features
Robot families
Supported actuators
Supported sensors
References
*
{{Robotics