Release of URCap SDK 1.13.0 and Polyscope 5.11

Dear valued UR community,

Universal Robots is delighted to announce, that we are now releasing a new software, to continuously deliver more value to you and our customers. The new release consist of:

  • PolyScope 5.11.0 for e-Series
  • URCap SDK 1.13.0 including URCap API 1.13.0 for e-Series
  • StarterPackage 1.13 including simulatod Polyscope version 5.11 and 3.15

KEY FEATURES

  • Supports increase in the maximum payload of the UR10e robot to 12.5kg. The payload increase will only apply to the robots shipped with UR Software Version 5.11 or later. UR10e robots produced with labels stating the payload is 10kg retain their original maximum payload rating, even if the software is upgraded.
  • Improved Set Payload node. Validation of payload mass and center of gravity parameters in the Set Payload node.
  • URCap API version 1.13.0. Added support for Home node, feature selection on MoveJ node and contribution of payloads. The API is not compatible with and cannot be used to develop URCaps for CB3 robots.

POLYSCOPE GUI

IMPROVED SET PAYLOAD NODE

Warnings and errors for the selected Payload or the specified custom payload parameters (i.e. the payload mass and center of gravity) are displayed in the Set Payload node.

URCAP SOFTWARE PLATFORM

COMPATIBILITY NOTICE

URCap API version 1.13.0 (which is included in this release) requires an e-Series robot or simulator (PolyScope version 5.11.x or higher). The API is not compatible with and cannot be used to develop URCaps for CB3 robots

URCAP API

ADDED CONFIGURATION SUPPORT FOR THE FEATURE SELECTION ON MOVEJ NODES

  • URCaps can configure the Feature selection on a MoveJ node
  • URCaps can get the Feature selected in a MoveJ node
  • API changes:
    • New setFeature(Feature) method in the existing MoveJConfigBuilder interface (in the com.ur.urcap.api.domain.program.nodes.builtin.configurations.movenode.builder package)
    • New getFeatureSelection() method in the existing MoveJMoveNodeConfig interface (in the com.ur.urcap.api.domain.program.nodes.builtin.configurations.movenode package)

ADDED SUPPORT FOR THE HOME NODE

  • URCaps can create and insert Home nodes into the Program Tree
  • URCaps can visit Home nodes using the program node visitor
  • API changes:
    • New createHomeNode() method in the existing ProgramNodeFactory interface (in the com.ur.urcap.api.domain.program.nodes package)
    • New visit(HomeNode, int, int) method in the existing ProgramNodeVisitor interface (in the com.ur.urcap.api.domain.program.structure package)

ADDED PAYLOAD SUPPORT FOR CONTRIBUTION OF PAYLOADS:

  • URCaps can add their own Payloads with a suggested name to the installation in PolyScope
  • URCaps can remove their own Payloads from the installation in PolyScope
  • URCaps can update the parameters of their own Payloads
  • API changes:
    • New PayloadContributionModel interface in the new com.ur.urcap.api.domain.payload package
  • PolyScope integration:
    • Payloads added by URCaps are displayed in the Payload installation screen in PolyScope
    • A Payload added by a URCap cannot be modified in any way by the end user or other URCaps (i.e., it cannot be removed, renamed, or have its parameters changed)
    • Payloads contributed by URCaps are grouped by the URCap “owner” in terms of the name of the URCap and its developer in all drop-down lists in PolyScope screens where a Payload can be selected (e.g., the Payload installation screen and the Set Payload node). User-defined Payloads are listed in the top of the payload selection drop-down lists followed by Payloads added by URCaps.
    • Note: Removing a Payload or updating the parameters of a Payload while loading an installation is not allowed. Such attempts are ignored to ensure the original payload configuration in the installation is always properly loaded.

Added access to the list of Payloads in PolyScope:

  • URCaps can get the list of all Payloads available in the installation in PolyScope (both user-defined Payloads and Payloads added by URCaps)
  • API changes:
    • New PayloadModel interface in the new com.ur.urcap.api.domain.payload package

Added support for the Set Payload node:

  • URCaps can create and insert a Set Payload node into the Program Tree
  • URCaps can read the configuration of a Set Payload node
  • URCaps can configure a Set Payload node
  • URCaps can visit Set Payload nodes using the program node visitor
  • API changes:
    • New SetPayloadNode interface in the existing com.ur.urcap.api.domain.program.nodes.builtin package
    • New createSetPayloadNode() method in the existing ProgramNodeFactory interface (in the com.ur.urcap.api.domain.program.nodes package)
    • New com.ur.urcap.api.domain.program.nodes.builtin.configurations.setpayloadnode package
    • New visit(SetPayloadNode, int, int) method in the existing ProgramNodeVisitor interface (in the com.ur.urcap.api.domain.program.structure package)

Added payload support for configuration of Gripper nodes:

  • URCaps can configure the payload setting on a Gripper node
  • URCaps can read a Gripper node’s configuration of the payload setting
  • API changes (in the com.ur.urcap.api.domain.program.nodes.contributable.device.gripper.configuration package):
    • New methods setPayloadMass(Mass), setEmptyPayloadMass(), setPayloadSelection(Payload) and setPayloadSettingDisabled() in the existing GripActionConfigBuilder / ReleaseActionConfigBuilder interface
    • New getPayloadSetting() method in the existing GripActionConfig / ReleaseActionConfig interface
    • New PayloadSetting, CustomPayloadParameters and PayloadSelection interfaces

