Release note Software version 5.4.x.x


Release notes for Universal Robots Software 5.4

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

 This is for e-Series only


RELEASE NOTES 5.4.3 - 30/08-2019

Please read Product Alert: Universal Robots e-Series software 5.4.3 update

Released Versions

  • UR Software: 5.4.3.76201
  • URSim: 5.4.3.76201
  • URSim Virtual Machine: 5.4.3.76201
  • Robot Image: 5.4.3.76201

Bug Fixes

Please see Product Alert: Universal Robots e-Series software 5.4.3 update


RELEASE NOTES 5.4.2 - 12/07-2019

Please read Product Alert: Polyscope 5.4 for e-Series – July 17, 2019

Released Versions

  • UR Software: 5.4.2.76197
  • URSim: 5.4.2.76197
  • URSim Virtual Machine: 5.4.2.76197
  • Robot Image: 5.4.2.76197

Bug Fixes

Remote TCP

  • Fixed an issue where the RTCP daemon state did not persist with the installation file.

PolyScope GUI:

  • Fixed an issue to prevent use of the safety inputs for Automatic Mode Safeguard Stop without having configured a three position enabling device.
    Note: Full description of this bugfix can be found here: UR Notice 5.4

  • Fixed an issue that prevented loading of certain programs with Timer node.
  • Fixed an issue where connection to the joints could be lost on starting large programs.
  • Fixed an issue where Remote TCP would not recognise a valid activation file.

 


RELEASE NOTES 5.4.0 - 05/06-2019

 

Released Versions

  • UR Software: 5.4.0.76181
  • URCap Software Platform
    • URCap API: 1.7.0
    • URCap SDK: 1.7.0
  • URSim: 5.4.0.76181
  • URSim Virtual Machine: 5.4.0.76181
  • Robot Image: 5.4.0.76181
  • Support Log Reader: 3.6.193

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

Key Features

  • Screwdriving: New Screwdriving program node provides an easy way to add a screwdriving application for an attached industrial screwdriver. The screwdriver parameters and interface to the robot are defined in the PolyScope Installation Tab.
  • Remote Tool Center Point: New Remote TCP URCap simplifies programming of applications that require the robot to move a picked object through positions relative to a fixed tool in the workspace, like deburring, sewing or dispensing. The Remote TCP can be configured in the Polyscope Installation Tab after the Remote TCP URCap has been activated. Activate the Remote TCP URCap by following the instructions under Settings>Systems>Robot Registration on the robot user interface.
  • Until Tool Contact: New Until node can stop robot movement when it detects a physical contact of the tool, using the embedded force torque sensor in the robot's tool flange. Example applications are Stacking/Destacking, where Until Tool Contact determines the height of stacked objects.
  • Until I/O Input: New Until node can stop execution when an input reaches a certain level/value.
  • URCap API: Added support for requesting exclusive control of the Tool I/O Interface and configuring of the settings.
  • URCap API: Added support for querying if specific capabilities are present on the underlying robot system.
  • URCap API: Added support for "I/O Input" configurations of Until nodes.
  • Automatic Mode Safeguard Stop: New configurable safety input "Automatic Mode Safeguard Stop" and accompanying reset. Performs a Safeguard Stop when the input pins are low and the robot is in Automatic mode. This input has no effect in the Manual mode.
  • Manual High Speed: New hold to run manual high speed feature, and enhanced program speed adjustment.

