V-REP Pro Changelog

What's new in V-REP Pro 3.6.2

Jun 26, 2019
  • Fixed several bugs. Thanks to Jacob Smith, Mohsen Moradi Dalvand, Simon Birrell, Mathias Thor, Jedrzej Orbik and Liu Dong for noticing them or helping to resolve them.
  • PyRep, built on top of V-REP and courtesy of Stephen James (Imperial College London), is a Python toolkit for robot learning research. Compared to the remote client approach, it displays great speed improvements since remote procedure calls or synchronization are not required. This makes PyRep the perfect solution for learning algorithms in the areas of reinforcement learning, imitation learning, state estimation, mapping, and computer vision.
  • V-REP now also offers shadows support with vision sensors, when rendering via the OpenGL3 renderer plugin, courtesy of Stephen James (Imperial College London). See also the updated rendererDemo.ttt scene.
  • The sandbox script is now loaded from system/sndbxscpt.txt at start-up, and can contain similar callback functions as add-on scripts.
  • The BØ-based remote API now also allows to discontinue publishers and subscribers, without the need of restarting the client: simxRemovePublisher and simxRemoveSubscriber.
  • Named command-line arguments are now supported via the -G option. Those can be queried (e.g. by plugins) via simGetStringNamedParam.

New in V-REP Pro 3.6.1 Rev 0 (Mar 15, 2019)

  • Fixed several bugs. Thanks to Julian Mayer and Boris Bogaerts for noticing them or helping to resolve them.
  • Switched to Qt5.12.1 on all 3 platforms
  • Added API function simApplyTexture.
  • The shape import/export functionality is now handled by a V-REP Plugin (v_repExtAssimp), based on the Assimp library. See here for the new API functions.

New in V-REP Pro 3.6.0 Rev 0 (Feb 18, 2019)

  • Fixed several bugs. Thanks to Leon Masopust, Michael Tong, Zhengxing Yang, Lenka Pitonakova, Thomas Gurriet, Hervé Frezza-Buet, Justus Rijke, Stefan Müller, Julien Lechalupe, Tristan Gahler, Robert Peck, William Jones, Benjamin Erdemann and Ulrich Viereck for noticing them or helping to resolve them.
  • Script execution/calling order has been adjusted, for a more consistent and overall logical behaviour. This may have an impact on how a simulation runs in certain situations. The user can revert to previous behaviour by replacing sim.handleChildScripts, sim.launchThreadedChildScripts and sim.resumeThreads in the main script with sim.handleChildScripts_legacy, sim.launchThreadedChildScripts_legacy and sim.resumeThreads_legacy. A better alternative would be to adjust the Tree traversal parameter for scripts that require it.
  • Dynamics callback functions have been implemented and are supported in non-threaded child scripts and customization scripts.
  • Added a system callback function for customization scripts and add-on scripts that allows, during simulation, to control the execution of the main script: sysCall_beforeMainScript. This is useful to easily implement step-by-step simulation, or to easily synchronize the simulation with an external application.
  • Added a simple script debug functionality that allows to monitor function calls and watching variables.
  • The Lua commander now has dynamic variable completion, history, explicitely prints any variable, etc. Type help() for details.
  • Added following API functions: sim.setDebugWatchList, sim.getUserVariables and sim.getPersistentDataTags.
  • The Open Mesh plugin for V-REP now uses the latest OpenMesh library (V6.3) on all 3 platforms
  • A new version of the remote API is available: the BØ-based remote API. It is easier, more intuitive to use and much easier to extend than the legacy remote API. For a quick test, use the demo scene B0-basedRemoteApiDemo.ttt and one of the simpleTest B0-remote API clients located in programming/b0RemoteApiBindings/
  • Added a MessagePack module for Lua: lua-MessagePack, courtesy of Francois Perrad.
  • Added a MessagePack encoder/decoder for C/C++: msgpack-c, courtesy of Takatoshi Kondo and several others.
  • Added a MessagePack encoder/decoder for Matlab: matlab-msgpack, courtesy of Bastian Bechtold.
  • Added a MessagePack encoder/decoder for Java: msgpack-java, courtesy of Sadayuki Furuhashi and several others.
  • Added a CBOR encoder/decoder for Lua: Lua-CBOR, courtesy of Kim Alvefur.
  • Added an add-on script that acts as the server-side of the BØ-based remote API: vrepAddOnScript-b0RemoteApiServer.lua
  • Added a model that acts as the server-side of the BØ-based remote API: models/tools/b0RemoteApiServer.ttm
  • Added sim.getRandom, math.random2 and math.randomseed2 in order to provide individual random number generators for each script (math.random and math.randomseed share the same generator, independent of which script is calling)
  • The script editor functionality is now provided via a plugin: v_repExtCodeEditor. It allows to easily search/replace, do/undo, jump to specific functions, restart a script, offers non-modal customization script edition, etc. Code included via the require directive can automatically be opened and modified via the popup menu. You can temporarily revert to the old script editor functionality by adjusting variable useOldCodeEditor in file system/usrset.txt.
  • Added sim.textEditorOpen, sim.textEditorClose, sim.textEditorShow and sim.textEditorGetInfo
  • A VR interface for V-REP was developed by Boris Bogaerts. It can visualize any V-REP scene in steamVR (openVR) compatible VR devices and return user manipulations to V-REP. Installer files are available here (no compilation required, windows only). Instructions on how to use the interface are provided here.
  • A ROS-enabled e-puck, courtesy of Andrei Florea and Catalin Buiu, was added to the model library. More details can be found here.

