V-REP version history
V-REP versions are indicated as follows:
x identifies a special release. Once every couple of years
y identifies a yearly release (every January/February)
z identifies a regular release (3-5 times a year, includes bug fixes, new features, etc.)
Fixed several bugs. Thanks to Hao Wang, Robert Lang, Riccardo Spica, Matias Nitsche, Sven Knüppel, Ndivhuwo Makondo, Yu Zhang, Paul Santiago Tumbaco Casa, DeKita G. Moon, Rodrigo Moreno Garcia, Federico Ferri and Arjun Narayanan for noticing them or helping to resolve them.
Improved the point cloud functionality. You can now specify a minimum distance tolerance which is used to avoid duplicate points. The tolerance can be specified in the point cloud properties dialog, or via simInsertPointsIntoPointCloud or simInsertObjectIntoPointCloud.
Added a simulation model of the Sawyer robot: models/robots/non-mobile/Sawyer.ttm. The original CAD data is courtesy of Rethink Robotics.
Added an infinite floor model, that allows to mimic an infinite floor: Models/infrastructure/floors/infiniteFloor.ttm.
Added the paths <currentScenePath> and <V-REPInstallationPath/lua> to the Lua path variable of all scripts.
Improved the Qt-based custom UI plugin: widgets can now be enabled/disabled, and event messages supressed when setting a widget value. An editing finished event can now also be generated for edit boxes.
Added a G-code interpreter that can be found in lua/gcode.lua. A demo scene was also added: Scenes/gCode.ttt.
Added several new API functions: simOpenTextEditor, simPackTable and simUnpackTable.
Added a first version of a SDF format importer plugin, courtesy of Federico Ferri. The plugin source code is located in programming/v_repExtSDF.
An SDL2 library plugin, courtesy of Tobias Benz, is available in programming/v_repExtSDL2 or here.
|V-REP V3.3.2 (August 29th 2016)|
Fixed several bugs. Thanks to Ahmed Yacine, Korolyov Alexei, Graeme Neff Wilson, Daniel Angelov, Scott Hissam, Mohammed Talha and Mark Fink for noticing them or helping to resolve them.
Added a new ROS plugin (RosInterface), which supports most standard ROS messages, and which naturally duplicated the ROS C/C++ API. We highly recommend to use this new ROS interface, rather than the previous one (RosPlugin). Both however can run side-by-side. The scene controlTypeExamples.ttt was adjusted and now includes an additional robot, which is controlled via the new RosInterface. A new scene was created that also illustrates the new RosInterface: rosInterfaceTopicPublisherAndSubscriber.ttt.
Added a new object type: octrees. They represent a spatial partitioning based of voxels and can be used for various purposes (e.g. simplified shape representation, occupancy grid/space, etc.). Octrees are collidable, measurable, detectable and renderable. New API function related to octrees are listed here.
Added a new object type: point clouds. They represent points stored inside of an octree-like data structure and can be used for various purposes (e.g. point storage and manipulation, etc.). Point clouds are collidable, measurable, detectable and renderable. New API function related to point clouds are listed here.
Added a new scene (collisionDetectionDemo.ttt), which illustrates V-REP's collision detection capabilities on dummies, shapes, octrees and point clouds.
Added a new scene (minimumDistanceCalculationDemo.ttt), which illustrates V-REP's minimum distance calculation capabilities on dummies, shapes, octrees and point clouds.
Added a new scene (proximitySensorDemo2.ttt), which illustrates V-REP's proximity sensor capabilities on dummies, shapes, octrees and point clouds.
Added two new scenes: octreeGenerationDemo.ttt and navigationWithinAPointCloud.ttt.
Added a new OMPL plugin function, that allows to specify several goal states for a given task: simExtOMPL_addGoalState. Following demo scenes now use this new functionality: motionPlanningDemo1.ttt, motionPlanningServerDemo.ttt and motionPlanningAndGraspingDemo.ttt.
Added a new type of custom user interface, based on a plugin and Qt: Qt-based custom UIs. A demo scene can be found at scenes/customUI-QtBased.ttt.
Added a menu item that allows to compute the inflated convex hull of a shape. This is useful in order to generate simplified collision object that are slightly bigger than their original. The menu item is located at [Menu bar --> Add --> Inflated convex hull of selection...]
Added stack functions that allow to hold almost any type of data or data structure. This is useful for flexible communication between plugins and scripts. Following new API functions now use stacks: simCallScriptFunctionEx, simRegisterScriptCallbackFunction and simSetScriptVariable.
Added setter and getter API function for the physics engine properties.
Added a newer version of the Bullet engine (i.e. V2.83). The new version offers now 4 different solver types: sequential impulse, NNCG, Dantzig, and projected Gauss-Seidel. All physics engine's plugins have been reworked.
Added two additional spherical vision sensors: they now allow to retrieve spherical RGB images, spherical depth buffers, or spherical RGB images and depth buffers: Models/components/sensors/spherical vision sensor RGB.ttm, Models/components/sensors/spherical vision sensor depth.ttm, Models/components/sensors/spherical vision sensor RGB + depth.ttm.
Reworked the Velodyne sensors, which are now using the new point cloud object. This means that sensor points can now be collidable, measurable and detectable.
Added three new API functions: simLoadImage, simGetScaledImage and simTransformImage.
Added a model, allowing to start, pause, stop or step a synchronous simulation, from a ROS node. The model is based on the new RosInterface and is located in Models/tools/rosInterfaceHelperTool.ttm
An IMU ROS plugin, courtesy of Bartolomeo Della Corte, is available here.
|V-REP V3.3.1 (May 17th 2016)|
Fixed several bugs. Thanks to Federico Ferri, Tiago Malheiro, Raimund Krenmueller, Ahmed Yacine, Matthias Ploner, Indranil Sur, Sung Kyun Kim, Andrew Hundt, Rik Timmers, Matthew Veres and Graeme Neff Wilson for noticing them or helping to resolve them.
Added a first version of a plugin that wraps OMPL, the Open Motion Planning Library. The plugin is courtesy of Federico Ferri. The source code of the plugin is located in programming/v_repExtOMPL/. Following demo scenes are now using the OMPL plugin functionality: motionPlanningDemo1.ttt, motionPlanningAndGraspingDemo.ttt, 3DoFHolonomicPathPlanning.ttt and 6DoFHolonomicPathPlanning.ttt, motionPlanningServerDemo.ttt.
Added a new remote API function that allows to call script functions: simxCallScriptFunction: this function is very useful when a regular API function is not available in the remote API, or when a succession of complex commands need to be executed locally. The demo scene remoteApiCommandServerExample.ttt was updated, as well as the related complexCommandTest.* files in programming/remoteApiBindings.
Added a new ROS service, ROS publisher type, and ROS subscriber type: simRosCallScriptFunction, simros_strmcmd_receive_data_from_script_function and simros_strmcmd_send_data_to_script_function. These are very useful when a regular API function is not immediately available in the RosPlugin, or when a succession of complex commands need to be executed locally. Have a look at the demo scene rosTopicPublisherAndSubscriber2.ttt, which illustrates the new functionality.
Improved and corrected the simCallScriptFunction API function.
Added a new API function that allows computing manipulator joint values from a random end-effector pose: simGetConfigForTipPose. This function replaces the deprecated simGetMpConfigFromTipPose. The demo scene ik_fk_simple_examples/8-computingJointAnglesForRandomPoses.ttt illustrates this new function. This function was also added to the external IK together with the demo scene externalIkDemo3.ttt.
Added a new API function that allows generating a straight-line path between a robot configuration and a target end-effector pose: simGenerateIkPath. This function replaces the deprecated simFindIkPath.
simLoadModule and simUnloadModule can now also be used from a script, in order to dynamically load/unload a plugin. Certain restrictions apply: in particular, if the plugin registered custom lua functions via simRegisterCustomLuaFunction without specifying the function name as functionName@pluginName, a crash might occure during the dynamic plugin unload operation.
Added an API function that allows to compute the Jacobian of an IK group: simComputeJacobian.
The V-REP source code can now be compiled for headless operation, without any Qt dependency. In that case however, the vision sensors will only generate an image content when the rendering is handled via a plugin (e.g. POV-Ray or and external renderer).
Added following new API functions: simComputeMassAndInertia and simGetExtensionString.
Added a model of the uArm with gripper and inverse kinematic routine: Models/robots/non-mobile/uarm with gripper.ttm
A constrained optimization IK plugin for V-REP, courtesy of Andrew Hundt, is available here. Installation instructions for Linux / OSX are available here.
|V-REP V3.3.0 (February 19th 2016)|
Fixed several bugs. Thanks to Karol Mocniak, Ana Lucia, Ricardo Azambuja, Diego Daniel Santiago, Graeme Neff Wilson, Anto Ronson and Minson Lee for noticing them or helping to resolve them.
Added a simulation model of the ABB IRB 4600-40/2.55 robot, courtesy of ABB. The model is located at Models/robots/non-mobile/ABB IRB 4600-40-255.ttm
Added a scene illustrating workspace visualization: scenes/workspace.ttt
Added several new API functions: simGetQHull, simGetDecimatedMesh, simExportIk.
Added two simple add-on functions illustrating scene content export/import: minimalisticExporter and minimalisticImporter.
Improved the convex hull calculation routines.
Added several convenience functions to morph shapes into their convex hull repesentation, to decimate shapes, and to extract a shape's inside. The functions can be accessed with [Menu bar --> Edit --> ...].
Added a new tutorial on building clean and efficient simulation models. This tutorial is a must for everyone who wishes to create his/her own models.
Simplified the BubbleRob tutorial.
Added a section about joint controllers and how to implement them within V-REP, or inside of an external application (e.g. a remote API client, or a ROS node).
Added a model of the P-Arm robot, and two of its grippers. The CAD data is courtesy of F&P Robotics. The models can be found at models/robots/non-mobile/P-Arm.ttm, models/components/grippers/P-Grip-straight.ttm and models/components/grippers/P-Grip-right-angle.ttm.
Modified the external IK source code, in order to support handling several instances of the same robot/kinematics, via the simEmbSwitch function. The source code can now also be compiled in double-precision.
Added two new demo scenes that illustrate the external IK functionality: scenes/externalIkDemo1.ttt and scenes/externalIkDemo2.ttt. Refer also to the related source code in programming/externalIkDemo1 and programming/externalIkDemo2.
Added several simple example scenes that illustrate how to use the inverse kinematics calculation module. The scenes can be found in scenes/ik_fk_simple_examples.
Updated the webcam plugin for V-REP, using the newest ESCAPI library. A model using that plugin can be found in Models/other/webcam.ttm. The source code of the plugin can be found in programming/windowsOnlyProjects/v_repExtCam.
Added a simulation model of the Velodyne VPL-16. The model can be found in Models/components/sensors/velodyne VPL-16.ttm.
Added a new API function that allows to call a script function from a plugin or another embedded script: simCallScriptFunction.
|V-REP V3.2.3 (November 24th 2015)|
Fixed several bugs. Thanks to Kshitij Tiwari, Victor Gomez, Martin Pecka, Parker Owan, Raimund krenmüller, Robert Lang, Muhammad Umer Huzaifa, Marshall Floyd, Inkyu Sa, Augusto Gandia, Raimund Krenmüller, Tobias Groll, Wu Xiaojun for noticing them or helping to resolve them.
Switched to Qt 5.5.0 for the Windows, the MacOS and the Linux versions.
Reworked many dialogs by adapting the floating-point number display, the unit display, and removing some deprecated/rarely used items. The user interface units are now fixed to degrees, meters, seconds, kilograms, Newtons, etc. to avoid confusions.
Added an edit mode for compound shapes. This allows to edit the visual parameters of a compound shape without having to ungroup it.
Added a possibility to automatically compute the mass and inertia tensor for convex shapes in the shape dynamic properties. The algorithm is courtesy of Chris Hecker.
Added a plugin able to render ray-traced images (via vision sensors or via cameras). This will allow to perform more realistic image-based control. The plugin is based on POV-Ray and allows rendering shadows (also soft) and focal blur. The ray-tracer plugin is courtesy of Andreu Vidal. The source can be found in programming/v_repExtPovRay.
Added a plugin for support of the Newton Dynamics engine. The plugin is currently a BETA version, and will be improved for next release. The plugin is courtesy of Julio Jerez and Alain Suero.
Added a plugin that performs the rendering instead of a vision sensor or a camera. The plugin is meant as an example, and its source can be found in programming/v_repExtExternalRenderer.
Added a simulation model of the innovative new Ragnar robot, courtesy of Blue Workforce: Models/robots/non-mobile/_Ragnar_EDU.ttm.
Added a scene that demonstrates the various rendering modes available in V-REP: scenes/rendererDemo.ttt.
Modified the way how V-REP interacts with the physics plugin: it is now possible to compile the Bullet, ODE, Vortex or Newton plugins separately. This will greatly simplify adding additional physics engines.
Added a demo scene that illustrates how to handle complex commands coming from a remote API client: scenes/remoteApiCommandServerExample.ttt. Have also a look at the correcponding remote API client code (e.g. in programming/remoteApiBindings/matlab/matlab/complexCommandTest.m)
Modified the remote API Python bindings, including the Python example programs. They should work fine on Python 2.x, Python 3.x and IronPython.
The OpenRTM-aist is now supported thanks to Yuki Suga. Installation instructions are given here.
Moved the Qhull functionality out of V-REP's main library, into a plugin (v_repExtQhull). The source code can be found in programming/v_repExtQhull.
Moved the convex decomposition functionality out of V-REP's main library, into a plugin (v_repExtConvexDecompose). The source code can be found in programming/v_repExtConvexDecompose.
The convex decomposition plugin now also offers the V-HACD algorithm (next to the HACD algorithm). Both are courtesy of Khaled Mamou.
Added a model of a ball balancing robot: Models/robots/mobile/ball robot.ttm.
Added a model of the uarm: Models/robots/non-mobile/uarm.ttm. The CAD data is courtesy of EVOL.
Added a model of the RG2 gripper: Models/components/grippers/RG2.ttm. The CAD data is courtesy of On Robot ApS.
Added a demo scene illustrating a grasping task with the UR5 robot and RG2 gripper: Scenes/ur5WithRg2Grasping.ttt.
Added a model of a tracked vehicle, courtesy of Qi Wang: Models/vehicles/tracked vehicle.ttm.
Updated the screenshot tool in order to be also able to render ray-traced screenshots (Models/tools/high-res screenshot tool.ttm).
The NAO robot can now be controlled via Python and python NAOqi SDK. The project is available here, and is courtesy of Pierre Jacquot and Gurvan Le Bleis.
A Xbox 360 controller plugin is available for V-REP here. The plugin is courtesy of Nicola Di Pol.
Added a shared memory communication plugin for V-REP, courtesy of Diego Daniel Santiago. The files, including a Simulink example, are located in programming/sharedMemoryCommunicationPlugin.
Added an option to use the LuaJIT (Lua Just-in-Time compiler) via the optional v_repLua library. The source code of v_repLua can be found in programming/v_repLuaLibrary. To enable loading and using the v_repLua library, set variable useExternalLuaLibrary to true in file system/usrset.txt.
|V-REP V3.2.2 (September 5th 2015)|
Fixed several bugs. Thanks to Jan Dentler, Robert Lang, Raimund Krenmüller, Cedric Pradalier, Reza Mahjourian, Anuraj Rajendraprakash, Sébastien Granges, Ángel Luis Jiménez García, Leander Hille, Pierre Rouanet, Ulrich Schwesinger, Kenichi Hara, Federico Ferri, Martin Pecka and Nicola Piccinelli for noticing them or helping to resolve them.
Added 2 classes (CLuaFunctionData and CLuaFunctionDataItem) that greatly simplify passing arguments to/from custom Lua function created in plugins. The two classes are located in programming/common and programming/include folders.
Completely rewrote the Khepera3, the Mtb, and the BubbleRob plugins: they have been greatly simplified.
V-REP now supports the RRS-1 specifications via a plugin (v_repExtRRS1). It allows to connect and interact with all RCS modules and robots that supports the RRS-1 specifications. For an example have a look at the demo file scenes/RRS-1 demo.ttt.
Rewrote the plugin tutorial, which has become much simpler.
Rewrote the robot language integration tutorial, which has become much simpler.
Modified the remote API simpleTest programs to include an example of blocking call, non-blocking call, and data streaming.
The CHAI3D plugin (for interfacing a haptic device) has been completely rewritten and greatly improved, courtesy of Sébastien Granges. Visit www.chai3d.org or www.forcedimension.com for the source code of that plugin. In case it is not yet available on those websites, please contact us.
Added a demon scene that illustrates navigation of a mobile robot via a haptic device (Scenes/hapticRobot.ttm). The device will let the user feel the obstacles.
Added an interface plugin to the OpenMesh library. The plugin source code is located in programming/v_repExtOpenMesh.
Added a tool model that allows to simplify high-poly shapes: Models/tools/mesh decimation tool.ttm. The tool relies on the new OpenMesh plugin for V-REP.
Added a tool model that allows to separate the inside/outside parts of shapes: Models/tools/mesh inside outside separation tool.ttm.
The remote API now also offers a Lua binding. It can be called from an external Lua script, or from within V-REP (for example to connect and interact with another V-REP instance (e.g. running in headless mode)).
Added a demo scene (Scenes/headlessModeDebug.ttt) that illustrates how to launch a headless instance of V-REP, connect to it, and stream back the view of the scene.
Added a model that allows to extract Denavit-Hartenberg parameters in a kinematic chain (Models/tools/Denavit Hartenberg parameter extractor.ttm).
Added a model that allows to create joints in poses defined by Denavit-Hartenberg parameters (Models/tools/Denavit Hartenberg joint creator.ttm).
Added following new API functions: simCreateIkGroup, simRemoveIkGroup, simCreateIkElement, simCreateMotionPlanning, simRemoveMotionPlanning, simCreateCollection and simAddObjectToCollection.
Continuous remote API server services can now also be started via the command line, when launching V-REP.
Added an API function that allows saving images: simSaveImage
Added a model, courtesy of Ulrich Schwesinger, allowing to take high-resolution screenshots of the scene: Models/tools/high-res screenshot tool.
Added a model that allows to modify shape colors that are named: Models/tools/color change tool from color names.ttm.
Added a model that allows to find the intersection between a plane and a ray: Models/tools/plane ray intersection finder tool.ttm.
An example of Snap! controlled line follower in V-REP is available here, courtesy of Ilya Nemihin.
A small Python programm that allows transferring a MeshLab inertia tensor to V-REP is available here, courtesy of Michael Michalik.
|V-REP V3.2.1 (May 4th 2015)|
Fixed several bugs. Thanks to Reza Mahjourian, Ben Allan, Soner Ulun, Robert Lang, Guenter Schreiber, Sven Knüppel, Eva Alves Costa, Lucian Cucu, Sigurd Villumsen, Andrea Censi, Pierre Rouanet, Leander Hille, Christoph Hügle, William Harrison, Robert Lang and Scott Drew Pendleton for noticing them or helping to resolve them.
Switched to Ubuntu 14.04.1 LTS for Linux versions of V-REP.
The precompiled ROS items are now specifically meant for ROS Indigo. If you use a different version, make sure to recompile them.
Switched to Qt 5.4.0 for Linux versions of V-REP.
Improved the visual appearance of 3D objects by adjusting the way meshes are rendered. This can lead to small differences in color/lighting with previous V-REP releases. You may have to adjust the ambient light manually.
Added backtrace information output, for easier debugging of script code.
Added a new type of callback script: the general callback script. It can be used to intercept callback calls that originate from a plugin for instance (e.g. ROS subscriber message arrival).
Script colors can now individually be adjusted. See the file system/usrset.txt.
Objects can now be selectively seen from a given camera or vision sensor. This can be adjusted in the object common properties.
High resolution displays (such as Retina display) are now fully supported, and should be automatically detected. You can force a different behaviour by adjusting the value of highResDisplay in the file system/usrset.txt.
Added a model of the Velodyne HDL-64E S2 Lidar: Models/components/sensors/velodyne HDL-64E S2.ttm.
Added a model that allows interaction with a haptic device (Models/other/interface to haptic device.ttm), courtesy of Force dimension, Francois Conti (CHAI3D) and Julien Tharin. The related plugin project files are located in programming/v_repExtCHAI3D.
Added a model of a customizable office building: Models/infrastructure/urban/customizable building.ttm.
Added a model of a paint bomb: Models/components/modifiers/paint bomb.ttm.
Added a model that allows to quickly adjust the color of shapes or entire models: Models/tools/quick shape color tool.ttm.
Added a model that allows to quickly adjust all the lights in a scene: Models/tools/quick light adjust tool.ttm.
A V-REP ROS bridge is available here, courtesy of Riccardo Spica and Giovanni Claudio.
Pioneer 3D-X controlled via a visual servoing law (courtesy of Riccardo Spica and Giovanni Claudio)
A first backend to integrate ros_control loop in V-REP is available here, courtesy of Antoine Rennuit.
Added following new API functions: simSwitchThread (now also available from the C API), simPackBytes, simUnpackBytes, simPackWords and simUnpackWords.
Added a model that allows to measure the distance between two clicked points in the scene: models/tools/point-point distance tool.ttm.
Added a model that allows to measure the normal vector of a clicked surface in the scene: models/tools/normal vector measurement tool.ttm.
|V-REP V3.2.0 (February 3rd 2015)|
Fixed several bugs. Thanks to Renaud Detry, Daniel Lechner, Ulrich Schwesinger, Sven Knüppel, Steve Nguyen, Jonas Sperling, James Besancon, Andrew Vardy, Rodrigo Moreno Garcia, Thomas Estier, Matthias Imle, Daniel Kuhner, José Rosado, Eric Rohmer and Soner Ulun for noticing them or helping to resolve them.
Improved the embedded script editor with following new features: highlighting of all occurrences of selected word, source folding/unfolding, simple word search via the <ctrl+f> key.
External script editors can now be customized with the data in file v-rep_notepad++.zip: this allows for keyword highlighting, auto-completion and call tip display.
Improved the shape serialization routines, effectively reducing generated file sizes, mainly if they contain duplicate geometric content. The generated file format cannot be read by previous V-REP versions (prior to V-REP 3.1.3), so make sure to make backup copies.
Added a new type of embedded script: customization scripts. They are associated with scene objects (same as child scripts) and can be used to customize a simulation scene to a great extent. The main difference with child scripts is that customization scripts are running all the time, also when simulation is not running.
Added several models that demonstrate the new customization script functionality: Models/nature/terrain bump.ttm, Models/nature/Terrain.ttm, Models/nature/Tree.ttm, Models/infrastructure/other/resizable concret block.ttm, Models/infrastructure/floors/resizable floor*.ttm, Models/tools/playback tool.ttm, Models/tools/isometric scaling tool.ttm, Models/tools/name change tool.ttm, Models/tools/custom data viewer tool.ttm, Models/equipment/conveyor belts/customizable conveyor belt.ttm, Models/furniture/tables/customizable table.ttm.
Modified the way child scripts are handled in order to make them operate in a more coherent manner:
non-threaded child scripts execution is now automatically cascaded (i.e. no need to explicitely call simHandleChildScript anymore).
non-threaded child scripts are now executed in the actuation phase as well as in the sensing phase of a given simulation step: there is no distinction anymore with what previously used to be sensing child scripts.
threaded child scripts are now launched/relaunched via the simLaunchThreadedChildScripts function.
a non-threaded child script cannot launch a threaded child script anymore. And vice-versa.
script compatibility with previous file versions is guaranteed by 1) automatic child script code modification (clearly marked as such), 2) automatic main script replacement. This covers 99% of all situations, but it can happen that this automatic modification partly fails (e.g. when the main script was customized, or when explicitely executing a specific child script (previously marked as explicit handling)). In that case, contact us for assistance.
Improved the rendering speed. If compatibility issues arise, please contact us, and try to disable VBO operation here.
Improved the start-up time of certain simulation scenes, by adding a broad mode for collision detection, minimum distance calculation and proximity sensor detection: Oriented Bounding Box (i.e. OBB) data structures are now only computed on-the-fly and only when absolutely necessary. This can be visualized via [Menu bar --> Help --> Debug --> Visualize prepared OBB calculation structures].
Added 3 new API functions: simCopyPasteObjects, simScaleObjects and simRemoveModel. simCopyPasteSelectedObjects, simScaleSelectedObjects and simDeleteSelectedObjects are declared deprecated.
Added project files for custom ROS plugins for V-REP (i.e. in order to support specific ROS messages of a specific robot). They are located in programming/ros_packages/vrep_plugin_skeleton and programming/ros_packages/vrep_skeleton_msg_and_srv.
Added a model of the Robotnik Summit XL robot, courtesy of Roberto Guzman: Models/robots/mobile/Robotnik_Summit_XL_140701.ttm
Improved the undo/redo functionality that now operates in a more consistent manner. Camera movements are not considered as undo points anymore. This behaviour can be adjusted via the user settings file system/usrset.txt.
The API functions simReadCustomDataBlock and simWriteCustomDataBlock can now also be used to attach custom data to scripts. At the same time you can now also specify whether the data should be saved during a scene or model save operation.
The vision sensor code has been optimized and vision sensors now run faster. They now can also operate in a different mode, in order to simulate the temperature of objects for instance, or in order to detect object handles.
Added several new API functions: simGetObjectsInTree, simGetObjectSizeValues, simSetObjectSizeValues, simScaleObject (i.e. non-isometric scaling), simGetShapeTextureId, simSetShapeTexture, simGetVisionSensorCharImage, simSetVisionSensorCharImage, simGetCollectionObjects, simGetScriptAttribute, simSetScriptAttribute, simHandleChildScripts, simLaunchThreadedChildScripts and simReorientShapeBoundingBox.
Added a SLAM demo based on ROS, courtesy of Leopoldo Armesto.
Added a link to a tutorial on teaching robotics with a simulator, courtesy of Prof. Renaud Detry.
Added a link to a Python quadrotor simulator, courtesy of B. Acharya, F. Gisa, and S. D. Levy.
Added a link to the TAPIR implementation of the Adaptive Belief Tree (ABT) algorithm, courtesy of Hanna Kurniawati, Dimitri Klimenko, Joshua Mun Song and Vinay Yadav.
The middle mouse button can now be deactivated in order to not react to a press action. This can be done in the user settings file in system/usrset.txt.
Added an interface model to the Arduino Esplora, located in Models/other/Arduina Esplora.ttm. The model is courtesy of Eric Rohmer.
Added a function that allows to link two dynamic joints (i.e. a force/torque applied to one will be transmitted to the other one, and vice-versa). This allows to simulate complex gear mechanisms, without the need to simulate the gear contacts. This feature is currently only supported via the Vortex plugin.
Added a demo scene that illustrates how to simulate gear mechanisms with Vortex: scenes/gearMechanism.ttt.
Changed the camera navigation method: camera rotations are now performed with the middle mouse button, instead of the right mouse button (which was, to many, confusing and not practical). The right mouse button is now exclusively reserved for pop-up menus. The previous navigation method can still be enabled via the variables navigationBackwardCompatibility and middleMouseButtonSwitchesModes in the system/usrset.txt file, but this is not recommended since this option will probably disappear in future.
Added a play back tool, that allows you to manually step through a simulation. The model file is located in Models/tools/playback tool.ttm.
|V-REP V3.1.3 (October 1st 2014)|
Fixed several bugs. Thanks to Matt Derry, Daniel Morberg, Andreas Kuhner, Danilo Vasconcellos Vargas, Spencer Krause, Daniel Kuhner, Luigi Ferri, Filip Jares, Michaela Richter, Matthias Schindler and Ulrich Schwesinger for noticing them or helping to resolve them.
Fixed a bug of the PID joint controller: in older V-REP versions, the I and D parameters had to be wrongly scaled in order to obtain the correct behaviour. The controller was now fixed and parameters are automatically scaled to a correct value when loading older file versions. Custom joint callback controllers will have to be adjusted manually if they make use of the I or D parameters.
The joint dynamics properties have been reorganized in order to facilitate the creation of spring-damper systems, by allowing to directly specify the spring constant K and its damping coefficient C.
Matlab versions previous to 2008a might be supported via the files located here, courtesy of Gerold Huber.
The RosPlugin was catkinized, courtesy of Arne Hitzmann and Sergi Foix.
The remote API (client and server) was modified and transports large data (e.g. images) much faster now. Make sure to use up-to-date and matching client-server pairs.
V-REP now also supports 3D OpenGL stereo mode (for dedicated hardware, i.e. specific stereo-enabled graphic cards with corresponding monitor/device). To enable it, set a value different from 0 for stereoDist in file system/usrset.txt. The console should indicate at start-up if the mode was successfully enabled. Make sure to correctly configure your graphic card (i.e. 3D OpenGL stereo & correct stereo display mode).
Added a simulation model of the Baxter robot, including its vacuum cup and gripper tools: models/robots/non-mobile/Baxter.ttm, models/components/grippers/Baxter vacuum cup.ttm and models/components/grippers/Baxter gripper.ttm. The original CAD data is courtesy of Rethink Robotics.
Added a simulation model of the Phantom X Pincher: models/robots/non-mobilePhantomXPincher.ttm. The original CAD data is courtesy of Trossen Robotics.
Added two new remote API functions to easily handle data exchanges between client and server: simxReadStringStream and simxWriteStringStream.
Added models of a generic revolute motor, a generic revolute servo (with and without backslash), a generic revolute spring-damper, and a generic prismatic motor. They are located in the models/components/actuators/ folder.
Improved the OBJ file format importer.
Switched to an updated Vortex library (V6.1.2) that offers an improved contact generation.
Added a simulation model that allows visualizing the center of mass of a dynamic model: models/other/center of mass visualizer.ttm.
Added a new API function to retrieve geometric information about shapes: simGetShapeGeomInfo.
Added a new API function that helps to make a motion planning transition from one configuration to another, by following a predefined Cartesian space path. This is useful for redundant manipulators, but also for safely driving non-redundant manipulators via IK through a singular configuration: simGetMpConfigTransition.
Added a new API function that allows to compute IK groups without directly applying the calculated values: simCheckIkGroup.
simRMLPosition and simRMLVelocity are declared deprecated and are replaced by following API functions: simRMLPos, simRMLVel, simRMLStep and simRMLRemove. This is to correct for a bug linked to simRMLPosition and simRMLVelocity.
Added the possibility to attach user data to each path control point. For each control point, there are 16 auxiliary flags, and 4 auxiliary data channels. User data can be retrieved in an interpolated fashion along a path via a new API function: simGetDataOnPath.
Added a simulation model of the Adept Quattro 650HS parallel manipulator, courtesy of Preben Hjornet: models/robots/non-mobile/Adept Quattro 650HS.ttm. The original CAD data is courtesy of Adept Technology.
Added a plugin that implements shared memory communication, courtesy of Diego Daniel Santiago. The source code, currently only running on Windows, is located here.
|V-REP V3.1.2 (June 17th 2014)|
Fixed several bugs. Thanks to Stéphane Magnenat, Ulrich Schwesinger, Philipp Krüsi, Pascal Gohl, Klaus Raizer, Paulo Gurgel, Marco Bellaccini, Gianpaolo Gonnelli, Felix Herrmann, Edgar Virga, Josep Tormo Costa, Gaël Ecorchard, Renaud Detry, Marc Durvaux, Robert Lang and Alexander Rietzler for noticing them or helping to resolve them.
Added simulation models of the new KUKA LBR IIWA robots: models/robots/non-mobile/KUKA LBR4 iiwa 7 R800.ttm and models/robots/non-mobile/KUKA LBR4 iiwa 14 R820.ttm
Added a simulation model of the Pioneer P3DX robot, courtesy of Eric Rohmer and Joost a.k.a. J-m@n: models/robots/mobile/pioneer p3dx.ttm
Added a simulation model of the Jaco manipulator, courtesy of Eric Rohmer and Kinova Robotics for the CAD data: models/robots/non-mobile/Jaco arm.ttm and models/components/grippers/Jaco hand.ttm.
Added a simulation model of the Mico manipulator, courtesy of Eric Rohmer and Kinova Robotics for the CAD data: models/robots/non-mobile/Mico arm.ttm and models/components/grippers/Mico hand.ttm.
Added preliminary simulation models of the UR5 and UR10 robots, courtesy of Universal Robots for the CAD data: models/robots/non-mobile/UR5.ttm and models/robots/non-mobile/UR10.ttm.
The simulation model of the Kuka LBR4+ was updated by Massimo Cefalo, in order to beahve more like the real one (adjusted masses and inertias).
Added new API functions to control the material of a shape: simGetMaterialId, simGetShapeMaterial and simSetShapeMaterial.
Added new API functions to create and modify textures: simGetTextureId, simReadTexture, simWriteTexture, simCreateTexture.
Added new API functions related to motion planning: simSimplifyMpPath and simFindIkPath.
Completed the documentation of the motion planning functionality.
Added new API functions that allow to easily store custom data inside of scene objects, or inside of a scene file: simWriteCustomDataBlock and simReadCustomDataBlock.
Added a new simulation scene that illustrates motion planning and grasping: scenes/motionPlanningAndGraspingDemo.ttt.
Added new API functions for efficient point cloud display: simAddPointCloud and simModifyPointCloud.
Added a new plugin (v_repExtVision) in charge of various tasks. Currently, it exports 2 custom Lua function to handle spherical vision sensors and anaglyph stereo cameras. The plugin source code is located in programming/v_repExtVision.
Added a simulation model of a spherical camera, which features a 360x180 view of the scene: models/components/sensors/spherical vision sensor.ttm.
Added a simulation model of an anaglyph stereo camera, which generates anaglyphic images (e.g. red-cyan coded images): models/components/sensors/anaglyph stereo vision.ttm.
|V-REP V3.1.1 (March 27th 2014)|
Switched to Qt5.2.0 for the Mac and Linux releases, which solved a few open glitches/bugs. The Windows release is still running under Qt5.1.1.
Separated the GUI thread from the simulation thread for better application stability, speed, and safer threaded rendering operation.
Fixed several bugs. Thanks to Matthias Schindler, Renaud Detry and Ulrich Schwesinger for noticing them.
Added two regular API functions allowing to create ghost objects: simAddGhost and simModifyGhost. Ghost objects can be used to visually compare several simulation runs with each other.
Added a scene that illustrates the new ghost recorder functionality: ghostDemo.ttt.
Added two models that illustrate the new ghost recorder functionality: Models/other/ghostRecorder.ttm and Models/other/ghostTracer.ttm
Added a file-menu item that allows easily loading recently opened scene files.
simLockInterface is declared deprecated and has no effect anymore.
Added a model of a basket: Models/infrastructure/other/largeBasket.ttm.
Added a Debug menu item in the Help menu. This allows displaying various debug information to the console or a file, or running the simulator in special modes.
Added a laserscan and odometry publisher to the RosPlugin, together with a laser scanner model prepared for ROS: models/components/sensors/Hokuyo_URG_04LX_UG01_ROS.ttm. The code modification and the model are both courtesy of George Moustris.
Added following regular API functions: simQuitSimulator, simGetThreadId, simLockResources and simUnlockResources.
Added the option to run V-REP headless (without any graphical user interface (i.e. in the command line only)), as well as other command line options. The graphics libraries are still needed. A binary that doesn't rely of graphics libraries is planned.
Redefined most simxChar types to simxUChar types in the remote API, in order to avoid confusions (a char can be signed or unsigned, depending on the implementation). When recompiling older projects, you might have to cast between types.
Added a bridge to OpenCV via a plugin, courtesy of Marco Bellaccini. The files are located here.
Added a first version of a C# wrapper for the remote API, courtesy of Hendrik Wiese. The files are located here.
Added a first version of a Labview interface for the remote API, courtesy of Peter Mačička. The files are located here.
Added a remote API binding for the Octave framework (i.e. the open-source equivalent of Matlab). All required files are located in programming/remoteApiBindings/octave. Refer also to the Octave remote API functions.
In order to speed-up rendering, some event callbacks have been disabled by default (sim_message_eventcallback_renderingpass, sim_message_eventcallback_opengl, sim_message_eventcallback_openglframe and sim_message_eventcallback_openglcameraview). They can be enabled on a plugin-base via the new simEnableEventCallback API function.
|V-REP V3.1.0 (January 20th 2014)|
Switched to Qt5.1.1. Many changes and refactorings were made, and are still ongoing.
Added optional support for high fidelity physics with the Vortex Dynamics engine. Thanks to Martin Courchesne and SimWat for their plugin implementation. The plugin will gradually be improved in order to support simulation requirements in various fields (fluids, particles, etc.).
Added a motion planning functionality, that allows to plan movement sequences of kinematic chains, in a clutered environment. The documentation on this is unfortunately not yet very exhaustive, make sure to refer to the motion planning dialog and the related API functions.
Added 3 scenes to illustrate the new motion planning functionality: motionPlanningDemo1.ttt, motionPlanningDemo2.ttt and motionPlanningDemo3.ttt.
Added a simulation model of the SICK TiM310 laser scanner: models/components/sensors/SICK TiM310 Fast.ttm
Fixed several minor bugs. Thanks to Billy Newman, Ruediger Dehmel, Renaud Detry, Roband and Hendrik Wiese for noticing them, and even providing patches.
Added a simulation model of a generic GPS sensor: models/components/sensors/GPS.ttm
Following texture file formats are now supported: JPEG, PNG, TGA, BMP, TIFF & GIF. Thanks to Sean Barrett for his image loading routines (used for GIF and TGA).
Adjusted all default light intensities and default object colors (ambient component only) in order to be more compatible with other CAD applications. Older scenes and models will automatically adjust for that during a load operation (i.e. light intensities will be scaled by 0.675, colors by 1.5). If you do not wish for this automatic adjustment, turn variable correctColorsAndLights to false in system/usrset.txt.
Added a ROS publisher for vision sensor depth data as RGBD point cloud (simros_strmcmd_get_depth_sensor_data), courtesy of Cedric Pradalier.
Added a possibility to create negative volumes (i.e. holes) in pure shapes, for efficient dynamic simulation of tubes or pipes for instance.
Added the option to run simulations with threaded rendering: this allows, in some cases, to drastically accelerate simulation cycles.
Added a new scene: fastClientServerCommunication.ttt. It illustrates the threaded rendering mode.
Fixed a bug affecting the regular API function simGetObjectVelocity.
Added a new remote API function: simxGetObjectVelocity.
Added a new regular API function: simRegisterJointCtrlCallback. It allows to do low-level control of a joint via a plugin for instance. This is offered as an alternative to joint control callback scripts.
Added more predefined page configurations.
Added a gamepad interface to the V-REP RosPlugin. The code is courtesy of Roberto Marino.
Added a model of a buggy with suspension and differential: models/vehicles/manta with differential.ttm. The model is courtesy of Qi Wang.
Added a full screen mode.
The shared library of the remote API client is now available in 32/64 bit (remoteApi.dll, remoteApi.so, remoteApi.dylib, remoteApiJava.dll, libremoteApiJava.so, libremoteApi.dylib).
Added a new regular API function: simGetSystemTimeInMs for more flexibility to measure time also across V-REP's boundary.
|V-REP V3.0.5 (October 27th 2013)|
Added 2 optional callbacks, that allow to access and modify the main window rendered image, or any camera view rendered image: sim_message_eventcallback_openglframe & sim_message_eventcallback_openglcameraview.
Fixed several minor bugs. Thanks to Brian Yeomans, Kiyoshi Irie, Ulrich Schwesinger, David Butterworth and Xinyu Zhang.
Added the possibility for vision sensors to ignore their RGB or depth information. When used, this allows to accelerate vision sensor operation. Refer to the vision sensor properties.
Added two new vision sensor filters. The first allows to extract coordinates from a vision sensor depth map. This allows to create fast laser scanner models, such as models/components/sensors/Hokuyo URG 04LX UG01_Fast.ttm or models/components/sensors/3D laser scanner Fast.ttm. The second added vision sensor filter allows to track individual pixel changes, such as in the model models/components/sensors/DVS128.ttm, courtesy of IniLabs.
Added VC++ 2010 project files for most projects in the programming folder. Until now, only VC++ 2005 project files (Windows) and makefiles (MacOSX & Linux) were provided.
Added 4 remote API helper functions: simxPackFloats, simxUnpackFloats, simxPackInts and simxUnpackInts.
Added new functions for easier data retrieval of several objects from a remote API client or a ROS node: simxGetObjectGroupData and simRosGetObjectGroupData.
Added new messages that allow to track shape picking (based on rendering or geometric calculations): sim_message_pick_select_down, sim_message_prox_sensor_select_down, sim_message_prox_sensor_select_up, sim_message_eventcallback_pickselectdown, sim_message_eventcallback_proxsensorselectdown and sim_message_eventcallback_proxsensorselectup
Added a new demo scene: fabricationBlocks.ttt
Added several fabrication/transformation block models, that can be combined with each other to simulate complex fabrication processes (see the demo scene fabricationBlocks.ttt). The new models are located in models/examples/block factory.
Added a new model: models/components/sensors/push button.ttm
Added a new gripper model courtesy of ROBOTIQ: models/components/grippers/ROBOTIQ 85.ttm
Added a simulation model of the SICK S300 laser scanner: models/components/sensors/SICK S300 Fast.ttm
Added a simulation model of the KUKA Omnirob robot: models/robots/mobile/KUKA Omnirob.ttm
Added a simulation model of the KUKA LBR4+ robot: models/robots/non-mobile/KUKA LBR4+.ttm
Added a simulation model of the Kilobot, together with its controller model: models/robots/mobile/Kilobot.ttm and models/robots/mobile/Kilobot_Controller.ttm. The models are courtesy of K-Team.
Added new wall models, in 3 different heights: 240cm, 80cm and 20cm. They are located in models/infrastructure/walls
Added a new regular API function: simGetIkGroupMatrix. It allows for example to retrieve the Jacobian.
Removed the annoying watermark appearing when recording a movie (Simulated with V-REP)
|V-REP V3.0.4 (July 8th 2013)|
Fixed a bug created in release 3.0.2: pure shapes would see their Bullet custom collision margin scalings set to a non-default value automatically. Thanks to Geerten Doornenbal and others for reporting this.
Fixed several minor bugs. Thanks to Qi Wang, Giordano and Karl Robillard.
Added 3 new regular API functions to create and edit paths programmatically: simCreatePath, simInsertPathCtrlPoints and simCutPathCtrlPoints.
Added also following new regular API functions: simGetJointMode, simGetJointTargetPosition and simGetJointTargetVelocity.
Added 3 new object parameter IDs (3020-3022) that allow setting the initial rotational velocity of a dynamically enabled shape.
Added an event callback message (sim_message_eventcallback_opengl) that allows to draw with openGl commands into the V-REP scene, from a plugin.
Added a toolbar button that facilitates object/model re-instanciation: this allows modifying in a same way an unlimited number of same robots. Refer to the object/model can transfer or accept DNA checkbox in the object common properties.
Added a tutorial about a line following robot, courtesy of Eric Rohmer.
Added two new API functions: simEnableWorkThreads and simWaitForWorkThreads. They allow to execute sensing operations concurrently (i.e. in parallel), taking advantage of several processor cores. By default the functionality is turned off. It can be turned on via the user settings dialog, the variable workThreadCount in file system/usrset.txt, or programmatically via simSetInt32Parameter(sim_intparam_work_thread_count,coreCount). Refer also to the default main script, that was slightly modified to accomodate for that.
Added a new model: models/components/sensors/Hokuyo URG 04LX UG01_Multithreaded.ttm. It demonstrates a laser scanner capable of using multithreading for potential speed increases.
Added a new model: models/other/timing info.ttm. It allows to quickly have an overview of the time spent in the various calculations.
Added a new model: models/other/joint recorder.ttm. It allows to record the joint movements of a model, then to play them back.
Added a new model: models/robots/mobile/NAO.ttm. The model is courtesy of Marco Cognetti, the mesh and movement data is courtesy of Aldebaran. The model is a first example model of NAO, an improved version should follow in next release.
The remote API on the client side can now be instanciated as many times as needed, allowing to create several parallel communication lines from a same client (i.e. process). One can for instance now chose to send heavy data via a different communication line than lightweight data (simxStart will have to be called twice in that case).
Added following new remote API functions: simxQuery, simxGetAndClearStringSignal and simxCreateDummy.
Added following new RosPlugin services/publishers: simRosGetAndClearStringSignal and simRosCreateDummy.
|V-REP V3.0.3 (April 29th 2013)|
Corrected a bug related to convex shapes
Improved the URDF importer (scaling is now taken into account, bug linked to forbidden chars in object names was fixed, and rpy mix-up (different rotation multiplication order) was also fixed). Thanks to Barrett Ames and Luca Marchionni for pointing that out.
Added a new regular API function: simGetObjectVelocity (slightly different from the already existing simGetVelocity function).
Added a new remote API function: simxAppendStringSignal. This allows to easily send data that is automatically buffered on V-REP.
Added a new RosPlugin service: simrosAppendStringSignal. This allows to easily send data that is automatically buffered on V-REP.
Added some testing / adjustment mechanisms to improve rendering performance on certain graphic cards / platform combinations. Thanks to Cedric Pradalier for intensive testing. Refer to the system/usrset.txt file.
Corrected various bugs. Thanks to Arnaud Leleve, Geerten Doornenbal, Pouya Mohammadi, Nikolaus Wittenstein, Ayberk Ozgur.
Replaced the old convex hull calculation routines with the Qhull routines, courtesy of Brad Barber.
Added a few new shortcut keys.
Added an example Ackermann steering vehicle: models/examples/simple Ackermann steering.ttm
Added two transceiver models: models/components/sensors/transceiver.ttm and models/components/sensors/directionalTransceiver.ttm
Added a new type of embedded script: callback scripts, that allow to write custom low-level joint controllers or contact handlers.
Added several mechanisms allowing to execute sensing operations concurrently (i.e. in parallel), taking advantage of several processor cores. By default the functionality is turned off, since still in development phase. It can be turned on via the variable workThreadCount in file system/usrset.txt, or programmatically via simSetInt32Parameter(sim_intparam_work_thread_count,coreCount). Refer also to the default main script, that was slightly modified to accomodate for that.
|V-REP V3.0.2 (March 14th 2013)|
Convex shapes are now also directly supported in V-REP. We however still recommend using only pure shapes for dynamic simulations.
Added a convex decomposition function (routines courtesy of Khaled Mamou)
Added one new regular API function: simConvexDecompose.
The URDF importer is now in an advanced beta stage.
|V-REP V3.0.1 (January 20th 2013)|
V-REP is now open source! All source code of V-REP or any related item can be downloaded, modified and compiled. Make sure to read the licensing conditions.
V-REP comes now is several flavours:
V-REP PRO EDU (educational version. No limitation and Free). Can be used by hobbyists, students, teachers, professors, schools and Universities. Make sure to read the licensing conditions.
V-REP PRO (commercial version)
V-REP PLAYER (free player version)
Collada importer/exporter plugin
URDF importer plugin, courtesy of Ignacio Tartavull
Added 4 new regular API functions: simCreateForceSensor, simCreateProximitySensor, simCreateVisionSensor and simImportShape.
Added a quick textures button to the shape properties: it allows for instance to quickly apply a "dirt" texture to several shapes, in order to make them appear more realistic.
New demo scene: proximitySensorDemo.ttt
|V-REP V3.0.0 (January 10th 2013)|
Add-ons are now supported: they can run in the background, or be called as a function, when needed
Added 3 new regular API functions: simFileDialog, simMsgBox and simCreateDummy.
Textured shapes can now also be grouped
The bounding box of pure compound shapes can now also be reoriented
The shape dynamics properties dialog allows now specifying non-diagonal inertia matrices relative to a specific reference frame.
Shape grouping will now correctly compute the combined inertia matrix for the group.
Added 2 new regular API functions: simGetShapeMassAndInertia and simSetShapeMassAndInertia.
Added 2 new regular API functions: simGroupShapes and simUngroupShape.
Added more than 80 new functions (additional API functions), only available from the C/C++ interface, that extend functionality and allow faster data access.
Serialization version is now 16. Earlier files can still be loaded, but V-REP versions 2.6.7 and earlier cannot load this new fileformat.
|V-REP V2.6.8 (December 2nd 2012)|
Added a new remote API function: simxPauseCommunication. This allows to set several value on the server side (i.e. V-REP) at the exact same time.
Added a new type of object: mirrors. They can act as regular mirrors, or they can operate as auxiliary clipping planes.
Added a new ROS service, and ROS subscriber type: simRosSetJointState and simros_strmcmd_set_joint_state. They allow to set several joints' states at the same time.
Added following ROS publisher/subscriber types (courtesy of Cedric Pradalier): simros_strmcmd_get_range_finder_data, simros_strmcmd_get_transform, simros_strmcmd_get_twist_status, simros_strmcmd_get_vision_sensor_info, and simros_strmcmd_set_twist_command.
Converted the v_repExtMtb plugin to a Qt project. Source files are located in the /programming directory. Refer to the section on plugins for details how to compile this plugin. The plugin binary is in the main directory.
Converted the v_repExtSimpleFilter plugin to a Qt project. Source files are located in the /programming directory. Refer to the section on plugins for details how to compile this plugin. The plugin binary is in the main directory.
Converted the mtbServer application to a cross-platform project. Source files are located in the /programming directory. The executable binary is in the main directory.
Added source code in /programming/matrixCalc that allows handling transformation calculations inside an external application (code can be embedded into your application). Refer to the matrix calculation documentation.
Added source code in /programming/externalIk that allows handling complex kinematic calculations inside an external application (code can be embedded into your application). Refer to the external kinematics documentation.
Added a project that demonstrates the external kinematics functionality: externalIkDemo. The source code is located in the /programming directory. The executable binary is in the main directory.
Added a new demo scene: "externalIkDemo.ttt". It demonstrates the external kinematics functionality.
An external editor for V-REP's embedded scripts can now be used. Refer to the user settings.
Additional texture mapping methods have been implemented: cylinder-, sphere-, or box-mapping. Refer to the texture dialog for details.
The linux version of V-REP comes now in 32 or 64 bit.
Added 2 new functions to handle object/joint motion from a threaded script: simRMLMoveToPosition and simRMLMoveToJointPositions
|V-REP V2.6.7 (September 20th 2012)|
The RosPlugin is now fully operational and offers 100 services, 30 publisher types and 25 subscriber types. The plugin is fully open source and can easily be adapted to various projects if needed. Have a look at the ROS tutorial for a quick start.
Integrated the Reflexxes Motion Library type IV via a plugin. Following new functions can now be called from C/C++, Lua, the remote API, and from a ROS node: simRMLPosition and simRMLVelocity. Have a look at the related demo scene: "reflexxesMotionLibraryType4Demo.ttt"
Added 4 new API functions: simGetObjectQuaternion, simSetObjectQuaternion, simBuildMatrixQ and simGetQuaternionFromMatrix (internally V-REP used quaternions since always, but only Euler angles could be accessed)
Added an option to colorize items in the scene hierarchy, for quicker identification
Simplified the way the remote API function simxGetUIEventButton operates
New scene: "reflexxesMotionLibraryType4Demo.ttt"
New model: "kinect - closest point calculation.ttm"
Added new graph data streams: Joint velocity, object velocity, object velocity x, object velocity y, object velocity y, and object rotation velocity.
Added a new tutorial: ROS tutorial.
|V-REP V2.6.6 (August 20th 2012)|
Renamed following remote API functions/constants to avoid confusion: simxGetInMessageInfo, simxGetOutMessageInfo, simx_headeroffset_message_id.
Added a user manual section about how to extend the remote API
Fixed a few bugs related to the Linux/Mac version of the remote API
Added a new toolbar button to handle object assembling/disassembling. The way two objects assemble via this toolbar button can be adjusted in the object common properties (Assembling button)
Added a Python binding for the remote API
Added a Java binding for the remote API
Added a Matlab binding for the remote API
Added a Urbi binding for the remote API
Added a first interface to ROS. This version is temporary and will be updated in next release
|V-REP V2.6.5 (July 7th 2012)|
A new powerful mechanism was developed to allow easy access to V-REP API functions from external applications (e.g. robots): the remote API. Now V-REP supports 4 different programming approaches.
simSerialPortOpen, simSerialPortClose, simSerialPortSend and simSerialPortRead are declared deprecated. They are replaced by simSerialOpen, simSerialClose, simSerialSend, simSerialRead and simSerialCheck.
The serial port functionality is now also operational on the Mac and Linux platforms
Fixed a bug where icons would not appear on systems with an old or non-accelerated graphic card
Added a new integer parameter: sim_intparam_scene_unique_id
Added a new event callback message: sim_message_eventcallback_mainscriptabouttobecalled
|V-REP V2.6.4 (May 23rd 2012)|
First release that is also available on the Linux platform (Ubuntu is preferred). The Mac and Linux versions are however still flagged as early beta releases
Added a new status bar
Reworked the coordinates and transformation dialog, as well as the method of moving object/items
Modified the way objects/items get selected when no key combination is used: objects get selected at mouse button release if the mouse didn't move. This makes it more convenient to navigate with the camera without always losing the object selection state
Added a checker background in the OpenGl-based custom UI edit mode
Added a new video compression library used by V-REP's video recorder, based on the FFmpeg library. Click here for related credits
The player version of V-REP has now been enabled to display the user settings dialog, and the layer selection dialog. Scripts can now also be edited from within the player version of V-REP
|V-REP V2.6.3 (April 10th 2012)|
Since this release, the concept of "simulator instances" has been abandonned for the concept of "scenes". Functionality basically stays same, but now matches the standard approach. An unlimited number of scenes can now be opened, also in the player version of V-REP
Tree elements in the scene hierarchy can now be drag-and-dropped onto other objects for convenient parent-child relationship building (similar to [Menu bar --> Edit --> Make last selected object parent] or [Menu bar --> Edit --> Make last selected object(s) orphan])
All scene hierarchy icons have been redesigned
All toolbar buttons have been redesigned
The scene hierarchy now also visualizes all opened scenes, and switching between scenes is achieved with a simple click
A new page selector was implemented, allowing to quickly visualize and select from all available pages of a given scene
A new scene selector was implemented, allowing to quickly visualize and select from all available opened scenes
The model browser has been reworked and now uses 24-bit colors for displaying model thumbnails
OpenGl-based custom UIs can now be saved and loaded separately, in a similar way as models are loaded /saved
Added 3 new API functions: simCloseScene, simLoadUI and simSaveUI
|V-REP V2.6.2 (March 18th 2012)|
First release that is also available on the Mac platform. The Mac release is however still a Beta release where several items are not yet fully supported.
Added an auto-save functionality. It can be turned on/off in the user settings dialog.
Fixed a bug in which V-REP would crash after an undo operation in certain conditions.
Color-coded objects in the dynamic content visualization mode.
Added a parameter to the user settings file (system/usrset.txt) that allows to adjust the GUI font size: guiFontSize_Win
Added a new integer parameter to detect the platform V-REP is running on: sim_intparam_platform
New model: "spring-damper.ttm"
New model: "motorbike.ttm"
|V-REP V2.6.1 (February 28th 2012)|
This release too underwent heavy internal changes in preparation for support of other platforms (Mac and Linux). Please inform us as soon as possible in case of unexpected behaviour with this release. Thanks!
All dialogs and user interfaces have been completely rewritten/redesigned/reorganized. They now all rely on the Qt framework
The application main loop (i.e. the default main client application) has been simplified and prepared for separate GUI thread functionality. The rendering of the scene is now handled internally. Following functions were added: simRunSimulator, simGetMainWindow, simLoadModule, simSendModuleMessage, simUnloadModule. Following functions were removed: simLaunchSimulator, simEndSimulator, simRenderScene, simHandleWindowMessages, simGetInstanceIndex, simGetVisibleInstanceIndex, simSwitchToInstance, simEmptyScene, simRegisterModuleName and simRegisterEventCallback.
Added following values: sim_message_eventcallback_guipass, sim_message_simulation_start_resume_request, sim_message_simulation_pause_request, sim_message_simulation_stop_request, sim_intparam_qt_version, sim_floatparam_rand. Following value is now also writable: sim_boolparam_console_visible
Adjusted/adapted all V-REP plugins: since this release, plugins should dynamically bind to the V-REP library. The task is simplified with two files distributed with V-REP: "v_repLib.h" and "v_repLib.cpp". This reduces compatibility problems linked to working with various compilers. Old plugins should be slightly modified: it is recommended to adjust old plugins in a similar way as was done for the "BubbleRob" plugin project, located in the "c_examples" directory of V-REP's installation directory. If you are having difficulties adjusting your plugin code, please contact us for assistance.
Fixed a bug linked to the click-and-select functionality.
Added several pre-configured simulation settings (e.g. physics engine settings or simulation time step settings). The user can conveniently modify them in the toolbar.
Added an option for turning dialogs semi-transparent when they loose focus.
Added a toolbar button to quickly visualize a scene's dynamic content (enabled during simulation only)
Added a plugin that allows to interface joysticks: v_repExtJoystick.dll. Like with almost all V-REP plugins, the source code can be requested if not already distributed with V-REP.
|V-REP V2.6.0 (January 27th 2012)|
This release too underwent heavy internal changes in preparation for support of other platforms (Mac and Linux). Please inform us as soon as possible in case of unexpected behaviour with this release. Thanks!
Improved the undo/redo functionality: undo points are now set 10-20 times faster as in previous releases, which greatly improves scene edition with large scenes.
The undo/redo functionality can now also be accessed via the ctrl-z and ctrl-y keys
Changed the splash screen and the about dialog
Since this release, it is not possible anymore to run several simulations in parallel (in different instances). This limitation greatly simplifies programming of plugins. Most old plugins should still be working, but some might need some simple adjustments. *Refer to the section below for quick instructions of modifications required.
simGetInstanceIndex, simGetVisibleInstanceIndex and simSwitchToInstance are declared deprecated and should not be used anymore.
Simplified and improved the plugin event messages
Removed following event callback messages: sim_message_object_added_or_removed, sim_message_object_selection_changed, sim_message_scene_loaded, sim_message_menu_item_selected, sim_message_eventcallback_objectscaled, sim_message_eventcallback_objectabouttobeerased, sim_message_eventcallback_objecterased and sim_message_eventcallback_objectcreated. The same functionality can be obtained with the improved sim_message_eventcallback_instancepass event callback message. This results in faster loading operation for large scenes, and simplifies programming of plugins. *Refer to the section below for quick instructions of modifications required.
Renamed rendering sensors. They are now called vision sensors, and all related API functions, API constants or references have been renamed. The old API functions and constants are kept operational for backward compatibility.
Renamed 2D elements. They are now called OpenGl-based custom UIs, and all related API functions, API constants or references have been renamed. The old API functions and constants are kept operational for backward compatibility.
Added an option to allow for local lights (i.e. lights activated only with flagged cameras). Refer to the light properties, the camera dialog and the vision sensor properties.
Added a new toolbar button to automatically adjust the main view to the scene, or selected objects
Added a new API function: simCameraFitToView (click here for a simulation that illustrates what kind of camera movement can be achieved with that function)
Added a new API function: simIsHandleValid.
Added following API functions: simPersistentDataWrite and simPersistentDataRead.
Added a new item in the object common properties ("ignored for view-fitting")
New model: "auto fitting camera.ttm"
Removed scene: "youBotDemo.ttt"
|V-REP V2.5.12 (December 6th 2011)|
*Most old plugins will not need any modification. It is however recommended to adjust the plugin's "v_repMessage" function in a similar way as was done for the "BubbleRob" plugin project, located in the "c_examples" directory of V-REP's installation directory. If you are having difficulties adjusting your plugin code, please contact us for assistance.
This is a bug fixing release. In version 2.5.10, when opening dialogs, V-REP could crash or freeze. This was fixed
|V-REP V2.5.11 (November 13th 2011)|
This release underwent heavy internal changes in preparation for support of other platforms (Mac and Linux). Please inform us as soon as possible in case of unexpected behaviour with this release. Thanks!
Removed the object common property visible. This option was a little bit confusing, and now objects can still be made invisible by moving them into a hidden layer
Removed the object common property wireframe
Added a wireframe option in the shape properties
Removed the shape tracing option in order to simplify the shape properties. Shape tracing can still be achieved with appropriate function calls (e.g. see the "tracer" model)
simResetTracing and simHandleTracing API functions were declared deprecated
The shape properties were further simplified by encapsulating the shape calculation structure parameters in a separate dialog
Added new object parameter IDs
Following API functions are now also available from the Lua side: simAddSceneCustomData, simGetSceneCustomData, simAddObjectCustomData and simGetObjectCustomData
New model: "laser pointer.ttm"
New model: "tracer.ttm"
New model: "custom data viewer.ttm"
New model: "reference frame.ttm"
New model: "Accelerometer.ttm"
New model: "GyroSensor.ttm"
|V-REP V2.5.10 (October 21st 2011)|
Added support for skyboxes
Added an option to hide all edges in a specific view (view popup menu)
Added an option to display thin or thick edges in a specific view (view popup menu)
Added an option to hide the information and status text when recording a movie
Added two entries in the configuration file ("usrset.txt") that allow to specify the desired resolution for a movie recording. ("movieRecordingResolutionX" and "movieRecordingResolutionY")
Added a light concrete texture to all floors
New model: "5mX5m metallic floor.ttm"
New model: "5mX5m concrete floor.ttm"
New model: "kinect.ttm" (there is already a kinect model for interfacing with the real device. This model is just a simulated device)
New model: "blue sky skybox.ttm"
New model: "felt pen.ttm"
New model: "ant hexapod.ttm"
|V-REP V2.5.9 (September 3rd 2011)|
Improved the simAddParticleObject function to also support linear and quadratic drag parameters
Added more arguments to the API functions simGetVisionSensorImage and simGetVisionSensorDepthBuffer
New API functions: simGetArrayParameter and simSetArrayParameter
New API functions: simSetIkGroupProperties and simSetIkElementProperties
Temporarily removed following commands to facilitate a move towards other platforms: simAttachCustomMenu, simRemoveCustomMenu, simCreateCustomToolbar, simSetCustomToolbarState, simRemoveCustomToolbar, simGetWindowMessage, simProcessWindowMessage
Removed the "SimpleCustomClientApplication" project files
Added more fog parameters
Added new int parameters: sim_intparam_infotext_style and sim_intparam_settings
Added new array parameters: sim_arrayparam_gravity, sim_arrayparam_fog, sim_arrayparam_fog_color, sim_arrayparam_background_color1, sim_arrayparam_background_color2 and sim_arrayparam_ambient_light
Added new Boolean parameters: sim_boolparam_display_enabled, sim_boolparam_infotext_visible, sim_boolparam_statustext_open and sim_boolparam_fog_enabled
Added new object parameter IDs
Added a new vision sensor filter component: blob detection
New joints added to the scene are in Force/torque mode by default since this release
Added two entries in the configuration file ("usrset.txt") that allows to correct display problems with specific graphic cards / systems: "renderingSurfaceVShift" and "renderingSurfaceVResize"
New scene: "blobDetectionWithPickAndPlace.ttt"
New scene: "youBotAndHanoiTower.ttt
New model: "fast simulation mode.ttm"
New model: "water surface.ttm"
New model: "ABB IRB 360.ttm"
New model: "Blob detection camera.ttm"
Removed scene: "camFollower.ttt"
Removed scene: "deltaFKDecomposed.ttt"
Removed scene: "lineTracer-nonThreaded.ttt"
Removed scene: "parallelManipulator1.ttt"
Removed scene: "parallelManipulator2.ttt"
Removed scene: "pickAndPlace.ttt"
Removed scene: "mobileRobotDr20.ttt"
Removed scene: "transmission.ttt"
|V-REP V2.5.8 (July 20th 2011)|
Since this release, models do not required to have a dummy object as base object anymore (any object can be "model base" now). This tremendously improves the way models can be combined, with much less effort (e.g. just select a gripper, then a robot, and click [Menu bar --> Edit --> Make Last Selected Object Parent]: the resulting model is fully operational)
Reworked almost all models to take advantage of the improved model combination possibility (see here above)
Reworked, actualized and improved the "robot language interpreter integration" tutorial
Added an application and project files that allow retrieving data from the kinect device ('kinectServer')
New tutorial: "External controller tutorial"
New scene: "robotLanguageControl.ttt"
Removed model: "MTA robot.ttm"
New model: "MTB robot.ttm"
New model: "suction pad.ttm"
New model: "lumibot.ttm"
New model: "Standing Bill.ttm"
New model: "kinect.ttm"
|V-REP V2.5.7 (June 25th 2011)|
Extended the functionality of the functions related to signals. Signals can now be local (to a given simulator instance) or global
Textures can now also be applied using texture coordinate information loaded during an import operation
Added a new integer parameter: sim_intparam_visible_layers
Added a new boolean parameter: sim_boolparam_shape_textures_are_visible
New scene: "controlTypeExamples.ttt"
Bug correction (crash with spherical joints, and joints involved in loop closure with the ODE engine)
|V-REP V2.5.6 (June 14th 2011)|
New API commands to build transformation interpolations: simGetRotationAxis and simRotateAroundAxis
|V-REP V2.5.5 (June 3rd 2011)|
New API command to launch executables: simLaunchExecutable
New API command to read the force/torque along/about a joint's z-axis: simJointGetForce
New model: "signal monitor.ttm"
When simulation stops, then the initial parenting will try to be restored
Added a new drawing object property: sim_drawing_itemtransparency
Added a new integer parameter: sim_intparam_dynamic_engine
Added a new recordable data stream for graphs: "Joints: force or torque"
Number of active lights not limited to 8 anymore (provided that the GPU also supports more than 8 lights)
Folders now also appear and are clickable in the lower part of the model browser window
Completely reworked user manual, running in web-browser now. Fixed all broken links.
New V-REP plugin "v_repExtWii.dll" that exports 4 new commands to interact with a wiimote device: simExtWiiStart, simExtWiiEnd, simExtWiiSet and simExtWiiGet
Multiple simultaneous script edition is now suppored
New API command to apply non-central forces: simAddForce
New API command to temporarily forbid thread switches: simSetThreadAutomaticSwitch
2 API commands were removed: simGetInEditionScript and simCloseEditionScript
New data stream type: simulation pass execution time
Switched to the most recent Bullet engine V2.78beta (rev2338)
New model: "Working Bill.ttm"
Several new models of panes for industrial manufacturing cells
New model: "5mX5m wooden floor.ttm"
New model: "Sitting Bill.ttm"
Removed scene "hovercraft.ttt"
Removed scene "trackedRobots.ttt"
New scene: "inverseKinematicsOf144DoFManipulator.ttt"
|V-REP V2.5.4 (April 22nd 2011)|
Extended the functionality of the simSerialPortRead Lua function
Extended the functionality of the simUnpackInts and simUnpackFloats functions
Extended the functionality of the simAdjustView function
New API commands for even more inter-thread synchronization control: simSetThreadResumeLocation and simResumeThreads
New API command to control the show state of an auxiliary console window: simAuxiliaryConsoleShow
|V-REP V2.5.3 (March 20th 2011)|
New API commands to set and retrieve various values linked to objects (will be extended on a regular basis): simGetObjectInt32Parameter, simSetObjectInt32Parameter, simGetObjectFloatParameter, simSetObjectFloatParameter, simGetObjectStringParameter and simSetObjectStringParameter
New API command to adjust the number of displayed frames during simulation: simSetSimulationPassesPerRenderingPass
New V-REP plugin "v_repExtCam.dll" (using "escape.dll") that exports 4 new commands to acquire webcam images: simExtCamStart, simExtCamEnd, simExtCamInfo and simExtCamGrab
New model: "plugin enumerator.ttm"
New model: "Mesa SR4000.ttm"
New model: "Snake.ttm"
New model: "Walking Bill.ttm"
New model: "wiimote.ttm" (the associated required plugin will be shipped in next release)
New model: "Barrett Hand.ttm"
New model: "K-Junior.ttm"
New model: "webcam.ttm"
Corrected a bug where simHandleModule would generate an additional unexpected event (sim_message_eventcallback_modulehandle)
Model names in the model browser are now displayed on 2 lines if required
New models: conveyor belt models were added that perform more efficiently
Updated the conveyor belt tutorial with an alternative modeling method that performs more efficiently
Removed scene "mapBuilding.ttt"
New scene "environmentMapping.ttt"
New scene "BarrettHandPickAndPlace.ttt"
Added a mechanism to adjust the Bullet collision margin overall, or on an object-basis
Heightfields are now supported and can be imported from *.tga, *.csv or *.txt files
New API command to create heightfields: simCreateHeightfieldShape
New API commands to handle views and floating views: simFloatingViewAdd, simFloatingViewRemove and simAdjustView
New API command to register contact callbacks for custom handling of contacts: simRegisterContactCallback
New model: 10m x 10m terrain.ttm
Updated the quadricopter model by adding a floor and a front camera
Updated the helicopter model by adding a front camera
|V-REP V2.5.2 (February 22nd 2011)|
Corrected bug in API function simGetObjectOrientation (when relativeTo argument was not -1, results were wrong)
New model: ABB IRB 140.ttm
New model: Omnidirectional Platform.ttm
New model: 1.0 x 0.2 conveyor.ttm
New model: Quadricopter.ttm
New model: helicopter.ttm
Extended the functionality of following 2 API functions: simGetScriptSimulationParameter & simSetScriptSimulationParameter (a parameter can now be a string containing any byte value)
Changed the default value of last argument of API function simMoveToJointPositions. Default is now 1.
New tutorial "Conveyor belt/caterpillar"
Corrected a bug in the propeller.ttm and Air jet.ttm models
|V-REP V2.5.1 (February 10th 2011)|
New API commands to import/export meshes: simImportMesh and simExportMesh
New API commands to create shapes and to extract the mesh of a shape: simCreateMeshShape, simCreatePureShape and simGetShapeMesh
New API command to create joints: simCreateJoint
API commands simGetShapeVertex and simGetShapeTriangle are declared deprecated
New event callback messages: sim_message_eventcallback_renderingpass and sim_message_eventcallback_modulehandleinsensingpart
Scene hierarchy now always contains a double-clickable "World" object. This replaces the environment toolbar button which was removed
New API constant: sim_boolparam_scene_and_model_load_messages
New API constants: sim_message_eventcallback_bannerclicked & sim_message_bannerclicked
New API constants for banner support
New API commands to create banners: simAddBanner and simRemoveBanner
New model: object locator.ttm
Updated the default main client application vrep.exe, and the example main client application project
Extended the lifetime of license keys (key version x.y.z now works for all V-REP versions up to x.y+1.z-1)
|V-REP V2.5.0 (January 16th 2011)|
New API command to implement non-blocking thread sections for external commands: simSetThreadIsFree
New API commands similar to bidirectional communication pipes: simTubeOpen, simTubeClose, simTubeRead, simTubeWrite, simTubeStatus
New API command to set the maximum force/torque a joint can exert: simSetJointForce
New API commands to create and handle auxiliary console windows: simAuxiliaryConsoleOpen, simAuxiliaryConsolePrint, simAuxiliaryConsoleClose
The Lua extension library LuaSocket is included in the distribution
Corrected a small bug that would affect the icons appearance on some graphic cards
New scene: socketAndTubeCommunicationExample.ttt
|V-REP V2.4.15 (December 20th 2010)|
Removed an OpenGL instruction that caused opengl driver crashes on some graphic cards (including VMWare's openGL driver "vmwogl32.dll")
|V-REP V2.4.14 (December 11th 2010)|
Warning message appears now when a scene was not saved (when leaving or discarding a scene)
Improved and corrected the BubbleRob tutorial
Corrected a small bug that appeared with joints in hybrid dependent mode
New dongle drivers
New API commands to handle particles: simAddParticleObject, simRemoveParticleObject and simAddParticleObjectItem
New API commands for serial port communication: simSerialPortOpen, simSerialPortClose, simSerialPortSend and simSerialPortRead
New API command to retrieve information on contacts: simGetContactInfo
New model: contact display.ttm
New model: AirJet.ttm
New model: Propeller.ttm
New model: Fire.ttm
New model: smoke.ttm
New model: Wheel.ttm
New model: Caster wheel.ttm
New model: Omniwheel 45deg A.ttm
New model: Omniwheel 45deg B.ttm
New model: Hokuyo URG 04LX UG01.ttm
New scene: hovercraft.ttt
|V-REP V2.4.13 (December 8th 2010)|
Corrected a small bug in the simMoveToJointPositions API command applied to joints in force/torque mode
New API commands: simSetShapeColor, simResetDynamicObject and simSetJointMode
New model: YouBot.ttm
New model: e-puck.ttm
New scene: youBotDemo.ttt
New scene: e-puckDemo.ttt
|V-REP V2.4.12 (October 30th 2010)|
Dual physics engine support: next to the Bullet physics library, the Open Dynamics Engine (ODE) is now also supported
New model: Asti.ttm
New Model: Robbie.ttm
All models and scenes have been checked/adjusted for dual physics engine support
New scene: ImageProcessingExample.ttt
|V-REP V2.4.11 (October 13th 2010)|
Minor bug fixes
New API commands: simSetObjectSpecialProperty and simGetObjectSpecialProperty
Model visibility can now also be overridden
New option "ignored during path planning" for the "collidable" and "measurable" property
Improved path edition capabilities
Bug fix in the path planning module
New model: path following human
New model: path planning and following human
Edge following is enabled by default in the edge edit mode
New demo scene: Katana robot with twisted cable simulation
New demo scene: ABB Fanta can challenge
New demo scene: practical path planning
New API commands: simSetExplicitHandling and simGetExplicitHandling
New camera fly mode
Improved object manipulation and snapping to grid
Automatic rendering order calculation for translucid shapes
New OpenGl-based custom UI option: "display only when associated object is selected"
New edit menu item: "Replace selected objects with a copy of last selected object"
New model browser window with drag-and-drop functionality
New models organized in a model library
New option for proximity sensors: Occlusion check
New option for ray-type proximity sensors: randomized detection
Option to override specific properties for whole models
New API commands: simSetModelProperty and simGetModelProperty
New API command: simGetStringParameter
Option to create pure shapes with selected triangles in the triangle edit mode
Improved demo scene: Welding robot with flexible cable simulation
New tutorial: Inverse kinematics
New tutorial: Importing and preparing rigid bodies
New tutorial: Hexapod
New tutorial: Robot language interpreter integration
Various minor bug fixes
New demo scene: Roller-Walker.ttt
Improved simSendData and simReceiveData commands
New API command: simGetVelocity
New API command: simAddForceAndTorque
New demo scene: ACM_R5H.ttt
New demo scene: Hexapod.ttt
Bug correction in simGetPosition, simSetPosition, simGetOrientation and simSetOrientation commands
Antialiasing option for edges. Disabled by default
Various minor bug fixes
Texture support for shapes and OpenGl-based custom UIs. Textures can be static or dynamic
First public release in March 2010