HOME

TheInfoList



OR:

A robotics simulator is a simulator used to create an application for a physical
robot A robot is a machine—especially one programmable by a computer—capable of carrying out a complex series of actions automatically. A robot can be guided by an external control device, or the control may be embedded within. Robots may be c ...
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 A mobile robot is an automatic machine that is capable of locomotion.Hu, J.; Bhowmick, P.; Lanzon, A.,Group Coordinated Control of Networked Mobile Robots with Applications to Object Transportation IEEE Transactions on Vehicular Technology, 2021 ...
applications,
behavior-based robotics Behavior-based robotics (BBR) or behavioral robotics is an approach in robotics that focuses on robots that are able to exhibit complex-appearing behaviors despite little internal variable state to model its immediate environment, mostly gradually ...
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 t ...
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 representation of any surface of an object (inanimate or living) in three dimensions via specialized software by manipulating edges, vertices, an ...
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, such as rigid body dynamics (including collision detection), soft body dynamics, and fluid dynamics, of use in the domains of computer gr ...
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 an physical robot is available or not. The simulator allows for robotics programs to be conveniently written and
debugged In computer programming and software development, debugging is the process of finding and resolving ''Software bug, bugs'' (defects or problems that prevent correct operation) within computer programs, software, or Software system, systems. Deb ...
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 welding, painting, assembly, disassembly, pick a ...
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. Bullets are made of a variety of materials, such as copper, lead, steel, polymer, rubber and even wax. Bullets are made in various shapes and co ...
,
ODE An ode (from grc, ᾠδή, ōdḗ) is a type of lyric poetry. Odes are elaborately structured poems praising or glorifying an event or individual, describing nature intellectually as well as emotionally. A classic ode is structured in three majo ...
or
PhysX PhysX is an open-source realtime physics engine middleware SDK developed by Nvidia as a part of Nvidia GameWorks software suite. Initially, video games supporting PhysX were meant to be accelerated by PhysX PPU (expansion cards designed by Ag ...
. * 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++ C++ (pronounced "C plus plus") is a high-level general-purpose programming language created by Danish computer scientist Bjarne Stroustrup as an extension of the C programming language, or "C with Classes". The language has expanded significan ...
,
Perl Perl is a family of two high-level, general-purpose, interpreted, dynamic programming languages. "Perl" refers to Perl 5, but from 2000 to 2019 it also referred to its redesigned "sister language", Perl 6, before the latter's name was offici ...
,
Python Python may refer to: Snakes * Pythonidae, a family of nonvenomous snakes found in Africa, Asia, and Australia ** ''Python'' (genus), a genus of Pythonidae found in Africa and Asia * Python (mythology), a mythical serpent Computing * Python (pro ...
,
Java Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's List ...
,
URBI Urbi 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 langu ...
,
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, implementation ...
languages used by Webots; C++ used by
Gazebo A gazebo is a pavilion structure, sometimes octagonal or turret-shaped, often built in a park, garden or spacious public area. Some are used on occasions as bandstands. Etymology The etymology given by Oxford Dictionaries (website), Oxford D ...
.


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 visualised in a 3-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


External links


UWSim
{{Robotics