V-REP is cross-platform, and allows the creation of portable, scalable and easy maintainable content: a single portable file can contain a fully functional model (or scene), including control code.
Simulator and simulations are fully customizable, with 6 programming approaches that are mutually compatible and that can even work hand-in-hand. 6 fully supported programming languages.
Regular API: C & Lua
Remote API: C, Java, Python, Matlab, Octave & Lua
ROS & BlueZero interface: publishers, subscribers & service calls. Support all standard messages, extendable
> 100 embeddable V-REP functions: control a simulation or the simulator itself remotely (e.g. from a real robot or another PC). Easy to use, extendable, fast, supports sync. or async. operation
4 physics engines (Bullet Physics, ODE, Newton and Vortex Dynamics) for fast and customizable dynamics calculations, to simulate real-world physics and object interactions (collision response, grasping, etc.).
Inverse/forward kinematics calculations for any type of mechanism (branched, closed, redundant, containing nested loops, etc.). An embeddable version of the IK/FK algorithms is available (i.e. can run on your robot).
Fast interference checking between any meshe, octree, point cloud, or collection of those
Fast and exact minimum distance calculation between any meshe (convex, concave, open, closed), octree, point cloud, or collection of those
V-REP supports customizable particles that can be used to simulate air or water jets, jet engines, propellers, etc.
Powerful, realistic and exact proximity sensor simulation: performs an exact minimum distance calculation within a customizable detection volume. Much more continuous operation than with discrete ray sensors. Operates on meshes, octrees and point clouds
Simulation of vision sensors with many built-in image processing filters, fully customizable and extendable (e.g. via plugin)
Anything - from sensors or actuators, to whole robotic systems - can be built within V-REP by combining basic objects and linking various functionality via embedded scripts. Every scene object can have its own embedded script!
Path planning / motion planning is supported in a very flexible way via the OMPL library wrapped in a plugin for V-REP
A large variety of recordable data streams (including user-defined) can display time-graphs, or can be combined with each other to form x/y-graphs, or 3D curves
Unlimited number of fully customizable user interface elements
Special mesh edit modes are supported (including a semi-automatic primitive shape extraction method, convex decomposition, mesh decimation, etc.)
Following file formats are supported (also when called through the API): URDF, COLLADA, DXF, 3DS, OBJ, STL (ASCII & binary)
The RRS-1 interface specifications are fully implemented, and the Reflexxes Motion Library type II is fully supported.
The scene composition is intuitively visualized in a scene hierarchy view, indicating object names, types, associated control scripts, loop closures, selection and visibility states, warnings, etc.
The integrated model browser supports drag-and-drop operations (also during simulation!) for convenient scene composition. The available model library, updated at each release, can be easily extended by the user
Full interaction also during simulations: models, together with their associated behavior (i.e. scripts) can be shifted, rotated, copy/pasted, scaled, erased, etc. without having to adjust any code
Educational entities (hobbyists, students, teachers, professors, schools and Universities) can use V-REP PRO EDU for free. The source code of all elements is available. Refer to the licensing page for details
A free V-REP player version is available, and allows running and interacting with V-REP simulations
e.g. multilevel undo/redo, integrated ray-tracer, movie recorder, simulation of wireless communications, simulation of paint or welding seams, octrees, point clouds, exhaustive documentation, etc.