A computer environment where robot parameters can be tested without the need for a physical robot.
A robotic simulator can be as simple as a few matlab equations, or as elaborate as a photo-realistic 3D world with a physics engine. The type you use largely depends on your needs.
Wikipedia does a pretty good job describing the features of a few of the main simulators.
But here are some others:
- Player Project (2D simulator - Stage - 3D simulator - Gazebo - and control interface - open source, part of the ROS project)
- MORSE (general purpose indoor/outdoor 3D simulator)
- Microsoft Robotics Studio (3D simulator with physics engine + control interface)
- KiKS (Matlab plugin, only for Khepera + control interface)
- MobotSim (for point like robots, more of algorithm implementation )
- Karel (Pascal/Logo like)
- Peekabot (More of a visualization tool)
- MRPT (Mobile Robot Programming Toolkit)
- Carmen (Robot Navigation Toolkit)
- Webots (closed source, 3D simulation)
- Simbad (2D/3D simulator in Java and Jython)
- Robocode (A Java/ .NET suit)
- Rossum's Playhouse (C/C++ suit)
- V-REP (3D, source available, Lua scripting, APIs for C/C++, Python, Java, Matlab, URBI, 2 physics engines, full kinematic solver, etc.)
- Simspark (RoboCup Soccer Simulation)
- OpenRAVE (3D simulator, kinematics engine, planners, etc)
- ODE (Physics simulator, many other simulators use this library)
- MORSE (Modular OpenRobots Simulation Engine)
- OpenHRP: Open source, tons of libraries written in C++ included for forward dynamics simulations and visualizations as well. Its a bit of a pain to get up and running though, quite a few dependencies that are very sensitive to the versions.
- Robotran: Free for personal use and/or research uses. Operates primarily in the Matlab/Simulink environment. Very easy to get models up and running.
- MapleSim: Commercial software but useful for very sophisticated modeling. Exports efficient symbolic multibody dynamics for simulation/visualization in Matlab/Simulink as well.
- Breve (No longer maintained, 3D simulator for artificial life using Python)
Some more generic platforms/middlewares also offer simulation tools:
- OROCOS (ORCOS (and its distant cousin Orca, orca-robotics.sourceforge.net) aren't simulators either. To the best of my knowledge ORCOS is a framework focused on real-time control, typically on a single computer, whereas Orca puts an emphasis on distributed components (with the obligatory own set of common robotics interfaces, of course). YARP (eris.liralab.it/yarp) is another framework similar in spirit to Orca, but focused more on vision. It's also not a robotics simulator, though.)
Some references on robot simulators:
- Development environments for autonomous mobile robots: A survey
- Open source robotics toolkits
- Updated review of robotics software platforms
- Existing Simulators - [email protected]
- List at Asaf Matan's website
NOTE: The majority of this wiki page pulled from this question: http://stackoverflow.com/questions/2533321/robotics-simulator