Release note Software version 3.7.x.x

Release notes for Universal Robots Software 3.7

The first release note is placed at bottom of this and describes the most important improvements from version 3.6.x.x to 3.7.x.x

The latest software version is at the top of this article.

 This is for CB-Series only

RELEASE NOTES 3.7.2 - 10/10-2018

Released Versions

  • UR Software: 3.7.2
  • URSim: 3.7.2
  • URSim Virtual Machine: 3.7.2
  • Robot Image CB3.0, CB3.1: 3.7.2

Summary of updated content regarding this release:
User Manual 
Script Manual 
Offline Simulator 
Robot Image Software 
Robot Software 
Support Log Reader 




  • Improved program loading time


RELEASE NOTES 3.7.1 - 01/10-2018

Released Versions

  • UR Software: 3.7.1
  • URSim: 3.7.1
  • URSim Virtual Machine: 3.7.1
  • Robot Image CB3.0, CB3.1: 3.7.1

Summary of updated content regarding this release:
User Manual 
Script Manual 
Offline Simulator 
Robot Image Software 
Robot Software 
Support Log Reader 


Bug Fixes

PolyScope GUI:

  • Adjusted password requirement for installation file
  • Enabled the possibility of a single Waypoint in a Feature Plane Wizard to be edited
  • Translation improvements for: French, Norwegian, German. Spanish, Italian, Korean, Dutch, and Portuguese languages


RELEASE NOTES 3.7 - 03/09-2018

Released Versions

  • UR Software:
  • URCap Software Platform:
    • URCap API: 1.4.0
    • URCap SDK: 1.4.4
  • URSim: 3.7.0
  • URSim Virtual Machine: 3.7.0
  • Robot Image CB3.0, CB3.1: 3.7.0
  • Manual: 3.7.0
  • Support Log Reader: 3.6.86

Summary of updated content regarding this release:
User Manual 
Script Manual 
Offline Simulator 
Robot Image Software 
Robot Software 

Note: Full feature list for URCap can be found in the release notes and new SDK can be found on the develop forum

Key Features

  • URCap API:Made URCap API more supportive of naming 'Waypoint' program nodes
  • Timer: A program node that measures the time spent in different sections of a program
  • Smooth Transition:Enabled a smoother transition between safety modes


PolyScope GUI

  • Smooth Transition Enabled robot movement to softly transition when switching between the safety modes (i.e., Normal Mode, Reduced Mode, and Safeguard Stop).

  • Added a 'Timer' node which measures the time spent in different sections of a program.

  • Added I/O actions for configurable Inputs/Outputs which were previously only available for standard Inputs/Outputs.
  • Enabled unhandled Java exceptions in Swing-based URCaps to show a detailed dialog with information about the responsible URCap, including a section showing the stack trace from the exception in the URCap code. The dialog box is limited to specific PolyScope versions.  In rare cases, this dialog does not appear and PolyScope reverts to showing the "standard" unhandled exception dialog with a stack trace without indicating the responsible URCap.
  • Added a filter for log entry attachments in the Log Tab and a quick jump feature when Incident Reports are created. The 'Save Report As' button corresponding to the log entry is now disabled until the Incident Report is fully generated and ready to be saved.


  • Added a script function,get_steptime(), that returns the single robot step time in seconds.
  • Added a script function, get_target_payload(),that returns the weight of the payload in kilograms.
  • Added a script function, get_target_payload_cog(),that returns the coordinates of the center of gravity of the active payload in meters.
  • Added a script function set_configurable_digital_input_action().


URCap Software Platform


  • Provided support for naming Waypoint nodes:
    • See the new 'createWaypointNode(String)' method provided by the 'ProgramNodeFactory' API interface in the 'program' domain Java package.
    • Introduced a new method, 'createMoveNodeNoTemplate()', in the 'ProgramNodeFactory' interface. This method creates a Move node with a non-default configuration. This means the resulting Move node does not contain a single Waypoint child node. This method can be used for applications where a Move node with a default configuration is not needed, such as in situations where all the child Waypoint nodes should have custom names. 
      Note: At least one Waypoint child node must be under a Move node for the Move node to be valid.
  • Updated Javadoc with more details regarding:
    • 'ContributionProvider' API interface: Javadoc for the 'get()' method now specifies when the method should be called.
    • Javadoc for the following methods now states that an 'IllegalStateException' exception is thrown if the methods are called outside an 'UndoableChanges' scope in URCaps with Swing-based UIs:
      • 'DataModel' API interface: All 'set(...)' methods
      • 'TreeNode' API interface: All methods that manipulate the sub-tree (i.e., the methods 'addChild(ProgramNode)', 'insertChildBefore(TreeNode, ProgramNode)', 'insertChildAfter(TreeNode, ProgramNode)', and 'removeChild(TreeNode)').
      • All "set(...)" methods in API interfaces for built-in PolyScope program nodes.
    • 'KeyboardNumberInput'/'KeyboardTextInput' API interfaces: Javadoc for all 'show(...)' methods now mention the 'JComponent' (Swing GUI component) passed to the method must be visible on the screen.


  • Updated the Ellipse and Ellipse Swing URCap samples to demonstrate how to assign a custom name to a Waypoint node.

