Release note Software version 3.12.x.x
For CB-series only
The latest software version is at the top of this article.
Prerequisites:
- Please review the following Product Alert for CB3 robots prior to upgrading Polyscope to 3.12.x.x : READ PRODUCT ALERT HERE
RELEASE NOTES 3.12.1 - 25/02-2020
Released Versions:
- UR Software: 3.12.1.90940
- URCap Software Platform:
- URSim: 3.12.1.90940
- URSim Virtual Machine: 3.12.1.90940
- Robot Image: 3.12.1.90940
- UR Firmware 3.12.7 (no change)
Bug Fixes
Controller:
- Fixed UR script issue introduced in the software version 3.12 where speedj() and speedl() would end incorrectly, in some cases resulting in a buzzing sound from the joints.
- Fixed issue introduced in the software version 3.12 where stopj() and stopl() would work incorrectly during conveyor tracking, online path offset and force mode, sometimes resulting in a singularity exception.
RELEASE NOTES 3.12.0 - 05/12-2019
Released Versions:
- UR Software: 3.12.0.90886
- URCap Software Platform:
- URCap API: 1.9.0
- URCap SDK: 1.9.0
- URSim: 3.12.0.90886
- URSim Virtual Machine: 3.12.0.90886 (internal version: 2.0.41)
- Robot Image: 3.12.0.90886 (internal version: 1.0.78)
- UR Firmware 3.12.7
- Safety A firmware: 3.5.2
- Safety B firmware: 3.5.4
- Joint selftest: 3.12.1
- Joint bootloader: 3.11.0
- Tool firmware: 3.11.0
- Screen bootloader: 3.11.0
- Screenboard firmware: 3.11.0
- Euromap67 firmware: 3.11.0
- Manual: 3.12.0 (internal version: 3.7.29)
- Support Log Reader: 3.7.36
- RTDE: 2.3.6 (no change)
Key Features
- URCap API: Added support for Grip Detected and Release Detected feedback capabilities for Gripper driver contributions
- URCap API: Added support for using gripper devices in template program Nodes
- URCap API: Added support for registering a "regular" URCap as a conformant PolyScope gripper device
- URCap API: Improved support for Features
- New dashboard server commands
- New URScript utility functions
- Improved monitoring of power consumption in the control box power supply
PolyScope GUI
- Magic scripts are executed only from USB root folder.
- It is now possible to specify a custom name for an I/O that has an action assigned.
- Reduced the amount of disk space taken up by an installed URCap
URCap Software Platform
URCap API:
- Improved support for grippers:
- Added support for the Grip Detected and Release Detected feedback capabilities for Gripper driver contributions.
- These two capabilities can optionally be registered, if the gripper can inform whether it has detected that an object has been gripped/released after a grip/release action has been triggered
- See new the 'GripperFeedbackCapabilities' interface in the 'contribution.driver.gripper.capability' Java package
- When one or both of these capabilities are registered, the user will be able to enable handling of grip/release detection in the Gripper program node. This provides the possibility of:
- Specifying a timeout value for the grip/release action (in the Grip/Release Timeout Node)
- Defining the processing steps to perform when the grip/release action timed out (under the Grip/Release Timeout Node)
- Defining the processing steps to perform when the a grip/release was detected (under the Grip/Release Detected Node)
- Introduced the concept of PolyScope devices:
- The new 'Device' base interface represents a physical device supported by PolyScope
- Currently, gripper devices are the only supported type of device
- See new 'domain.device' Java package
- Added support for getting the list of installed gripper devices available in PolyScope:
- See the 'getGrippers()' method in the new 'GripperManager' interface in the 'domain.device.gripper' Java package
- Added support for Gripper Nodes:
- URCaps can create and insert a Gripper Node for a selected gripper device into the Program Tree
- URCaps can read and configure the gripper action selection (i.e. grip or release) of the configuration for a Gripper Node
- See the 'getGripperProgramNodeFactory()' method in the new 'GripperManager' interface in the 'domain.device.gripper' Java package
- See the new 'domain.program.nodes.contributable.device.gripper' Java package
- Added support for storing gripper devices in the data model:
- URCaps can store and retrieve 'GripperDevice' objects and other device types ('Device' objects) in the data model
- A URCap program node holding a reference to an unresolved gripper device in its data model automatically becomes undefined. A gripper device can be unresolved if the URCap that added the device is not installed.
- See new methods 'set(String, Device)' and 'get(String, T, Class<T>)' in the 'DataModel' interface in the 'domain.data' Java package
- Added support for registering a "regular" URCap as conformant with a PolyScope gripper device:
- A URCap can register its program node contribution/service as conformant with a PolyScope gripper device
- This allows the URCap to act as well as be treated and seen the same way as a URCap implementing the 'GripperContribution' interface
- Registering as a PolyScope gripper device will enable other program node contributions (could be contributed by a different 3rd party URCap) to use the conformant program node contribution for e.g. creating a template node
- The registered conformant program node contribution will get the following abilities:
- It will be included as a device in the list of installed PolyScope grippers
- It can be inserted as a Gripper Node into the Program Tree by another program node contribution
- It can have the gripper action configured by another program node contribution
- See new 'contribution.gripper.conformant' Java package
- For URCaps with a Swing-based UI, see the new 'getDeviceRegistrationManager(Class<T>)' method in the 'ContributionConfiguration' interface in the 'contribution.program' Java package
- For URCaps with a HTML-based UI, see the new 'getDeviceRegistrationManager(Class<T>)' method in the 'ProgramNodeConfiguration' interface in the 'contribution' Java package. Note that the program node service must additionally implement the 'ProgramNodeServiceConfigurable' interface.
- Improved user feedback for Gripper driver contributions:
- Introduced new dialog displayed when loading an old installation on a robot with a newer version of a Gripper URCap where some of the registered custom user inputs are deprecated (using the 'deprecateUserInput(UserInput)' method in the 'CustomUserInputConfiguration' interface). The intention of the dialog is to inform the user that the configuration "format" for the setup of the gripper has changed and that the old setup potentially has been adapted.
- Added warning message in the Gripper Node to inform the user when the custom setup of the gripper in the Installation is incomplete or contains error, e.g. because no selection has been made in a combo box input
- The "The Robot Cannot Proceed with Normal Operation" dialog now pops up if the robot is powered off when the Test, Grip Now or Release Now button is pressed in Gripper Node
- Improved support for Features:
- Added support for contribution of Features to PolyScope:
- URCaps can add their own Features with a suggested name to the installation in PolyScope
- URCaps can remove their own Features from the installation in PolyScope
- URCaps can update the pose for the position of their own Features
- See new 'FeatureContributionModel' interface in the 'domain.feature' Java package
- PolyScope integration:
- Features added by URCaps are displayed in the new URCap section in the Features installation screen
- A selected URCap Feature cannot be modified in any way by the user or other URCaps (i.e., it cannot be removed, renamed, or have its position changed)
- Features 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 programs Nodes where a Feature can be selected, e.g. 'Move' Nodes. User-defined Features are listed in the top of the feature drop-down lists followed by features added by URCaps.
- Note: Removing a Feature or updating the pose of a Feature while loading an installation is not allowed. Such attempts are ignored. This is to ensure the original Feature configuration in the installation is always properly loaded
- Added support for contribution of Features to PolyScope:
- Added support for storing Features in the data model:
- A URCap program node holding a reference to an unresolved Feature in its data model automatically becomes undefined. A Feature can be unresolved if a different installation (that does not contain the feature) is loaded or if the Feature is removed.
- See new methods 'set(String, Feature)' and 'get(String, Feature)' in the 'DataModel' interface in the 'domain.data' Java package
- A URCap program node holding a reference to an unresolved Feature in its data model automatically becomes undefined. A Feature can be unresolved if a different installation (that does not contain the feature) is loaded or if the Feature is removed.
- Added support for getting a corresponding 'TreeNode' instance for child program node ('ProgramNode' instance) in the sub-tree under a 'TreeNode' instance:
- This can for instance be used to gain access to the sub-tree under a child program node encountered while traversing the sub-tree of the parent node using the program node visitor
- See new method 'locateDescendantTreeNode(ProgramNode)' method in the 'TreeNode' interface in the 'domain.program.structure' Java package
- Added support for configuring a program node contribution's ability to be used in the built-in PolyScope program debugging/execution control functionality:
- URCaps can configure whether or not the user is allowed to single step or set a breakpoint (pause) on its own URCap program node as well as any of the child nodes in the sub-tree under it
- URCaps can configure whether or not the user is allowed to start the program directly from its own URCap program node as well as any selected child node in the sub-tree under it
- See the new 'ProgramDebuggingSupport' interface in the new 'contribution.program.configuration.debugging' Java package
- For URCaps with a Swing-based UI, see the new 'getProgramDebuggingSupport()' method in the 'ContributionConfiguration' interface in the 'contribution.program' Java package
- For URCaps with a HTML-based UI, see the new 'getProgramDebuggingSupport()' method in the 'ProgramNodeConfiguration' interface in the 'contribution' Java package. Note that the program node service must additionally implement the 'ProgramNodeServiceConfigurable' interface.
- Extended the 'URCapInfo' interface with new methods for getting information about the name of the URCap and the name of the vendor of the URCap
- Made various updates and improvements to Javadoc
- Reduced the amount of disk space taken up by an installed URCap
URCap SDK:
- URCap samples:
- Added new URCap samples:
- 'Grip and Release Swing': Demonstrates how to use gripper devices in a template program node. The sample shows how to use the following new API features
- Getting the list of installed grippers available in PolyScope
- Inserting a Gripper program node for a specific gripper device
- Configuring a Gripper program node for grip and release actions
- 'Create Feature Swing': Demonstrates how to contribute a Feature to PolyScope as well as how to store a Feature in the data model
- 'Grip and Release Swing': Demonstrates how to use gripper devices in a template program node. The sample shows how to use the following new API features
- Updated URCap samples:
- Updated the 'Advance Gripper' URCap sample:
- Updated the sample to demonstrate how to support the new Grip Detected and Release Detected feedback capabilities
- Changed the implementation of the methods that generates script code for performing grip and release actions to print out the gripper action parameters to the console instead of showing them in a popup (through script code)
- Updated the following URCap samples to demonstrate how to allow the user to use the built-in PolyScope program debugging/execution control support for starting from and pausing/breaking on a selected program node in the program tree:
- 'Ellipse' and 'Ellipse Swing'
- 'Cycle Counter' and 'Cycle Counter Swing'
- Extracted strings used as ids for registering custom user inputs into constant fields in the 'Custom Gripper Setup' sample
- Simplified the code for clearing the program sub-tree in the 'Ellipse', 'Ellipse Swing', 'Pick or Place' and 'Pick or Place Swing' samples
- Simplified the code that provides the node title for the Program Tree in the 'Tool Changer Swing' sample
- Updated the 'Advance Gripper' URCap sample:
- Added new URCap samples:
- Added document "Registering a Regular Contribution as a Conformant Device" which describes how to register a regular URCap contribution as conformant with a PolyScope device (registering_conformant_device.pdf file)
- Added document "Using a Device in a Template" which describes how to use a PolyScope device in a template program node (using_device_in_template.pdf file)
Controller
New URScript utility functions
In order to support usage of conveyor tracking, two URScript functions have been added:
- get_target_tcp_pose_along_path: Returns the TCP pose excluding the contribution from conveyor tracking (similar to get_target_tcp_pose)
- get_target_tcp_speed_along_path: Returns the TCP velocity excluding the contribution from conveyor tracking (similar to get_target_tcp_speed)
Dashboard server
- get serial number - reads robot serial number
- get robot model - reads robot model
- getUserRole - provides the active user role such as PROGRAMMER, OPERATOR, NONE, LOCKED. User role can be set or cleared by "setuserrole".
Changed dashboard server commands
- unlock protective stop - unlocking a protective stop is not possible until 5 seconds after occurrence.
Bug fixes
PolyScope GUI
- Fixed an issue with some USB drives causing "out of memory" exceptions when attached for extended period of time.
- Fixed an issue where arrows in Move Tool did not get correct colours and labels when "Base" or "Tool" features are selected.
- Fixed an issue where it was not possible to create two waypoints less than 0.05 mm apart.
- Fixed issue where a successfull update of the joint firmware would result in error dialog show in PolyScope.
- Fixed an issue, where the input/output fields of a Modbus Register signal was wrongly showing a formatting error.
- Fixed a bug where waypoint could not be renamed if it used with a user defined feature.
- The blue program indication arrow is now showing when executing waypoints.
- Fixed a bug with copying variable waypoints between programs.
- Fixed a bug where rotating wrist 3 on UR3 with infinite rotation, did not correctly show automove screen.
- Fixed an issue where the "Save Program" file dialog would not be displayed when "Save changes" was selected in the dialog appearing after attempting to exit to the Welcome screen from the program with unsaved changes.
- Fixed an issue in the "Initialize Robot" screen where the "Active Payload" number field would not maintain its warning state (yellow background) when the field was pressed.
- Fixed an issue in the Program Tree where the subtree containing the last executed node could not be minimized.
- Fixes a minor memory leak within the Flight Recording feature.
Controller
- Fixed an issue where first Modbus message on each signal was delayed by up to 1s.
- Fixed "No Controller" issue when application is using a lot of secondary programs (either directly, or through one of URCaps)
- Fixed an issue where XML-RPC call could result in controller crash
- Fixed issue where breaking out of a "continuous if" and executing a subsequent "wait" would cause an instant stop and often a protective stop. Robot will now instead per default brake at a fixed rate. To override this behaviour and explicitly control braking, use stopj() or stopl() script commands
- Fixed issue where requesting a higher acceleration from stopj() or stopl() than the robot can deliver would sometimes result in a protective stop. If such parameters are given, the stopj() and stopl() will at runtime be limited to decelerate at a rate within the limits of the robot.
URCap Software Platform
- Fixed issue where a Gripper contribution could define a custom UI in the Installation that did not fit on the screen. This could occur, because any added non user input UI element, such as a text component or a filler, was not taken into account in the maximum limit of 10 UI elements allowed and hence the 'TooManyUserInputsRegistered' exception was not always thrown. Now, the 'TooManyUserInputsRegistered' exception will be thrown when appropriate.
- Fixed issue where the "Unhandled exception in URCap" dialog was not displayed, when a Java exception occurred within the scope of a call to the implementation of the overridden 'configureContribution(ProgramNodeConfiguration)' method in a HTML-based URCap with a program node service, that implemented the 'ProgramNodeServiceConfigurable' interface.
- Fixed issue where pressing the Test or Grip Now/Release Now buttons in the Gripper program node could result in a runtime exception. This would occur, if the corresponding script code for the preamble, grip or release actions (the result of calls to the 'generatePreambleScript(ScriptWriter)', generateGripActionScript(ScriptWriter)'' and 'generateReleaseActionScript(ScriptWriter)' methods) generated by a gripper contribution made use of conditional statements, such if- and while-statements.
- Fixed issue where the "There is an error with the URCap that contributes this node" screen, which is displayed instead of the UI for an Installation node contribution when an error occurs while entering the URCap installation screen, would incorrectly be shown, if a Java exception had occurred while the Installation contribution generated script code for the program preamble. Now, the URCap UI will be shown instead.
- Fixed issue where the "Unhandled exception in URCap" dialog displayed during startup of PolyScope, if the code of an Installation contribution or Gripper contribution generated an unhandled Java exception, would not remain on the screen (because it was quickly closed).
URSim
- Serial number length changed to 10 digits to match production robots.
Embedded
- Fixed a bug were in very rare cases, robot could continue to move after a protective stop.
Manuals
- Corrected get_flag, and set_flag parameter descriptions.
NEWEst RELEASE NOTES:
previous RELEASE NOTES:
- Release Notes Software Version 3.11
- Release Notes Software Version 3.10
- Release Notes Software Version 3.9
- Release Notes Software Version 3.8
- Release Notes Software Version 3.7
- Release Notes Software Version 3.6
- Release Notes Software Version 3.5
- Release Notes Software Version 3.4
- Release Notes Software Version 3.3
- Release Notes Software Version 3.2
- Release Notes Software Version 3.1
- Release Notes Software Version 3.0