Menu
Home Explore People Places Arts History Plants & Animals Science Life & Culture Technology
On this page
Robotics simulator
Simulator used to create application for a physical robot without depending on the actual machine, thus saving cost and time. In some case, these applications can be transferred onto the physical robot without modifications

A robotics simulator is a simulator used to create an application for a physical robot 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 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 can emulate the motion of a physical robot in a real work envelope. Some robotics simulators use a physics engine 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 robotic 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.

Related Image Collections Add Image
We don't have any YouTube videos related to Robotics simulator yet.
We don't have any PDF documents related to Robotics simulator yet.
We don't have any Books related to Robotics simulator yet.
We don't have any archived web articles related to Robotics simulator yet.

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, ODE or PhysX.
  • 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, and MATLAB languages used by Webots; C++ used by Gazebo.

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

SoftwareDevelopersDevelopment statusLicense3D rendering enginePhysics engine3D modellerPlatforms supported
GazeboOpen Source Robotics Foundation (OSRF)ActiveApache 2.0OGREODE, Bullet, Simbody, DARTInternalLinux, macOS, Windows
RoboDKRoboDKActiveProprietaryOpenGLGravity plug-inInternalLinux, macOS, Windows, Android, iOS, Debian
SimSparkO. Obst et al. (+26)ActiveGNU GPL (v2)InternalODENoneLinux, macOS, Windows
WebotsCyberbotics Ltd.ActiveApache 2.0Internal (WREN)Fork of ODEInternalLinux, macOS, Windows
OpenRAVEOpenRAVE CommunityActiveGNU LGPLCoin3D, OpenSceneGraphODE, BulletInternalLinux, macOS, Windows
CoppeliaSimCoppelia RoboticsActiveDual: commercial, GNU GPLInternalMuJoCo, Bullet, ODE, Vortex, NewtonInternalLinux, macOS, Windows
SoftwareDevelopersDevelopment statusLicense3D rendering enginePhysics engine3D modellerPlatforms supported

Technical information

SoftwareMain programming languageFormats supportExtensibilityExternal APIsRobotics middleware supportPrimary user interfaceHeadless simulation
GazeboC++SDF1/URDF,2 OBJ, STL, COLLADAPlug-ins (C++)C++ROS, Player, sockets (protobuf messages)GUIYes
RoboDKPythonSLDPRT, SLDASM, STEP, OBJ, STL, 3DS, COLLADA, VRML, Robot Operating System URDF, Rhinoceros 3D, ...API,3 Plug-In Interface4Python, C/C++, C#, Matlab, ...SocketGUIYes
SimSparkC++, RubyRuby Scene GraphsMods (C++)Network (sexpr)Sockets (sexpr)GUI, socketsUn­known
WebotsC++WBT, VRML, X3D, 3DS, Blender, BVH, COLLADA, FBX, STL, OBJ, URDFAPI, PROTOs, plug-ins (C/C++)C, C++, Python, Java, Matlab, ROSSockets, ROS, NaoQIGUIYes5
OpenRAVEC++, PythonXML, VRML, OBJ, COLLADAPlug-ins (C++), APIC/C++, Python, MatlabSockets, ROS, YARPGUI, socketsYes
CoppeliaSimC++, Python, Lua3DS, Blender, COLLADA, STL, OBJ, URDF, SDF, GLTF, XMLPlug-ins (C/C++), embedded scripts (Python, Lua), remote API (C, C++, Python, Java, MATLAB, Octave), add-ons (Python, Lua)C, C++, Python, Java, MATLAB, Octave, ROS, ROS 2.0Sockets, ROS, ROS 2.0, ZeroMQGUIYes
SoftwareMain programming languageFormats supportExtensibilityExternal APIsRobotic middleware supportPrimary user interfaceHeadless simulation

Infrastructure

Support

SoftwareMailing listAPI documentationPublic forum, help systemUser manualIssue trackerWikiChat
GazeboYes6Yes7Yes8Yes9Yes10No
RoboDKYes11Yes12Yes13Yes14Yes15NoUn­known
SimSparkYes16Yes17NoYes18Yes19Yes20Un­known
WebotsNoYes21Yes22Yes23Yes24Yes25Yes26
OpenRAVEYes27Yes28Yes29Yes30Yes31Yes32Un­known
CoppeliaSimNoYes33Yes34Yes35Yes36Un­knownNo
SoftwareMailing listAPI documentationPublic forum, help systemUser manualIssue trackerWiki