Added data model support for Payload and Mass objects:

  • URCaps can store and retrieve Payload objects in their data model
  • URCaps can store and retrieve Mass objects in their data model
  • API changes (in the existing com.ur.urcap.api.domain.data package):
    • New set(String, Payload) and get(String, Payload) methods in the existing DataModel interface
    • New set(String, Mass) and get(String, Mass) methods in the existing DataModel interface

PROVIDED ACCESS TO SYSTEM LIMITS

Introduced an interface which provides access to the system limits of various physical/hardware and software properties/parameters of the underlying Universal Robots robot:

  • URCaps can access the supported robot and PolyScope limits for the payload mass
  • URCaps can access the supported PolyScope limits for the center of gravity (CoG) coordinates
  • API changes:
    • New RobotLimits interface in the existing com.ur.urcap.api.domain.robot package

This functionality can, for instance, be used when contributing Payloads, or configuring the Set Payload node and the Gripper node.

ADDED SUPPORT FOR CREATING POSITIONS AND ROTATIONS

  • URCaps can create Position objects
  • URCaps can create Rotation objects
  • URCaps can create a Pose by specifying a Position and a Rotation
  • API changes (in the exsting com.ur.urcap.api.domain.value package):
    • New PositionFactory and RotationFactory interfaces
    • New createPose(Position, Rotation) method in the existing PoseFactory interface

POLYSCOPE SUPPORT FOR URCAPS

IMPROVED THE INTEGRATED PAYLOAD SUPPORT FOR THE GRIPPER NODE AND TOOLBAR

Added the option in the Gripper node to select a payload from the installation to be applied after the execution of a grip or release action.

It is still also possible to specify a custom payload mass to be applied (the “Custom Payload” option in the payload selection drop-down list).

Warnings and errors for the selected Payload, or the specified custom payload mass, are displayed in the Gripper node.

Warnings for the specified custom payload mass are also indicated with a yellow background for the “Mass” field. Errors are indicated with a yellow background for the payload selection drop-down list.

Added the option in the Gripper toolbar to select a Payload from the installation to be applied after the execution of a grip or release action.

It is still also possible to specify a custom payload mass to be applied (the “Custom Payload” option in the payload selection drop-down list).

Warnings and errors for the selected Payload, or the specified payload mass, are indicated with yellow widget backgrounds in the Gripper toolbar.

Warnings are indicated with a yellow background for the “Mass” field. Errors are indicated with a yellow background for the payload selection drop-down list.

URCAP SDK

DOCUMENTATION

Updated the “URCap Gripper Driver” document (gripper_driver.pdf file):

  • Updated section “4.2: Integrated Payload Support” with description of the improved payload support for the Gripper node and toolbar

Updated the (Swing- and HTML-based) URCap tutorial:

  • Added a corresponding e-Series screenshot for each screenshot of a PolyScope screen from a CB3 robot throughout the document
  • Updated the “4.2: Manual Deployment using PolyScope” section to include instructional steps for installation of URCaps on an e-Series robot
  • Mentioned in the “Abstract” section and “1: Introduction” sections that the URCap Software Platform version 1.13.0 is only supported by PolyScope version 5.11.0 running on e-Series robots and that URCaps can be developed for CB3 robots with PolyScope version 3.3.x using version 1.12.0 or older of the URCap Software Platform.
  • Corrected mistakes in the directory tree for the file structure of the URCap SDK in the “3: URCap SDK” section

URCAP SAMPLES

Added new Create Payload Swing sample which demonstrates how to contribute a Payload to PolyScope. The sample shows how to use the following new API features:

  • Adding and removing a Payload as well as updating the parameters of a Payload
  • Storing a Payload in the data model
  • Creating and configuring the Set Payload node
  • Accessing the system limits for the payload mass and center of gravity (CoG) coordinates

Removed the use of the deprecated getProgramModel(), getVariableModel() and getValueFactoryProvider() methods in the URCapAPI interface from the (HTML-based) Cycle Counter sample

BUG FIXES

POLYSCOPE GUI

  • Fixed issue where PolyScope would freeze when a program with a certain combination of If-Else/Folder/Popup nodes was running.
  • Fixed issue where the user in some situations was not requested to auto move the robot to the first fixed position waypoint in the program if the waypoint was contained under the BeforeStart node.
  • Fixed issue where all dialogs and program popups would stop working, if the About option was pressed in the Hamburger menu (in the PolyScope header) while a program popup was showing.

CONTROLLER

  • Fixed issue where the numeric variables are defined with an exceeding limit in script file which is given in script node, program does not play and robot freezes
  • Fixed memory leak under high-load scenario using textmsg multiple times in a tight loop. Controller will now also send a warning to the PolyScope log with the errorcode C221A0 in case it encountered high load.
  • Fixed memory leak when moving the robot from Move screen.
  • Aligned target and actual currents in RTDE interface.

URCAP SOFTWARE PLATFORM

  • Fixed issue where PolyScope would freeze when Features were retrieved (by calling methods in the FeatureModel interface) in an installed URCap’s implementation of the isDefined() method in the ProgramNodeContribution interface.
  • Fixed issue where it was not possible to save the PolyScope installation, if an installed URCap’s installation node contribution had stored the value null in its data model. Now, setting a null value for a key will remove the key and its value from the data model (the same behavior as for the data model for program node contributions).
  • Fixed issue where a Gripper node with the payload setting disabled (unchecked “Set Total Payload” checkbox) in some situations would get the configuration of the payload setting from another Gripper node after undoing a program change

MANUALS

  • Added missing description of payload fields to realtime (matlab) interface documentation
  • Primary interface documentation: data type for field in PopupMessage, and RequestValueMessage corrected.

We hope that you will appreciate the new functionality!
The Universal Robots Team