Webots 2018 change log

Webots change log

Webots R2018a revision 2

Released on April 18th, 2018
  • Enhancements
    • Added warning if a Solid or Joint node defined in a PROTO field is used multiple times inside the PROTO definition.
    • Tutorials: Simplified speed ratio (thanks to Amrit).
    • Enabled un-indentation of lines in the Text Editor using Shift + Tab.
  • Bug fix
    • Fixed the Hoap-2 walk and sumo simulations.
    • Fixed handling of nested nodes with the same DEF name at load.
    • Fixed wrong WbNodeRef returned by the 'wb_supervisor_node_get_from_def' function after procedural PROTO regeneration.
    • Fixed check for new Webots versions broken for revision releases since R2018a.
    • Fixed duplicated warning displayed when clearing the DEF name of a node with one or more linked USE instances.
    • Fixed restoring rendering device external window status on revert or at world load.
      If your world have Solid.name values containing the ';' character, the rendering device perspective could be wrongly loaded.
    • Fixed crash with models containing SolidReference nodes that could occur at load or when selecting them.
    • Fixed index handling when importing and inserting MF field values using the Supervisor API.
    • Fixed issue while starting Matlab controllers introduced in R2018 revision 1.
    • Fixed crash when drawing with alpha on a Display device on which a jpg image was previously pasted.
    • Fixed various procedural PROTO nodes supposedly random that were generating the exact same node.
    • Fixed keyboard navigation issues for the "Add Node" and "Open Sample World" dialogs.
    • Enabled pasting nodes just after the Viewpoint node.

Webots R2018a revision 1

Released on March 22nd, 2018
  • New Features
    • Transformed several robots into PROTO nodes: BIOLOID Dog, Parallax's BoeBot, EPFL BioRob's Salamander, Yamor and GhostDog, K-Team's Hemisson, Khepera I and II and Koala, KONDO's KHR-3HV, micromagic's Mantis, Mindstorms' Rover, Adept's Pioneer 2, Unimation's PUMA 560, Sony's QRIO, Bluebotics' Shrimp, NASA's Sojourner and Surveyor SRV-1.
    • Added an e-puck2 model (enabled with the E-puck.version field) and support for remote-control via Bluetooth.
    • Added a model of the MultiSense S21 range sensor based on a stereoscopic camera.
    • Added a model of the Sick LD-MRS lidar.
    • Added a simple controller for micromagic's Mantis robot.
  • Enhancements
    • Viewpoint animation keyboard shortcuts now require the ALT modifier to free up the numpad for controlling robots using the numpad.
    • Users without numpads on their machines can use the regular number keys (along with the ALT modifier) to move the viewpoint.
    • Moved BioRob GhostDog, Salamander, Yamor, LIS Blimp, NASA Sojourner and Sony QRIO from the "samples/demos" to the "robots" directory.
    • Moved "spinning_top.wbt" to the "samples/howto" directory.
    • Added a keyboard shortcut for taking simulation screenshots in full-screen mode.
    • Merged base graphical geometries examples into "geometric_primitives.wbt" and "polygons.wbt" in the "samples/geometries" directory.
    • Added an example of a Supervisor that draws a 3D green tail behind an e-puck robot (cf. "supervisor_draw_trail.wbt" in the "samples/howto" directory).
    • Added an example custom HTML robot window (cf. "custom_html_robot_window.wbt" in the "samples/howto" directory).
    • Improved materials and lighting in "inverted_pendulum.wbt" in the "samples/howto" directory.
    • Improved robot icons.
    • Removed redundant "khepera3_custom.wbt" sample.
    • Renamed several robot 'name' fields: 'atlas' into 'Atlas', 'elisa3' into 'Elisa-3', 'ers7' into'ERS-7', 'hoap2' into 'HOAP-2', 'IPR1' into 'IPR', 'iRobot Wall' into 'iRobot wall', 'khepera3' into 'Khepera III', 'khepera4' into 'Khepera IV', 'khr2-hv' into 'KHR-2HV', 'pioneer3at' into 'Pioneer 3-AT', 'pioneer 3dx' into 'Pioneer 3-DX', 'pr2' into 'PR2' and 'youbot' into 'youBot'.
    • e-puck: Added a progress bar in the HTML window to monitor the firmware upload.
    • Added a search box in the Add Node dialog.
  • Bug fix
    • Fixed re-opening rendering device overlays for robot nodes defined in a PROTO body: in the Robot menu all the devices of the descendant robot nodes are now also available.
    • Generic HTML window: support devices names containing ',' or ':' characters.
    • Fixed display of consecutive spaces in the node description of the Add Node dialog.
    • Fixed crash when pasting a geometry node in the children field of a boundingObject Transform node.
    • Fixed crash when deleting a node contained in a SFNode in a simulation using a Supervisor.
    • Fixed crash when removing the selected node with the 'wb_supervisor_node_remove' function.
    • Fixed non-deterministic order in which controller printouts were displayed in the Webots console.
    • Windows: Fixed printing of UTF-8 strings on stdout/stderr for Python controllers.
    • Fixed memory initialization for rendering devices (Camera, Lidar and RangeFinder). wb_camera_get_image() returns NULL when called between wb_device_enable() and wb_robot_step().
    • Fixed memory re-initialization for rendering devices (Camera, Lidar and RangeFinder) after restarting or changing the controller.
    • Fixed HTML robot window re-initialization after restarting or changing the controller.
    • Fixed Roundabout and Cabinet PROTO models defining the same field multiple times.
    • Fixed crash when loading a world containing a PROTO instance with duplicated hidden field definition.
    • Fixed font family and font size of the console to match the one used in the text editor, possibly modified from the Webots preferences.
    • Fixed color of stderr printouts to red in the Webots console (thanks to Matt).
    • Fixed controller crash when deleting and inserting devices at time step 0.
    • Fixed the customization of syntax highlighting colors for the text editor from the WEBOTS_HOME/resources/stylesheet.qss file (thanks to Xiang).
    • Fixed getting Lidar, Radar, and RangeFinder devices using the Robot.getDeviceByIndex in Java and Python APIs.
    • Fixed wrong behavior when a Supervisor field setter function is called twice with the same field in the same step (thanks to Chansol and Matt).
    • Fixed wrong initial force applied to joystick force feedback when a resistance gain is set using 'wb_joystick_set_resistance_gain'.
    • Fixed crash when a Supervisor was removing or regenerating a Robot node.
    • Fixed ContactProperties.softERP field not taken into account (thanks to Chansol).
    • Fixed wrong velocity displayed in the Velocity tab of the Field Editor panel and returned by 'wb_supervisor_node_get_velocity' in case of non-top solid node.
    • Fixed buffering of stdout with Python 3 controllers on Linux and macOS.
    • Fixed an issue causing numerical errors for viewpoint animations.
    • Fixed issues with polygon triangulation that caused some meshes not to be loadable.
    • Fixed odometry computation in the 'e-puck' controller.
    • Fixed default road width of the SUMO exporter (thanks to Nelson).
    • Fixed crash when closing the login dialog.
    • Fixed random number generator used in Lua PROTO nodes so that PROTO nodes behave the same across different plaforms.
    • Improved detection of invalid IndexedLineSet nodes.
    • Fixed drag handles which were sometimes invisible on some PROTO nodes.
  • Cleanup
    • Removed the ROS 'joystick' world and controller.
  • Documentation
  • Upgrade
    • Windows: upgraded to Qt 5.10.1.