Changed Loading and Copying URCap nodes

  • All modifications to the supplied non-empty data model in the constructor for installation and program node contributions are  ignored during calls to the 'createNode(...)' methods in the installation and program node services in the following situations:
    • When loading a program node contribution
    • When loading an installation node contribution
    • When a program node contribution is copied in the program tree
  • This change is introduced to ensure the original node configurations are properly loaded or copied, and to align with existing behavior when loading and copying program node contributions containing sub-trees where the sub-tree generated in the node constructor is ignored and the original sub-tree is inserted instead.
  • This is introduced for both HTML-based and Swing-based URCaps.
  • Documented changes in the URCap tutorial (both versions) in sections "7.2: Making the Customized Installation Node Available to PolyScope" and "8.5/8.6: Loading Programs with Program Node Contribution"
  • Compatibility notice: This change might affect existing URCaps that make modifications to the data model directly in the installation or program node constructor

Bug Fixes


  • Fixed issue where 'join' script function worked incorrectly with multiple threads. Thread synchronization when using the script command 'join' works which may affect existing programs.
  • Fixed issue where the controller crashed when deleting MODBUS signals due to race condition.
  • Fixed issue where controller did not detect all scenarios where a compilation error had to be thrown if the URScript statements 'break' and 'continue' were not declared within the scope of a loop.
  • Fixed issue where declaring stand-alone statements whose result is not consumed in a URScript program causes incorrect behavior in the controller. 
  • Improved error reporting for invalid MoveP motions.

PolyScope GUI

  • Fixed the issue where the Pose Editor showed the real robot pose instead of the Waypoint pose when real robot pose is like the edited Waypoint pose.
  • Fixed an issue where a program ran even though it depended on undefined installation features.
  • Fixed issue where the blend radius was reset to zero for variable waypoints.
  • Improved description of auto-initialize function.
  • Enabled the Play button and Speed Slider to appear shaded when the robot is in Freedrive Mode.
  • Fixed issue so auto-initialize is not triggered by a MODBUS signal.
  • Fixed issue in the Init Variables node where the Expression text field header was not translated for non-English languages.
  • Fixed issue for non-English languages where the MODBUS screen in the Installation Tab did not fit the screen when the advanced option section was displayed.
  • Fixed issue where the Expression Editor screen was incorrectly positioned horizontally. 
  • Corrected the tool tip error messages where the valid input range is described as a decimal even though the keypad only accepts whole numbers. This is fixed for the General Limits and Joint Limits Tabs on the Safety Installation screen.
  • Fixed issue where tool tip warning messages were incorrectly positioned and two messages were displayed simultaneously in the General Limits Tab on the Safety Installation screen when n Reduced Mode.
  • Fixed issue where program variables and values were not shown in the 'Variables' table in the 'Run' screen when a program was running.
  • Fixed issue where the paperclip icon did not appear in Log Tab for a log entry containing a generated Incident Report.

Dual Robot Calibration

  • Changed the flow of connecting robots together. Now, the calibration tool is mounted on the master before the robots move toward each other.
  • Added scale results to the Dual Robot Calibration.

URCap Software Platform

  • Fixed issue where adding a Swing JPanel to the JPanel provided by the 'buildUI()' method in the 'SwingProgramNodeView'/'SwingInstallationNodeView' API interface resulted in an "AuthorizationException: Method not supported from URCaps exception.
  • Fixed issue where the first undo operation would not restore an empty data model for values with primitive data types (e.g., integer, double, etc.). 
  • Fixed issue related to the dialog "IllegalStateException: No node currently selected" Java exception appeared when users interacted with the Command Tab screen for a URCap node after loading a program containing URCap program nodes from at least two different URCaps.
  • Fixed issue where the 'setValue(double)' method in the 'AnalogIO' API interface applied an incorrect value to the Analog Output.


  • Improved description of the "Critical Section" in the Script Manual.
  • Corrected the maximum voltage value obtained from an Analog Output pin in Current Mode in the User Manual.
  • Improved description of the "Auto Initialization" section in the Software Manual.
  • Added a new section called "Ioconfiguration" in the Script Manual which describes the set of functions used to configure different behaviors in the system through the Input/Output registers. The following functions are now documented in the Script Manual: set_standard_digital_input_action(...), set_configurable_digital_input_action(...), set_tool_digital_input_action(...), set_gp_boolean_input_action(...), and set_input_actions_to_default(...).