PolyScope GUI

  • Introduced support for industrial screwdrivers. New Screwdriving program node comes with pre-defined sub-nodes for easy configuration of screwdriving applications. New Screwdriving Setup tab in the Installation allows to configure hardware interface between the robot and various industrial screwdrivers. 
    Note:  Currently there are two known issues for this feature:
    • Stopping the program while screwdriver is operating may result in unexpected behavior when the program is started again. As best practice, wait until the screwdriver is off before stopping the program and make sure the screwdriver is off before starting a program
    • Calling the script function screw_driving twice, without calling end_screw_driving in between, may result in non-functional script
  • Added new Until Tool Contact node. Actions added under the Until node will run until the embedded force torque sensor in the robot's tool flange will detect an impact.

 

  • Added new Until I/O Input node. Actions added under the Until node will run until an input reaches a certain level/value.
  • Remote Tool Center Point (RTCP)
    • The RTCP is used together with RTCP_MoveP and MoveC nodes to move a grasped part with constant speed relative to the fixed tool.
    • This feature supports a Remote TCP calculation in the Polyscope Installation Tab and Move & Waypoint nodes for path planning in the Polyscope Programming Tab.
    • The Remote TCP URCap requires activation prior to use in a program, which may be obtained by registering your robot and obtaining a license file.
    • Download a license file for the Remote TCP URCap by following the instructions under Settings > Systems > Robot Registration on the robot user interface.
  • Reduced displayed precision from three to two digits in the Tool Position coordinates (X, Y, Z, RX, RY, RZ) on the Move Tab.
  • In the SubProgram node changed the title of the checkbox "Show Subprogram Tree" to "Hide Subprogram Tree" and made it disabled by default.
  • Program speed can now be more easily adjusted by dragging left/right anywhere on the slider. A popup will show the new speed. Manual high speed is now accessed via a new icon with similar dragging functionality and popup. It replaces the old incremental pressing on the slider. There is a new Three Position tab under Safety for enabling/disabling manual high speed.


Safety

  • Input signal for selecting the Operation Mode can now be configured without configuring the Three-Position Enabling device (3PE) inputs
  • The Safeguard Stop condition is now split into: Automatic Safeguard Stop, Safeguard Stop and Three-Position Enabling Device (3PE) Stop.

With this change, exiting the 3PE Stop no longer requires toggling of the Safeguard Reset, even if the Safeguard Reset input is configured. The Safeguard Reset input is only used to reset the Safeguard Stop.

Client interface and Dashboard

  • Changes to primary/secondary, and real time client interfaces:
    • Added reserved byte to Masterboard data sub package of Robot State Message.
    • Added safety status value to real time interface. New value allows to differentiate between causes for a safeguard stop.
  • Changes to RTDE interface:
    • Updated documentation of elbow_velocity, and elbow_position output variables
    • Added safety_status output variable

 

URCap Software Platform