New in V-REP Pro 3.5.0 Rev 1 (Feb 7, 2018)

  • Fixed several bugs. Thanks to Steffen Hemer, Fangyi Zhang, virgile Daugé, Riccardo Spica, Filipe Rocha, Jacob Huesman, Matthew Veres, Robert Lang and Florian Golemo for noticing them or helping to resolve them.
  • Switched to Qt 5.9.0 LTS on all platforms.
  • Added an interface plugin to the BlueZero middleware. BlueZero (or BØ) is a cross-platform middleware which provides tools for interconnecting pieces of software running in multiple threads, multiple processes and even multiple machines.
  • From within a script, print() now prints to the status bar, instead of the console. This can be reverted with print=printToConsole. printf() is now also supported. Both, print and printf will now also print the content of tables.
  • Added a Lua commander plugin (read-eval-print loop), that adds a text input to the V-REP status bar, which allows entering and executing Lua code on the fly, like in a terminal. The code can be run in a sandbox script, or any other active script in V-REP
  • Moved all the source code items related to V-REP to github.
  • Switched to a cleaner API notation for Lua scripts: V-REP function names have moved to the sim. namespace (e.g. simGetObjectHandle is now sim.getObjectHandle), plugin function names have moved to specific namespaces (e.g. simExtOMPL_createStateSpace is now simOMPL.createStateSpace). The old API functions remain functional for backward compatibility. Known API functions in embedded scripts are automatically adjusted for that notation change. This makes scenes and models saved with this V-REP version not compatible with older V-REP versions, so make sure to backup your scenes and models. This automatic API function adjustment can be disabled, with changeScriptCodeForNewApiNotation in file system/usrset.txt.
  • Switched to a cleaner way of calling script code, by using predefined functions (e.g. sysCall_init, sysCall_actuation, etc. Check out this example). Scripts should now contain nothing else than functions anymore. The old way of calling scripts is however still supported for the sake of backward compatibility (but make sure not to mix both methods).
  • New joint callback functions have been implemented and are supported in non-threaded child scripts and customization scripts. The old joint control callback script functionality should not be used anymore and is not accessible anymore via the GUI, but is still operational (you can temporarily make it accessible again via enableOldJointCallbackScriptEdition in system/usrset.txt)
  • A new contact callback function has been implemented and is supported in non-threaded child scripts and customization script. The old contact callback script functionality should not be used anymore and is not accessible anymore via the GUI, but is still operational (you can temporarily make it accessible again via enableOldCustomContactHandlingEdition in system/usrset.txt)
  • New widgets and API functions were added to the custom UI.
  • Updated the content of v-repNotepad++.zip, which contains all V-REP-related calltips and syntax highlighting keywords for Notepad++.
  • Each scene object now also has a unique alternative name, which can be used for custom application, and which doesn't interfere with V-REP's object handle retrieval for associated code: sim.getObjectName, sim.setObjectName and sim.getObjectHandle can now be used with sim.handleflag_altname.
  • Added sim.getShapeViz, that allows to retrieve a shape's mesh and texture information
  • Added a tool that allows to step through a simulation by triggering each individual simulation step. Can also be used in replacement of the remote API or ROS synchronous mode. The tool is located in Models/tools/simulation stepper tool.ttm.
  • Added a vision sensor model that extracts 3D positions from blob detections: Models/components/sensors/Blob to 3D position.ttm.
  • Added a plugin that wraps the LibICP (Library for Iterative Closest Point Matching, by Andreas Geiger)
  • Added a plugin that wraps the OpenCV library, offering basic image processing and drawing functionality
  • Broke compatibility of the OMPL API functions: most functions do not return any value anymore (but might trigger exceptions), others return slightly different values, namely: simOMPL.compute, simOMPL.solve, simOMPL.getData, simOMPL.getPath and simOMPL.readState.
  • Broke compatibility of the simExtSurfaceReconstruction_reconstruct API function, which was replaced with simSurfRec.reconstruct_scale_space.
  • Added support for shared memory communication in the remote API. The code is courtesy of Benjamin Navarro. By specifying a negative port number, shared memory will be used instead of socket communication.
  • Added following API functions: sim.executeScriptString, sim.getApiFunc, sim.getApiInfo, sim.setModuleInfo and sim.getModuleInfo.
  • A Lanelet plugin for V-REP was developed by Cándido Otero, available here.
  • Modern Robotics: Mechanics, Planning, and Control, a new textbook by Prof. Kevin M. Lynch and Prof. Frank C. Park is available for free download here, and also available for purchase as hardback copy. Several V-REP examples and scenes are available here.

New in V-REP Pro 3.3.2 (Aug 30, 2016)

  • 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 and 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.

New in V-REP Pro 3.3.1 (May 18, 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.

New in V-REP Pro 3.3.0 (Feb 19, 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 ROS interface, 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.
  • Added two API functions that allow to directly modify script variables from a plugin, or from the main client application: simAppendScriptArrayEntry and simClearScriptVariable.
  • 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 at https://github.com/ahundt/grl. Installation instructions for Linux / OSX are available at https://github.com/ahundt/homebrew-robotics.

New in V-REP Pro 3.2.3 (Dec 9, 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 iaFixed 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: simCallScriptFunction.s 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.

New in V-REP Pro 3.2.2 (Dec 9, 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.

New in V-REP Pro 3.2.1 (May 21, 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.