Civil Rights
Movements, leaders, victories and the continuing fight for equality.
Explore the people, places, events, achievements, struggles and stories that shaped our journey.
Movements, leaders, victories and the continuing fight for equality.
Innovation, patents, science, technology and world-changing contributions.
Pioneers, champions, Negro Leagues, records, activism and excellence.
Meet the people whose lives, choices and achievements shaped the journey.
Black towns, communities, institutions and places where history happened.
Moments that changed communities, movements, institutions and the nation.
In 1968 Shirley Chisholm became the first Black woman elected to the United States Congress. In 1972 she launched a campaign for the Democratic presidential nomination, breaking another political barrier.
MORE →Reflects the personal views, recollections, and perspective of the author, Mike Davis.
This is a personal recollection on the Move fire on May 13, 1985
This article may contain original research. (August 2014) |
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 cases, 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.
Modern simulators tend to provide the following features:
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.
| Software | Developers | Development status | License | 3D rendering engine | Physics engine | 3D modeller | Platforms supported |
|---|---|---|---|---|---|---|---|
| Gazebo | Open Source Robotics Foundation (OSRF) | Active | Apache 2.0 | OGRE | ODE, Bullet, Simbody, DART | Internal | Linux, macOS, Windows |
| RoboDK | RoboDK | Active | Proprietary | OpenGL | Gravity plug-in | Internal | Linux, macOS, Windows, Android, iOS, Debian |
| SimSpark | O. Obst et al. (+26) | Active | GNU GPL (v2) | Internal | ODE | None | Linux, macOS, Windows |
| Webots | Cyberbotics Ltd. | Active | Apache 2.0 | Internal (WREN) | Fork of ODE | Internal | Linux, macOS, Windows |
| OpenRAVE | OpenRAVE Community | Active | GNU LGPL | Coin3D, OpenSceneGraph | ODE, Bullet | Internal | Linux, macOS, Windows |
| CoppeliaSim | Coppelia Robotics | Active | Dual: commercial, GNU GPL | Internal | MuJoCo, Bullet, ODE, Vortex, Newton | Internal | Linux, macOS, Windows |
| ENCY Robot[1] | ENCY Software | Active | Proprietary | Internal (proprietary ENCY X platform)[2] | – | Internal (3D modeling)[3] | Windows[4] |
| Software | Developers | Development status | License | 3D rendering engine | Physics engine | 3D modeller | Platforms supported |
| Software | Main programming language | Formats support | Extensibility | External APIs | Robotics middleware support | Primary user interface | Headless simulation |
|---|---|---|---|---|---|---|---|
| Gazebo | C++ | SDF[5]/URDF,[6] OBJ, STL, COLLADA | Plug-ins (C++) | C++ | ROS, Player, sockets (protobuf messages) | GUI | Yes |
| RoboDK | Python | SLDPRT, SLDASM, STEP, OBJ, STL, 3DS, COLLADA, VRML, Robot Operating System URDF, Rhinoceros 3D, ... | API,[7] Plug-In Interface[8] | Python, C/C++, C#, Matlab, ... | Socket | GUI | Yes |
| SimSpark | C++, Ruby | Ruby Scene Graphs | Mods (C++) | Network (sexpr) | Sockets (sexpr) | GUI, sockets | Unknown |
| Webots | C++ | WBT, VRML, X3D, 3DS, Blender, BVH, COLLADA, FBX, STL, OBJ, URDF | API, PROTOs, plug-ins (C/C++) | C, C++, Python, Java, Matlab, ROS | Sockets, ROS, NaoQI | GUI | Yes[9] |
| OpenRAVE | C++, Python | XML, VRML, OBJ, COLLADA | Plug-ins (C++), API | C/C++, Python, Matlab | Sockets, ROS, YARP | GUI, sockets | Yes |
| CoppeliaSim | C++, Python, Lua | 3DS, Blender, COLLADA, STL, OBJ, URDF, SDF, GLTF, XML | Plug-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.0 | Sockets, ROS, ROS 2.0, ZeroMQ | GUI | Yes |
| ENCY Robot | Delphi, C#, C++[10] | IGES, STEP, STL, DXF, VRML, Rhinoceros (3DM), Parasolid (x_t/x_b), SolidWorks (SLDPRT/SLDASM), Solid Edge (PAR/PSM/ASM/PWR), PLY, AMF, JT, PLMXML (and others)[11]
Add-ins: Alibre Design, Autodesk Inventor, IronCAD, CADbro, CAXA 3D, FreeCAD, KeyCreator, Siemens NX, Rhinoceros, SolidCAM, SolidEdge, SOLIDWORKS, SpaceClaim, ZW3D, Onshape[12] |
API; scripting[13] | C#, Delphi, C++ (CAMIPC / IPC)[14] | None | GUI | Yes[15] |
| Software | Main programming language | Formats support | Extensibility | External APIs | Robotic middleware support | Primary user interface | Headless simulation |
| Software | Mailing list | API documentation | Public forum, help system | User manual | Issue tracker | Wiki | Chat |
|---|---|---|---|---|---|---|---|
| Gazebo | Yes[16] | Yes[17] | Yes[18] | Yes[19] | Yes[20] | No | |
| RoboDK | Yes[21] | Yes[22] | Yes[23] | Yes[24] | Yes[25] | No | Unknown |
| SimSpark | Yes[26] | Yes[27] | No | Yes[28] | Yes[29] | Yes[30] | Unknown |
| Webots | No | Yes[31] | Yes[32] | Yes[33] | Yes[34] | Yes[35] | Yes[36] |
| OpenRAVE | Yes[37] | Yes[38] | Yes[39] | Yes[40] | Yes[39] | Yes[41] | Unknown |
| CoppeliaSim | No | Yes[42] | Yes[43] | Yes[44] | Yes[45] | Unknown | No |
| ENCY Robot | Yes[46] | Yes[47] | Yes | Yes[48] | Unknown | No | Yes[49] |
| Software | Mailing list | API documentation | Public forum, help system | User manual | Issue tracker | Wiki |
| Software | Static code checker | Style checker | Test system(s) | Test function coverage | Test branch coverage | Lines of code | Lines of comments | Continuous integration |
|---|---|---|---|---|---|---|---|---|
| Gazebo | cppcheck[50] | cpplint[50] | gtest and qtest[50] | 77.0%[50] | 53.3%[50] | 320k[50] | 106k[50] | Jenkins[50] |
| RoboDK | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown |
| SimSpark | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown |
| Webots | cppcheck[51] | clang-format[52] | unit tests[53] | 100% of API functions[54] | master,[55] develop[56] | ~200k | ~50k | GitHub Actions |
| OpenRAVE | Unknown | Unknown | Python nose | Unknown | Unknown | Unknown | Unknown | Jenkins[57] |
| CoppeliaSim | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown |
| ENCY Robot | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown |
| Software | Static code checker | Style checker | Test system(s) | Test function coverage | Test branch coverage | Lines of code | Lines of comments | Continuous integration |
| Software | CAD to motion | Dynamic collision avoidance | Relative end effectors | Off-line programming | Real-time streaming control of hardware |
|---|---|---|---|---|---|
| Gazebo | Unknown | Yes | Yes | Yes | Yes |
| RoboDK | Yes | Yes | Yes | Yes | Yes |
| SimSpark | Unknown | No | Unknown | No | No |
| Webots | Unknown | Yes | Yes | Yes | Yes |
| OpenRAVE | Unknown | No | Unknown | No | No |
| CoppeliaSim | Unknown | Yes | Yes | Yes | Yes |
| ENCY Robot | Yes[58] | Yes[59] | Yes (Tool-to-part / part-to-tool)[60] | Yes[1] | Yes (via ENCY Hyper real-time execution)[61] |
| Software | CAD to motion | Dynamic collision avoidance | Relative end effectors | Off-line programming | Real-time streaming control |
| Software | UGV (ground mobile robot) | UAV (aerial robots) | AUV (underwater robots) | Robotic arms | Robotic hands (grasping simulation) | Humanoid robots | Human avatars | Full list |
|---|---|---|---|---|---|---|---|---|
| Gazebo | Yes[62] | Yes[63] | Yes[64] | Yes[65] | Yes[66] | Yes[67] | Yes[68] | |
| RoboDK | No | No | No | Yes[69] | No | No | No | Yes[69] |
| SimSpark | Yes | No | No | Maybe | Maybe | Yes | No | |
| Webots | Yes | Yes | Yes[70] | Yes | Yes | Yes[71] | Yes | Yes[72] |
| OpenRAVE | Yes | Unknown | Unknown | Yes | Yes | Yes | Yes | |
| CoppeliaSim | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes[73] |
| ENCY Robot | No | No | No | Yes[74] | No | No | No | No |
| Software | UGV (ground mobile robot) | UAV (aerial robots) | AUV (underwater robots) | Robotic arms | Robotic hands (grasping simulation) | Humanoid robots | Human avatars | Full list |
| Software | Generic kinematic chains | Force-controlled motion | Full list | Circular kinematic chains | Kinematically redundant chains | Bifurcated kinematic chains |
|---|---|---|---|---|---|---|
| Gazebo | Yes | Yes | Yes | Yes | Yes | |
| RoboDK | Unknown | Unknown | Unknown | Unknown | Unknown | |
| SimSpark | Yes | No | SimSpark effectors | Unknown | Unknown | Unknown |
| Webots | Yes | Yes | Webots actuators | Yes | Yes | Yes |
| OpenRAVE | Yes | Yes | Joints, Extra Actuators | Yes[75] | Yes | Yes[76] |
| CoppeliaSim | Yes | Yes | Yes | Yes | Yes | |
| ENCY Robot | Yes[77] | No | Unknown | Yes (redundancy / external axes)[78] | Unknown | |
| Software | Generic kinematic chains | Force-controlled motion | Full list | Circular kinematic chains | Kinematically redundant chains | Bifurcated kinematic chains |
| Software | Odometry | IMU | Collision | GPS | Monocular cameras | Stereo cameras | Depth cameras | Omnidirectional cameras | 2D laser scanners | 3D laser scanners | Full list |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Gazebo | Yes | Yes | Yes[79] | Yes | Yes[80] | Yes | Yes | Yes | Yes[81] | Yes[81] | |
| RoboDK | Unknown | Unknown | Unknown | Unknown | Unknown | Yes | Yes | Yes | Yes | Yes | |
| SimSpark | Yes | Yes | Yes[82] | Partial[83] | Yes | Partial | Unknown | Unknown | No | No | SimSpark perceptors |
| Webots | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Webots sensors |
| OpenRAVE | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Unknown | Yes | Yes | |
| CoppeliaSim | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | |
| ENCY Robot | Unknown | Unknown | Yes[84] | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | |
| Software | Odometry | IMU | Collision | GPS | Monocular cameras | Stereo cameras | Depth cameras | Omnidirectional cameras | 2D laser scanners | 3D laser scanners | Full list |
Source: Wikipedia. Article content is retrieved live through the MediaWiki API.
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 cases, 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.
Off-line programming (OLP) is a robot programming method where the robot program is created independent from the actual robot cell. The robot program is then uploaded to the real industrial robot for execution. In off-line programming, the robot cell is represented through a graphical 3D model in a simulator. Nowadays OLP and robotics simulator tools help robot integrators create the optimal program paths for the robot to perform a specific task. Robot movements, reachability analysis, collision and near-miss detection and cycle time reporting can be included when simulating the robot program. OLP does not interfere with production as the program for the robot is created outside the production process on an external computer. This method contradicts to the traditional on-line programming of industrial robots where the robot teach pendant is used for programming the robot manually. The time for the adoption of new programs can be cut from weeks to a single day, enabling the robotization of short-run production.
Gazebo is an open-source 2D/3D robotics simulator that began development in 2002. In 2017, development forked into two versions: "Gazebo", the original monolithic architecture, and "Ignition", which had evolved into a modernized collection of loosely coupled libraries. Following a trademark obstacle in 2022 regarding their use of the name "Ignition", Open Robotics took the opportunity to switch the version names, dubbing the original fork "Gazebo Classic" and the new, modern fork "Gazebo". Gazebo Classic integrated the ODE physics engine, OpenGL rendering, and support code for sensor simulation and actuator control. In 2025, Gazebo Classic was discontinued and replaced with the modern fork "Gazebo". The default physics engine Gazebo Classic uses is ODE, though other engines, such as Bullet, can also be used. It provides a realistic rendering of environments, including high-quality lighting, shadows, and textures. It can model sensors that "see" the simulated environment, such as laser range finders, cameras (including wide-angle), Kinect style sensors, etc. For 3D rendering, Gazebo Classic uses the OGRE engine.
A gazebo is a pavilion structure. Gazebo may also refer to: Gazebo (musician) (Paul Mazzolini; born 1960), Italian singer Gazebo (album), 1983 Gazebo Books, an Australian publishing company Gazebo simulator, an open source robotics simulator The Gazebo, a 1959 black comedy film starring Glenn Ford and Debbie Reynolds The Gazebo (painting), an 1818 painting by Caspar David Friedrich The Gazebo (play), a play by Alec Coppel
Before the 1921 destruction of Tulsa’s Greenwood District, Black residents had created a remarkable center of business and community life. The district included stores, professional offices, entertainment venues and homes owned by Black citizens. Understanding Greenwood means learning what was built—not only what was burned.
MORE →Shirley Chisholm, elected in 1968.