URCap API:

  • Added support for "I/O Input" configurations of Until Nodes:
    • URCaps can read and set "I/O Input" configurations of Until Nodes
    • See the new 'create...InputConfig(...)' methods in the 'UntilNodeConfigFactory' interface and the new 'IOInputUntilNodeConfig' interface in the existing 'domain.program.nodes.builtin.configurations.untilnode' Java package.
  • Added support for exclusive control over system resources
    • Introduced a framework where URCaps can obtain exclusive control of a system resource. A resource on the robot are defined as an entity that can be controlled. A resource can be unique, or a limited number of that resource type can be present on the robot, e.g. the Tool I/O Interface is a unique resource typically used by a device attached to the robot tool, such as a gripper.
    • URCaps can request exclusive control of the Tool I/O Interface resource and exclusively configure the settings of this interface if the control request is granted to the URCap.
    • The control is revoked when the end user reassigns the control (to a different URCap or himself), when a new installation is created or a different installation is loaded, and when the robot is shutdown.
    • See the new interfaces 'ControllableResourceModel' and 'ToolIOInterfaceController' in the new 'domain.resource' Java package.
    • See the new "Resource Control" document in the SDK for more information.

                     Note

      • After this software release, only the new API should be used to configure the Tool I/O Interface. Use of script functions configuring the settings is not allowed, e.g. 'set_tool_voltage(int)'. This also applies to the URCap that has the control of the Tool I/O Interface resource.
      • The controlling URCap only have exclusive control over the configuration of the Tool I/O Interface, but not the actual values of the I/O signals in the robot tool. Any non-controlling URCap or the end user are free to modify the value of any of these I/Os.

    • 'Tool IO' installation screen
      • Added support for selecting who controls the settings of the Tool I/O Interface. Available options are the end user or any of the URCaps that has requested the control.
      • While the control is assigned to a URCap, the settings of the Tool I/O Interface cannot be modified in any way by the end user or other URCaps.
      • In the "Controlled by" drop-down box, control requests from URCaps are grouped by the URCap "owner" in terms of the name of the URCap and its developer.
  • Added support for configuration of the Tool I/O Interface settings
    • URCaps can read and configure all settings of the Tool I/O Interface including settings for 
      • Tool output voltage level
      • Tool digital output pin mode Sinking (NPN), Sourcing (PNP), Push / Pull, Dual Pin Power (e-Series only)
      • Tool analog inputs Tool Communication Interface (TCI) (e-Series only), Analog domain (Voltage/Current)
    • See new 'domain.resource.tooliointerface' Java package

                     Note

      • Only the tool output voltage and tool analog input domain settings are available on CB3 robots.
      • The settings of the Tool I/O Interface can only be configured by the URCap controlling the Tool I/O Interface resource.

    • When Tool I/O Interface settings are modified, an update (re-rendering and invocation of 'isDefined()' methods) of the Program Tree is automatically triggered. This ensures the correct "defined/undefined" state is reflected for any program node contribution with an implementation of the 'isDefined()' method that checks for a specific configuration of the Tool I/O Interface.
  • Added support for querying if specific capabilities are present on the underlying robot system
    • Introduced the concept of capabilities supported by the underlying robot/system. A capability is a hardware-based or software-based system feature which is not available on all robot systems/platforms, e.g. the Tool Communication Interface and tool digital output pin mode features are not available on CB3 robots.
    • URCaps can query whether or not a specific capability (which is not guaranteed to be available on all systems) is supported by the underlying robot/system. Currently, such supported capabilities are the Tool Communication Interface and tool digital output pin mode features which are only available on the e-Series platform.
    • Interfaces and methods that represent functionality that are not available on all systems are annotated with 'RequiredCapability'.
    • See new 'domain.system.capability' Java package
    • Note: Attempting to use functionality which is not supported by the underlying robot system will throw a 'CapabilityNotSupportedException'.
    • See the new "Capabilities" document in the SDK for more information.
  • Added support for checking if an I/O is resolvable/available
    • URCaps can now check if an I/O is resolvable/available in PolyScope. An I/O can be unavailable if, e.g. a MODBUS I/O is not present in the loaded installation, the analog tool inputs are used as Tool Communication Interface (TCI) and the digital tool outputs are used for Dual Pin Power.
    • See new 'isResolvable()' method in the 'IO' interface in the 'domain.io' Java package.
    • Note: Currently, all 'Register' types ('Boolean', 'IntegerRegister' and 'FloatRegister') are always resolvable.
  • Improved rendering support for MODBUS I/Os in the HTML-based drop-down box GUI element ('SelectDropDownList' interface). Now a selected MODBUS I/O, which became unresolved (e.g. because it was deleted/not present in the Installation), will be displayed as in PolyScope built-in program nodes (shown in italics with a yellow border).
  • Made various updates and improvements to Javadoc.

URCap SDK:

  • Created new or updated URCap samples:
    • Requesting exclusive control of the Tool I/O Interface resource
    • Reading and applying configurations of the Tool I/O Interface (resource)
    • Checking if a specific system capability is available on the underlying robot system
    • See section "10 URCap examples overview" in the Swing-based URCap tutorial for more details about the new sample
    • Added new 'Tool I/O Control Swing' URCap example demonstrating how to use the following new API features
    •  Changed the text of the top-most placeholder item in the variable selection drop-down box from "Select idle time summation variable"/"Select counting variable" to "<variable>" in the 'Idle Time'/'Idle Time Swing' URCap sample.
    • Updated the 'Localization'/'Localization Swing' URCap sample with fully translated generated pop-up for Russian, Japanese, Chinese and Korean.
  • Documentation
    • New documents:
      • Added document "Resource Control" which describes the new resource control framework (resource_control.pdf file). The document explains how to request exclusive control of a system resource as well as how to work with the resource once the control has been granted. The Tool I/O Interface resource is used as an example.
      • Added document "Capabilities" which describes the concept of capabilities, that are not guaranteed to be supported by the underlying robot/system, and how to work with this new concept (capabilities.pdf file).
    • URCap tutorial (Swing- and HTML-based):
      • Added new section "8.4/8.5 Updating the data model" containing the existing "Undo/redo Functionality" section and the new "8.5.1 Restrictions" section describing restrictions for modifications to the data model.

 