Code quality

SoftwareStatic code checkerStyle checkerTest system(s)Test function coverageTest branch coverageLines of codeLines of commentsContinuous integration
Gazebocppcheck37cpplint38gtest and qtest3977.0%4053.3%41320k42106k43Jenkins44
RoboDKUn­knownUn­knownUn­knownUn­knownUn­knownUn­knownUn­knownUn­known
SimSparkUn­knownUn­knownUn­knownUn­knownUn­knownUn­knownUn­knownUn­known
Webotscppcheck45clang-format46unit tests47100% of API functions48master,49 develop50~200k~50kGitHub Actions
OpenRAVEUn­knownUn­knownPython noseUn­knownUn­knownUn­knownUn­knownJenkins51
CoppeliaSimUn­knownUn­knownUn­knownUn­knownUn­knownUn­knownUn­knownUn­known
SoftwareStatic code checkerStyle checkerTest system(s)Test function coverageTest branch coverageLines of codeLines of commentsContinuous integration

Features

SoftwareCAD to motionDynamic collision avoidanceRelative end effectorsOff-line programmingReal-time streaming control of hardware
GazeboUn­knownYesYesYesYes
RoboDKYesYesYesYesYes
SimSparkUn­knownNoUn­knownNoNo
WebotsUn­knownYesYesYesYes
OpenRAVEUn­knownNoUn­knownNoNo
CoppeliaSimUn­knownYesYesYesYes
SoftwareCAD to motionDynamic collision avoidanceRelative end effectorsOff-line programmingReal-time streaming control

Robot families

SoftwareUGV (ground mobile robot)UAV (aerial robots)AUV (underwater robots)Robotic armsRobotic hands (grasping simulation)Humanoid robotsHuman avatarsFull list
GazeboYes52Yes53Yes54Yes55Yes56Yes57Yes58
RoboDKNoNoNoYes59NoNoNoYes60
SimSparkYesNoNoMaybeMaybeYesNo
WebotsYesYesYes61YesYesYes62YesYes63
OpenRAVEYesUn­knownUn­knownYesYesYesYes
CoppeliaSimYesYesYesYesYesYesYesYes64
SoftwareUGV (ground mobile robot)UAV (aerial robots)AUV (underwater robots)Robotic armsRobotic hands (grasping simulation)Humanoid robotsHuman avatarsFull list

Supported actuators

SoftwareGeneric kinematic chainsForce-controlled motionFull listCircular kinematic chainsKinematically redundant chainsBifurcated kinematic chains
GazeboYesYesYesYesYes
RoboDKUn­knownUn­knownUn­knownUn­knownUn­known
SimSparkYesNoSimSpark effectorsUn­knownUn­knownUn­known
WebotsYesYesWebots actuatorsYesYesYes
OpenRAVEYesYesJoints,Extra ActuatorsYes65YesYes66
CoppeliaSimYesYesYesYesYes
SoftwareGeneric kinematic chainsForce-controlled motionFull listCircular kinematic chainsKinematically redundant chainsBifurcated kinematic chains

Supported sensors

SoftwareOdometryIMUCollisionGPSMonocular camerasStereo camerasDepth camerasOmnidirectional cameras2D laser scanners3D laser scannersFull list
GazeboYesYesYes67YesYes68YesYesYesYes69Yes70
RoboDKUn­knownUn­knownUn­knownUn­knownUn­knownYesYesYesYesYes
SimSparkYesYesYes71Partial72YesPartialUn­knownUn­knownNoNoSimSpark perceptors
WebotsYesYesYesYesYesYesYesYesYesYesWebots sensors
OpenRAVEYesYesYesYesYesYesYesUn­knownYesYes
CoppeliaSimYesYesYesYesYesYesYesYesYesYes
SoftwareOdometryIMUCollisionGPSMonocular camerasStereo camerasDepth camerasOmnidirectional cameras2D laser scanners3D laser scannersFull list

