Release note Software version 3.9.x.x
For CB-Series only
The latest software version is at the top of this article.
RELEASE NOTES 3.9.1 - 12/04-2019
Released Versions
- UR Software: 3.9.1.64192
- URSim: 3.9.1.64192
- URSim Virtual Machine: 3.9.1.64192
Bug Fixes:
PolyScope GUI:
- Fixed an issue where a waypoint blend value was automatically updated during run time, causing the program to stop.
- Fixed an issue where changing the time could freeze the User Interface when clicking apply/restart.
- Enhanced performance of PolyScope when working with many nodes using I/Os or General Purpose registers
RELEASE NOTES 3.9.0 - 21/03-2019
Released Versions
- UR Software: 3.9.0.6450
- URCap API: 1.6.0
- URCap SDK: 1.6.1
- URSim: 3.9.0
- URSim Virtual Machine: 3.9.0
- Manual: 3.9.0
- Support Log Reader: 3.6.133
Summary of updated content regarding this release:
- User Manual
- Script Manual
- Offline Simulator
- Robot Image Software
- Robot Software
- Support Log Reader
Key Features
- Digital Pulse: Able to send a pulse signal on a Digital Outputs.
- Direction program node: Program the robot to move in a direction until an Until Condition is met.
- Until program node: Program robot actions until a specific 'Until Condition' is met.
- URCap API: Support for the new Distance Node.
- URCap API: Support for the new Until Node.
- URCap API: Support for configuring the TCP settings for Move Nodes.
PolyScope GUI
- Digital Pulse:
- Added support to send a digital pulse signal on a Digital Output from the Set Command
- Added ability to specify continuous pulses for Digital Outputs
- Added support to send a digital pulse signal on a Digital Output from the Set Command
- Added the Direction Node, which allows users to program the robot to move in a direction until an Until Condition is met.
- Added Until Nodes. These nodes must go under a Waypoint or a Direction Node. Actions can be added under Until Nodes to run if and when the Until Condition is met.
- There are three types of Until Nodes:
- Until Expression
- Until Distance
- Until Reached Waypoint
- Until Expression
Script
URCap Software Platform
Compatibility Notice:
Introduced a behavioral change in the URCap API for the 'isDefined()' and 'getTitle()' methods in the 'ProgramNodeContribution' interface. This change may affect existing URCaps.
Changes:
- Any modification to the data model or the child program sub-tree within the scope of calls to the implementation of overridden 'isDefined()' or 'getTitle()' methods throws an 'IllegalStateException' exception. This occurs even if the changes are inside of an 'UndoableChanges' scope.
- This change is introduced to improve system performance, enforce good coding practice, and increase the robustness of the URCap Software Platform. The 'isDefined()' or 'getTitle()' methods are called frequently, and therefore should only rely on existing values (that are present in the data model) or the current child sub-tree structure.
URCap API:
- Improved API support for Move Node configurations:
- Added support for the configuration of TCP settings.
- Added support to make it easier to create supported node configurations using flexible configuration builders:
- Compared to the existing configuration factory, it is much easier to modify/update an existing configuration with the new builders (using the 'copyFrom(...)' method) when the value of only one or a few parameters needs to be changed in the current configuration of a Move Node.
- See new'domain.program.nodes.builtin.configurations.movenode.builder' Java package
- The new configuration builders are accessible in the existing 'MoveNode' interface
- Deprecated existing 'MoveNodeConfigFactory' interface
- In future API versions, no new API functionality will be added to the existing 'MoveNodeConfigFactory' interface. The new configuration builders must be used instead. Existing URCaps that wish to configure the TCP settings of a Move Node can "feed" Move Node configurations into the new configuration builders (using the 'copyFrom(...)' method) to save time.
- Added support for querying the robot series:
- See new method 'getRobotSeries()' in the existing 'RobotModel' interface (in the 'domain.robot' Java package)
- This new method can be used to determine if the robot is a CB3 or an e-Series robot.
- Improved API support for Features:
- Added support for getting the pose for the Cartesian position of Line and Plane features (the existing 'FeatureLine' and 'FeaturePlane' interfaces).
- See new 'getPose()' method in the 'Feature' API interface (in the 'domain.feature' Java package)
- Deprecated all 'getPointX()' methods in the 'FeatureLine' and 'FeaturePlane' interfaces
- Added support for Distance Nodes:
- URCaps can create and insert 'Distance' program nodes into the Program Tree
- URCaps can read and change the configuration of 'Distance' program nodes
- See new 'domain.program.nodes.builtin.configurations.directionnode' Java package
- See new 'DirectionNode' interface in the 'domain.program.nodes.builtin' Java package
- Added support for 'Until' program nodes:
- URCaps can create and insert Distance Nodes into the Program Tree.
- URCaps can read and change the configuration of Distance Nodes.
- See the new 'domain.program.nodes.builtin.configurations.directionnode' in the Java package
- See the new 'DirectionNode' interface in the 'domain.program.nodes.builtin' in the Java package.
- Added support for single pulse configurations of Set Nodes:
- URCaps can read the configuration of 'Set' program nodes which are configured to generate a single pulse on a Digital Outputput
- URCaps can apply 'Set' node configurations which generates a single pulse on a Digital Outputput
- See new 'createSingleDigitalPulseConfig(...)' methods in the existing 'SetNodeConfigFactory ' interface (in the 'domain.program.nodes.builtin.configurations.setnode' Java package)
- Added support for PolyScope Simulation Mode:
- URCaps can query whether or not PolyScope is controlling the Real Robot.
- See the new 'RobotSimulation' API interface in the 'domain.robot' Java package.
- The new 'RobotSimulation' API interface is accessible through the existing 'SystemAPI' interface.
- Made various updates and improvements to Javadoc
- Improved error messages when an 'IllegalStateException' exception is thrown for the following:
- When the 'get()' method is called on the contribution provider ('ContributionProvider' interface)' in the implementation of the 'buildUI()' method in the 'SwingProgramNodeView' interface. The error message now says "The ProgramNodeContribution should not be used directly from within the buildUI() method, but rather from a user action. E.g. a button listener."
- When a method is invoked on the implementation of the 'SwingProgramNodeView' interface in the constructor for the node contribution, and the implementation of the invoked method calls the 'get()' method on the contribution provider. The error message now says "This ProgramNodeView should not be used directly from the ProgramNodeContribution constructor, but rather in openView() or from a user action (e.g., a button listener)."
URCap SDK:
- Created new or updated URCap samples:
- Added new 'Move Until Detection Swing' sample demonstrating how to use the new API features for the Distance and Until Nodes.
- Updated the 'Ellipse' and 'Ellipse Swing' URCap samples:
- Changed the configuration of Move Nodes from using the deprecated configuration factory to using the new configuration builder.
- Updated the sample to demonstrate how to configure the TCP settings of a Move Node.
- See section "10: URCap examples overview" in the URCap tutorial for sample details
- Made various improvements to the "10: URCap Examples Overview" section in the URCap tutorial.
Controller
RTDE Interface improvement:
The number of BOOL, INT and FLOAT General Purpose Registers is doubled. Now, these registers can be used from an external client (e.g., URCaps) while one of the built-in Fieldbus interfaces (either Profinet or EthernetIP) is active. Both interfaces reserve the lower halves of the General Purpose Input Registers.
General Purpose Registers:
- Input registers (128-BOOL, 48-INT, 48-FLOAT).
- Output registers (128-BOOL, 48-INT, 48-FLOAT).
- Naming the new GP registers continues after the lower half (input_int_register_24, ..., input_int_register_47; output_int_register_24, ..., output_int_register_47).
- The new GP input registers are accessible for reading purposes through the same name in GP output recipe.
- It is possible to reserve the newly added GP input and output registers of type BOOL individually (e.g., the recipe name: 'input_bit_register_X', where X: [64..127])
Created a new version of the RTDE client python library to support the reservation of the new 'input_bit_register_X' recipes. The documentation can be found on UR support site: Real Time Data Exchange guide - 22229
Bug Fixes
Controller
- Fixed issue where servoj could behave incorrectly if the timestep was greater than the control cycle time.
- Fixed issue where the communication between PolyScope and the Controller became unstable if a user created a Modbus signal (through the script built-in function) with a signal name exceeding 20 characters.
- Fixed issue where the PolyScope Speed Slider froze when setting speed scaling to or below 0.0 through control command "set speed."
- Fixed issue where Controller failed to go into Idle Mode when the robot was instructed to power on.
- Fixed issue where the Controller should not enter Simulation Mode if the Real Robot is not still.
- Fixed issue where the Controller went into a deadlock when killing a program thread, including a nested thread performing a motion.
- Fixed issue where resuming a program while Safeguard Stopping failed to resume the program.
- Fixed issue where a Tool I/O could not be read before first Brake Release
- Fixed issue where the Waypoint TCP orientation was wrong after opening a program.
- Fixed issue where occasionally the robot shows "No controller" when multiple external clients are sending secondary programs at the same time over the primary or secondary interface.
PolyScope:
- Fixed the truncated names in the Feature drop-down menu on the Command tab for the Force Node.
- Fixed the issue where some of the drop-down menus (e.g., the Command Tab for the Wait and Set Nodes) cover PolyScope's header or footer when expanded.
- Improved German translation
- Fixed the issue where an unnecessary "Apply Safety Configuration" dialog appeared when loading an installation with a safety configuration identical to the current safety configuration.
- Fixed the issue where script generation was incorrect after loading a previously saved program with pre-initialized variables.
- Fixed the issue where an error message sometimes appears too wide and the text was truncated.
- Removed the option to select "SAFE HOME" from configurable outputs in safety I/O.
- Fixed the issue where attempting to start a program containing the Init Variables Node (configured to initialize some variables) could result in a "Value error: ..." runtime error. This occurred if the same program was reloaded.
- Fixed the issue where two linked Waypoint Nodes would become unlinked, if one of the Waypoint Nodes was renamed.
- Fixed the issue where the 3D display of the robot position was incorrect on the Pose Editor screen when the 'Edit pose' button was pressed in the Command Tab for a defined Waypoint Node. This occurred if the Waypoint Node's TCP settings were configured to the 'Use active TCP' option and the coordinate values of the active/default TCP were modified in the installation.
- Fixed the rare issue where two unresolved Point Features with the same name appeared in the Feature drop-down menu on the Command Tab for the Force and Move Nodes. This occurred if a Point Feature selected in a Force or Move Node was deleted from the installation and a new Point Feature and a new Line Feature were created, where the Point Feature and a Point Sub-Features of the Line Feature both had the same name as the deleted feature (two linked features).
URCap Software Platform:
- Fixed issue where PolyScope became unresponsive if a URCap modified the data model or the child program sub-tree outside of an 'UndoableChanges' scope in the implementation of the overridden 'isDefined()' or 'getTitle() methods in the 'ProgramNodeContribution' interface. An 'IllegalStateException' exception will now be thrown if the data model or the sub-tree is modified within the scope of calls of any of these two methods, even if the changes are inside an 'UndoableChanges' scope.
- Fixed issue where inserting Waypoint Nodes with default names (e.g., "Waypoint_1", "Waypoint_2") resulted in undesired linking of the inserted Waypoints when the language in PolyScope was Italian.
- Fixed issue where the 'closeView()' method in the 'ProgramNodeContribution' interface never called (only 'openView()' got called) when a URCap Node was moved up or down in the Program Tree (through the PolyScope).
- Fixed issue where building a URCap failed on some systems 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 are updated.
NEWEst RELEASE NOTES:
previous RELEASE NOTES:
- 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