Bug Fixes

PolyScope GUI

  • Fixed rounding errors in joint position error message.
  • Fixed the issue where pressing "refresh" on Modbus signal list, cleared FreeDrive action.
  • Fixed the issue where testing force template gave "compile error" when using user defined features.
  • Fixed a bug where sub-programs with non-ascii characters in the name would no run on the robot.
  • Fixed a bug where in special cases it was possible to copy a Call Subprogram node into a Subprogram.
  •  Implemented message throttling for variables, preventing performance degradation with large number of waypoints.
  •  Made the dashboard server command 'get loaded program' available in local control mode.
  • Fixed the issue where installing a large URCap did not enable the "Restart" button in the "URCaps" panel in the "Settings" screen.
  •  Menu for selecting I/O output action made wider so entire description is visible.
  • Fixed the issue where switching between two Force (simple) templates would retain values from each other.
  • Fixed the issue where Autostart information on run screen was lost when autostart settings were changed in the installation.
  • Fixed the issue where Dashboard server gives incorrect programstate when a program is started using I/O Actions.
  • Fixed the issue where saving a subprogram from within the main program, falsely indicated that main program has also been saved.
  • Fixed the issue where a program involving waypoints sometimes would fail to start when started using I/O Actions.
  •  Controller crashes generate flight report, helping to troubleshoot and analyze them.
  •  Updated text on payload and Center of Gravity wizard.
  •  Full copyright text is added to the legal notice panel in About dialog.
  • Fixed issue where in copy/pasted parent program node (e.g. a Folder Node) containing a Pallet (Palletizing) Node, the structure of the "locked" child nodes (i.e. the "Pattern", "Layers" and "At Each Item" nodes) could be modified, i.e. it was possible to delete, cut and move up/down these nodes.
  • Fixed issue where the '±' button was not disabled on the onscreen numerical keypad when entering values into the "RX Idle Chars" or "TX Idle Chars" number text fields in the 'Tool IO' installation screen.
  • Fixed the issue in 'Tool IO' installation screen where a newly created installation would retain the "Tool output voltage" value from the previous installation.
  • Fixed the issue where in some cases loading an installation with configured Conveyor Tracking Setup would not restore the selected Feature.
  • Fixed the issue in 'I/O Setup' installation screen where the drop-down menu "I/O tab control" displayed an incorrect selection for the selected output. 
  • Fixed the issue in Initialize screen, where the first time after reboot, Installation Payload field would briefly display "2.53 kg kg" before displaying the actual value. 
  • Fixed the issue where user was not properly notified that the program node (e.g. Wait node) using the tool analog inputs "analog_in [2] " or "analog_in [3] " became undefined due to re-configuring of these inputs as Communication Interface in 'Tool I/O' in the installation.
  • Fixed the issue where automatic tracking of the command being executed (Blue arrow in Program tree) could not be enabled.
  • Fixed the issue where the user was not notified that the Conveyor Tracking Setup and any Conveyor tracking node using it became undefined after deleting a MODBUS register input signal.
  • Fixed the issue where in copy/pasted parent program node (e.g. a Folder Node) containing a Pallet (Palletizing) Node, the palletizing nodes "Layers" and "At Each Node" could not be configured.
  • Fixed the issue where the use of a direction vector, not normalized, could cause wrong movement
  • Fixed issue where speed slider would be disabled while program was paused.
  • Fixed issue where configurable I/Os showing if the robot was emergency stopped would not correctly reflect the physical state of the output pins.