Webots R2018a

Released on December 20th, 2017
  • New Features
    • Replaced legacy generic Qt robot windows with an HTML5-based system.The legacy generic Qt robot window is deprecated.
    • Added Python 3.6 in addition to Python 2.7 for programming robot controllers (Python 3.5 in also supported on Ubuntu 16.04 and Python 3.4 on Ubuntu 14.04). The Python version can be selected simply by prepending its path to the system PATH environment variable or by setting a new Python command in the Webots Preferences.
    • Added ability to move viewpoint to sit on any of the six world axes, looking at the currently selected object.
      • The numpad digit keys are now exclusively used for moving the viewpoint and cannot be used in controllers.
    • All automated Viewpoint movement is now smoothly animated.
    • Added possibility to record movies in slow motion: acceleration values less than 1 are now supported.
    • Added export of Track texture animation in HTML5 animations and streaming.
    • Added X3D export parameters to better tune shadows and rendering options when exporting HTML5 models or recording animations.
    • Added update of Material 'diffuseColor' field in HTML5 animations and streaming.
    • Added possibility to set the width of lines in the 3D scene from the preferences dialog.
    • Added the PlatformCart PROTO model.
    • Added a fully controllable Truck PROTO with two different trailers.
    • Added a TruckSimple PROTO with the corresponding trailers (fully supported in SUMO).
    • Added a Bench, a PublicBin, a TrashBin and an EmergencyPhone PROTO in the "street furniture" folder.
    • Added a CrashBarrier PROTO.
    • Added a DivergentIndicator PROTO.
    • Added a new automobile world called 'highway_overtake' which represents an overtaking scenario on a highway.
    • Added customizable ScooterSimple and MotorbikeSimple PROTO along with their drivers (supported in SUMO).
    • Added a 'wb_joystick_get_model' function to the Joystick API to retrieve the model of the joystick connected to the controller.
  • Enhancements
    • Moved the controller jar and jni libraries into the WEBOTS_HOME/lib/java folder.
    • Solid.name
      • The Solid.name value has now to be unique between the sibling Solid nodes.
      • The Solid.name value can now contain the ':' character but cannot be empty.
    • Updated version of WBPROJ files: nodes are identified by the stable unique name instead of unique ids.
    • Improved Viewpoint.follow expected value: a unique name including parent Solid.name values is used.
    • USE nodes can no longer be used for Material or PointLight nodes descending from the first child of a LED or Charger node.
    • Updated 'webots_version' dictionary of procedural PROTO nodes: it now contains only 'major' and 'revision'. 'minor' and 'maintenance' values have been removed.
    • Replace wb_distance_sensor_get_[min|max]_range() functions (metrics units) by wb_distance_sensor_get_[min|max]_value() functions (lookupTable response values).
    • Track texture animation: TextureTransform has now to be explicitly defined.
    • Reorganized the 'projects' directory for a clearer file hierarchy. The path to some libraries may have changed and need to be updated in your Makefile.
    • Improved management of floating-point number precision: for legibility, GUI values are displayed with a reduced precision. Values saved in .wbt files now have an absolute precision.
    • Set descriptive Solid.name value for PROTO models in the Webots library.
    • Robot.data
      • Renamed Robot.data to Robot.customData to emphasize the custom nature of the field.
      • Added new API functions wb_robot_get_custom_data and wb_robot_set_custom_data.
      • Robot.data, wb_robot_get_data and wb_robot_set_data are now deprecated.
    • Increased default value for Cylinder.subdivision field from 12 to 36.
    • Added support of the 'Follow Object' in HTML5 animations.
    • Added the field type 'unconnectedField' in order to declare a PROTO field without needing an 'IS' binding.
    • Improved the Fence PROTO, the shape of the poles and horizontal bars can now be defined.
    • Added new fields to the road PROTO nodes which can be used to add crash barriers along the road borders.
    • Added a 'state' field to the 'GenericTrafficLight' PROTO which indicates the current traffic light state.
    • Added a 'groundTexture' field to the forest PROTO which indicates if the forest ground should be displayed or not.
    • Added possibility to enable anti-aliasing for virtual reality headsets on Windows.
    • Added pedestrian crossings importation from OpenStreetMap.
    • Added blinker sound simulation in the automobile libraries.
    • Improved OpenStreetMap buildings importation and added color field in building PROTO.
    • Added three new fields to the SumoInterface PROTO called 'maximumLateralSpeed', 'maximumAngularSpeed' and 'laneChangeDelay'.
    • Renamed the 'enableWheelsRoattion' and 'maxVehicules' fields of the SumoInterface PROTO into 'enableWheelsRotation' and 'maxVehicles'.
    • Removed duplicated soccer_demo simulation from the distributed "samples/howto" directory. The other simulation ("samples/demos/worlds/soccer.wbt") remains.
    • Added "Restore Viewpoint" and "Move Viewpoint to Object" features to simulation toolbar, and added/improved keyboard shortcuts.
    • Improved apply force and torque from the 3D scene functionalities so that they can be modified/removed when simulation is paused.
    • Improved web animation and streaming to use the WorldInfo.FPS field to compute the scene refresh rate.
    • Optimized save of large MF fields in world files.
    • Renamed 'automobile' folder into 'vehicles':
      • Renamed the 'automobile' library into 'vehicle' and simplified its usage.
      • The references to the automobile library should be fixed in the C, C++, Python and Java controllers (include, import, Makefile, runtime.ini).
      • The OSM importer and SUMO exporter tools have been moved to the 'resources/osm_importer' and 'resources/sumo_exporter' folders.
      • The SUMO interface and PROTO have been moved to `projects/default` and can now be used in any project.
      • Renamed the 'AutomobileWheel' and 'AutomobileLights' PROTO files into 'VehicleWheel' and 'VehicleLights'.
    • Add visible sensor LED for the first IPR robot in 'ipr_factory'.
    • Disabled take screenshot functionality while recording a movie.
    • Improved error messages printed in the console when setting a directory URL in a field expecting a file.
    • Enabled on-the-plane and vertical dragging for solids in Group and Transform nodes, in addition to top-level Solid/Robot nodes.
    • Improved forward playing speed of HTML5 animations.
    • Added a Car.maxSteeringTorque field to define the maximum torque applied on the y-axis of the front wheels.
  • Bug fix
    • Windows: fixed occasional buggy UTF-8 characters appearing in the Webots console.
    • Fixed printing of several consecutive spaces in the Webots console that were reduced to a single space.
    • Linux: fixed simulation freezing after taking a screenshot.
    • Fixed copying or saving a joint node located in a PROTO field.
    • Fixed loading worlds containing multiple devices of the same type in the Joint or Track 'device' and 'device2' fields: a warning is printed in the console and the node is skipped.
    • Fixed object oriented controller APIs that were returning an invalid device when passing a mismatching but existing device name.
    • Fixed partial insertion of invalid USE nodes: if invalid they are not inserted at all.
    • Fixed check of USE nodes in PROTO files.
    • Fixed check of invalid USE nodes whose definition contains a Slot node with a Solid descendant node.
    • Fixed errors with the Extrusion PROTO when the spine is along the Z axis.
    • Fixed crash when calling the 'wb_speaker_play_sound' function with a sound file whose format is not supported.
    • Linux: fixed display of device name's underscores in the Robot menu.
    • Fixed 'Follow Object' not working correctly when used on a non top Solid.
    • Fixed reproducibility issue in simulations running several supervisor processes with concurrent field get and field set operations.
    • Fixed AckermanVehicle.trackFront field.
    • macOS: fixed hidden close button of the text editor tabs.
    • macOS: Fixed font issues in the offline documentation.
    • Fixed HingeJoint and Hinge2Joint physical stops not matching 'minStop' and maxStop' values after moving the robot (thanks to Matt).
    • Fixed Supervisor set/get MF field methods if called multiple times for the same field but with different indices during one controller step (thanks to Matt).
    • Fixed geometries resize handles (checkbox 'show resize handles' was not showed in geometry nodes).
    • Fixed UTF-8 characters in the wb_display_draw_text() function.
    • Improved search rule for texture path: Webots PROTO path has now lower priority than project world path.
    • Improved the reproducibility of simulation results after revert or load by resetting the random number generators.
    • Fixed custom DEF name for default PROTO fields not saved in world files.
    • Fixed wrong image displayed in RangeFinder overlay if resolution is not a power of two.
    • Fixed crash deleting children of Track node.
    • Fixed crash and wrong behavior when changing the 'fieldOfView', 'verticalFieldOfView', 'numberOfLayers' or 'horizontalResolution' fields of the Lidar device after the simulation started.
    • Fixed changes to the 'minRange' field of the Lidar and RangeFinder devices not applied after the simulation started.
    • Linux: fix application name shown in the system toolbar that could be wrong after multiple Webots installations.
    • Fixed wb_supervisor_node_set_visibility not working with lights (Thanks to Chansol).
    • Fixed IndexedFaseSet duplicated vertices error in "soccer.wbt" and "soccer_demo.wbt" in the "samples/demos" directory.
    • Fixed login dialog preventing users of a local license to login if not connected to the Internet.
    • Fixed incorrect overlay resize behavior when moving horizontally.
    • Fixed shift-scrollwheel vertical translation events not being applied the first time the mouse wheel is rotated.
    • Fixed controller not started when the Robot is imported at first step and simulation is in step mode.
    • Display a warning during HTML5 export of worlds containing USE light nodes that are not supported by all the viewers.
    • Fixed automatic follow solid functionality in web streaming if a new world is loaded while the client is connected.
    • Fixed crash when the 'forceDependentSlip' field of a ContactProperties node is empty.
    • Fixed artifacts due to the spherical projection of the Camera, Lidar and RangeFinder nodes (thanks to Liam).
    • Fixed VRML97 import not copying textures over to the current project.
    • Fixed wrong collision detection when an ElevationGrid is used in a bounding object and the parent Solid is rotated.
    • Fixed bug affecting the friction of a track in a world with a gravity along the Z-axis (thanks to Matt).
    • Fixed an issue where importing VRML97 files containing a WorldInfo node could break Viewpoint mouse navigation.
    • Fixed remote control and cross compilation on DARwIn-OP robot using an old DARwIn-OP Framework
    • Fixed the 'transparency' argument of the 'wb_supervisor_set_label' function which was affecting the color too (thanks to Inbae).
  • Upgrade
    • Windows: upgraded to Qt 5.10.0.
    • macOS: Upgraded to Qt 5.9.2.
    • Changed the template engine from slt2 to liluat.
  • Cleanup
    • Dropped the deprecated Servo node. A PROTO is now replacing the old Servo node.
    • Deprecated the DifferentialWheels node. Please use the Robot node instead with two HingeJoint, RotationalMotor and PositionSensor nodes.
      • All the PROTO files previously using a DifferentialWheels node (including the E-puck, Create, Khepera3 and Khepera4) have been updated to use a Robot node instead.
      • Robot windows of previously DifferentialWheels have been update to use standard units (radians/second for wheel velocities and radians for wheel positions).

    Webots 8 change log

    From October 2014

    Webots 7 change log

    From September 2012

    Webots 6 change log

    From November 2008

    Webots 5 change log

    From January 2005

    Webots 4 change log

    From February 2003