References

  1. OSRF. "SDF". sdformat.org. Retrieved 2019-04-27. http://sdformat.org

  2. "urdf - ROS Wiki". wiki.ros.org. Retrieved 2017-10-06. http://wiki.ros.org/urdf

  3. "RoboDK API". GitHub. 22 October 2021. https://github.com/RoboDK/RoboDK-API

  4. "RoboDK Plug-In Interface". GitHub. 16 October 2021. https://github.com/RoboDK/Plug-In-Interface

  5. However, requires a connection on an X server for 3D rendering

  6. "Gazebo Community". Retrieved 2019-04-27. https://community.gazebosim.org

  7. "Gazebo API". Gazebo Community. Retrieved 2019-04-27. http://gazebosim.org/api.html

  8. "Gazebo Answers". Gazebo Community. Retrieved 2019-04-27. http://answers.gazebosim.org

  9. "Gazebo Tutorials". Gazebo Community. Retrieved 2019-04-27. http://gazebosim.org/tutorials

  10. "Gazebo Issue Tracker". Gazebo Community. Retrieved 2019-04-27. https://bitbucket.org/osrf/gazebo/issues

  11. RoboDK mailing list https://robodk.com/subscribe

  12. RoboDK API Documentation https://robodk.com/doc/en/PythonAPI/intro.html

  13. RoboDK Forum https://robodk.com/forum/

  14. RoboDK Documentation https://robodk.com/doc/en/

  15. RoboDK Bug tracker https://robodk.com/forum/Forum-RoboDK-bugs

  16. SimSpark mailing lists http://sourceforge.net/p/simspark/mailman/

  17. "SimSpark client protocols". Archived from the original on 2016-02-25. Retrieved 2015-04-08. https://web.archive.org/web/20160225172352/http://simspark.sourceforge.net/wiki/index.php/Network_Protocol

  18. "SimSpark user manual (Wiki)". Archived from the original on 2015-02-25. Retrieved 2015-04-08. https://web.archive.org/web/20150225121132/http://simspark.sourceforge.net/wiki/index.php/Users_Manual

  19. SimSpark Tracker http://sourceforge.net/p/simspark/bugs/

  20. SimSpark Wiki[permanent dead link‍] http://simspark.sourceforge.net/wiki/

  21. Webots Reference Manual https://cyberbotics.com/reference

  22. "Discussions · cyberbotics/Webots". GitHub. https://github.com/cyberbotics/webots/discussions

  23. Webots User Guide https://cyberbotics.com/guide

  24. Webots issues on GitHub https://github.com/omichel/webots/issues

  25. Webots technical wiki on GitHub https://github.com/omichel/webots/wiki

  26. Webots Discord channel https://discordapp.com/invite/nTWbN9m

  27. OpenRAVE mailing list https://lists.sourceforge.net/lists/listinfo/openrave-users

  28. OpenRAVE API http://openrave.org/docs/latest_stable/coreapihtml/index.html

  29. OpenRAVE Issue Tracker https://github.com/rdiankov/openrave/issues

  30. OpenRAVE User Guide http://www.openrave.org/docs/latest_stable/

  31. OpenRAVE Issue Tracker https://github.com/rdiankov/openrave/issues

  32. OpenRAVE Wiki http://openrave.programmingvision.com/wiki/index.php/Main_Page

  33. CoppeliaSim API https://www.coppeliarobotics.com/helpFiles/en/apiOverview.htm

  34. Coppelia Robotics Forum https://forum.coppeliarobotics.com

  35. CoppeliaSim User Manual https://coppeliarobotics.com/helpFiles/

  36. Coppelia Robotics bug reports https://forum.coppeliarobotics.com/viewforum.php?f=5

  37. OSRF. "Gazebo". gazebosim.org. Retrieved 2019-04-27. http://gazebosim.org/statistics

  38. OSRF. "Gazebo". gazebosim.org. Retrieved 2019-04-27. http://gazebosim.org/statistics

  39. OSRF. "Gazebo". gazebosim.org. Retrieved 2019-04-27. http://gazebosim.org/statistics

  40. OSRF. "Gazebo". gazebosim.org. Retrieved 2019-04-27. http://gazebosim.org/statistics

  41. OSRF. "Gazebo". gazebosim.org. Retrieved 2019-04-27. http://gazebosim.org/statistics

  42. OSRF. "Gazebo". gazebosim.org. Retrieved 2019-04-27. http://gazebosim.org/statistics

  43. OSRF. "Gazebo". gazebosim.org. Retrieved 2019-04-27. http://gazebosim.org/statistics

  44. OSRF. "Gazebo". gazebosim.org. Retrieved 2019-04-27. http://gazebosim.org/statistics

  45. CppCheck https://github.com/omichel/webots/blob/develop/tests/sources/test_cppcheck.py

  46. Clang Format https://github.com/omichel/webots/blob/develop/tests/sources/test_clang_format.py

  47. Unit tests https://github.com/omichel/webots/tree/develop/tests

  48. API tests https://github.com/omichel/webots/tree/develop/tests/api

  49. Webots master https://github.com/omichel/webots/tree/master

  50. Webots develop https://github.com/omichel/webots/tree/develop

  51. Source http://openrave.org/docs/latest_stable/devel/testing/

  52. OSRF. "Gazebo : Tutorial : Beginner: Model Editor". gazebosim.org. Retrieved 2019-04-27. http://gazebosim.org/tutorials?cat=guided_b&tut=guided_b3

  53. OSRF. "Gazebo : Tutorial : Aerodynamics". gazebosim.org. Retrieved 2019-04-27. http://gazebosim.org/tutorials?tut=aerodynamics&cat=physics

  54. OSRF. "Gazebo : Tutorial : Hydrodynamics". gazebosim.org. Retrieved 2019-04-27. http://gazebosim.org/tutorials?tut=hydrodynamics&cat=physics

  55. OSRF. "Gazebo : ARIAC". gazebosim.org. Retrieved 2019-04-27. http://gazebosim.org/ariac

  56. OSRF. "Gazebo : HAPTIX". gazebosim.org. Retrieved 2019-04-27. http://gazebosim.org/haptix

  57. "DARPA's legacy: Open source simulation for robotics development and testing". Robohub.org. Retrieved 2019-04-27. http://robohub.org/darpas-legacy-open-source-simulation-for-robotics-development-and-testing/

  58. OSRF. "Gazebo : Tutorial : Make an animated model (actor)". gazebosim.org. Retrieved 2019-04-27. http://gazebosim.org/tutorials?tut=actor&cat=build_robot

  59. RoboDK robot library https://robodk.com/library

  60. RoboDK robot library https://robodk.com/library

  61. including Salamander robot

  62. including Nao, DARwIn-OP, Fujitsu HOAP2, Kondo KHR-2HV, KHR-3, etc.

  63. Webots robot models https://www.cyberbotics.com/doc/guide/robots

  64. CoppeliaSim main features https://www.coppeliarobotics.com/helpFiles/en/coppeliaSimFeatures.htm

  65. OpenRAVE Closed chains http://openrave.programmingvision.com/wiki/index.php/Format:XML#Closed-chains_and_Mimic_Joints

  66. OpenRAVE Dual-arm example http://openrave.programmingvision.com/wiki/index.php/Format:XML#Dual-arm_example

  67. OSRF. "Gazebo : Tutorial : Contact Sensor". gazebosim.org. Retrieved 2019-04-27. http://gazebosim.org/tutorials?tut=contact_sensor&cat=sensors

  68. OSRF. "Gazebo : Tutorial : Camera Distortion". gazebosim.org. Retrieved 2019-04-27. http://gazebosim.org/tutorials?tut=camera_distortion&cat=sensors

  69. OSRF. "Gazebo : Tutorial : Intermediate: Velodyne". gazebosim.org. Retrieved 2019-04-27. http://gazebosim.org/tutorials?tut=guided_i1

  70. OSRF. "Gazebo : Tutorial : Intermediate: Velodyne". gazebosim.org. Retrieved 2019-04-27. http://gazebosim.org/tutorials?tut=guided_i1

  71. Collision detection uses a simplified model

  72. Possible, no model for noise