URCap Software Platform

  • Fixed the issue where calling the 'set(boolean)' method on the 'DigitalIO' interface for a digital tool output would always return true value even when the output was unavailable, because it was used for Dual Pin Power.
  • Fixed the issue where copy/pasted URCap program node containing another URCap program node with locked child sequence of sub nodes would lose the lock of the sub nodes (i.e. it was possible to, e.g. add and remove child nodes).
  • Fixed issue where storing a double value in the data model (using the 'set(String, double)' method in 'DataModel' interface) would not enable the unsaved changes indicator for programs and installations.
  • Fixed issue where a "Program node changes denied" exception was thrown and the 'Pallet' node was inserted without any of its children when the 'Pallet' node was added to a sub-tree generated in the constructor of a program node contribution.
  • URCap SDK:
    • Fixed the issue where building a URCap using Java 6 failed due to a Maven build error. The 'newURCap.sh' script (for creating new empty URCap projects) is fixed in the URCap SDK and all existing URCap samples have been updated.
    • Fixed issue in the program node from the 'Localization'/'Localization Swing' URCap sample where the information about the selected language and programming language was not fully translated for Hungarian, Romanian and Traditional Chinese.
    • Fixed issue in the program node from the 'Localization'/'Localization Swing' URCap sample where the information about the selected language and programming language was falsely displayed as Chinese when the selected language was Traditional Chinese
    • Fixed issue in the program node from the HTML-based 'Localization' URCap sample where the top introduction text was truncated in Spanish, French, Swedish and Russian and the text in the "Units" drop-down box was truncated in Russian.
    • Fixed issue where the 'install.sh' script would fail when installing on 32-bit Linux. If the dialog or/and sshpass Linux packages where not already installed on the system, the install script would furthermore not install these packages.

Controller

  • Added a check to verify, in run-time, that the payload set for the mass is within the allowed boundaries when setting this parameter over the built-in functions "set_payload" and "set_payload_mass".
  • Fixed a bug where the payload is not checked when robot enables Freedrive mode from a URProgram.

    Note that this is a breaking change. Programs that previously entered Freedrive with a wrong payload or forced applied will now get a Protective Stop

  • Fixed a bug where the incorrect joint id is reported when there is a communication problem with, at least, one joint.
  • Fixed the issue where System Emergency Stop output is not set high after robot emergency stop is released.
  • Fixed issue with using multiple non-blocking popup commands
  • Fixed Freedrive behavior near joint limits
  • Fixed issue where powering off the robot while in Backdrive would cause a fault.
  • Fixed issue where attempting to resume a program after powering off and powering on the robot would cause a protective stop.
  • Fixed issue where executing a program containing a while loop inside an 'until expression' would result in incorrect behavior.
  • Improved handling of programs with computational heavy threads (such as infinite loops) that do not move the robot.
  • Fixed PolyScope exception when loading and starting programs through dashboard server interface.

Dual Calibration:

  • Fixed the issue where Dual Arm Calibration process would fail for a robot that was previously calibrated, but had at least one joint replaced since last calibration.
  • Fixed the issue where the calibration log file may grow uncontrollably when executing the Dual Arm Calibration process.

Manuals:

  •  Implemented User Manual content for Robot Registering feature.
  •  Implemented User Manual content for Screwdriving feature.
  •  Implemented User Manual and Script Manual content for Until-Tool Contact.
  •  Implemented User Manual content for Manual High Speed and Automatic Mode Safeguard Stop/Reset.
  •  Improved description of the built-in function "servoj" in the Script Manual.

Embedded

  • Fixed bug where reduced/not reduced mode output was not updated in Emergency Stop 
  • Fixed the issue where a tool can sometimes report a Task Manager critical error during startup