Release note Software version 5.3.x.x
The latest software version is at the top of this article.
RELEASE NOTES 5.3.1 - 12/04-2019
- UR Software: 126.96.36.199192
- URSim: 188.8.131.52192
- URSim Virtual Machine: 184.108.40.206192
- Improved trigger of Motor Encoder error message C263A9.
- 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
- Fixed an issue where Auto Move would not be able to accurately reach the requested position.
RELEASE NOTES 5.3.0 - 21/03-2019
- UR Software: 220.127.116.11176
- URCap API: 1.6.0
- URCap SDK: 1.6.1
- URSim: 5.3.0
- URSim Virtual Machine: 5.3.0
- Manual: 5.3.0
- Support Log Reader: 3.6.143
- Digital Pulse: Able to send a pulse signal on Digital Outputs.
- OSSD Support: Suppression of OSSD pulses shorter than 3 milliseconds on Safety Inputs.
- Fast return from E-Stop:
- The robot now removes power from its motors rather than the entire arm, making it possible to resume work with only a brake-release.
- Reduced the movement required to brake-release.
- 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.
- Palletizing: New template making it easier to create palletizing programs
- Simulation Mode: Support to simulate robot movements
- Added support to send a pulse signal on a Digital Output from the Set Command.
- Added Simulation Mode support to simulate robot movements
- Added ability to specify continuous pulses for Digital Outputs
- Added new Palletizing node, making it easier to create palletizing and packaging programs.
- 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 the Until Condition is met.
- There are three types of Until Nodes:
Until Reached Waypoint
URCap Software Platform
- Introduced a behavioral change in the URCap API for the 'isDefined()' and 'getTitle()' methods in the 'ProgramNodeContribution' interface. This change may affect existing URCaps.
- 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.
- 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 Nodes into the Program Tree.
- URCaps can read and change the configuration of Distance Nodes.
- See the new 'domain.program.nodes.builtin.configurations.directionnode' Java package
- See the new 'DirectionNode' interface in the 'domain.program.nodes.builtin' Java package
- Added support for Until Nodes:
- URCaps can create and insert Until Nodes into the Program Tree.
- URCaps can read and change the configuration of Until Nodes.
- See the new 'domain.program.nodes.builtin.configurations.untilnode' Java package
- See the new 'UntilNode' interface in the 'domain.program.nodes.builtin' 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 PolyScope is controlling the Real Robot or not.
- 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)."
- 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 more details about the samples
- Made various improvements to the "10: URCap Examples Overview" section in the URCap tutorial.
RTDE Interface Improvements:
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
- Fixed issue where robots could fault with a hardware error if left on with no program running for extended periods of time
- Fixed issue where the safety system, in rare cases, would report a tool orientation violation when it was far from the limits.
- Fixed issue where a delay on the two inputs from a Three-Position Enabling Device would fault with a Disagreement on the Robot State after a couple of milliseconds instead of with an input disagreement after a second. This would only happen if the Robot Arm was on.
- Fixed issue where the robot could be powered on with the TP attached even though the TP was disabled in the Safety Configuration.
- µA Filesystem will no longer fault if encountering an unknown file, thus allowing downgrading from newer firmware versions.
- Fixed issue where servoj behaved incorrectly if the timestep was greater than the control cycle time.
- Fixed issue where blending could behave incorrectly if one of the motions had a time constraint.
- 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 PolyScope’s Speed Slider froze when setting speed scaling to or below 0.0 through control command "set speed."
- 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 from pause would lead to Protective Stop.
- Fixed issue where attempting to resume a program while Safeguard Stopping failed to resume the program.
- Fixed issue where the Real Robot initialized automatically if another installation was loaded/created while in Simulation Mode.
- Fixed issue where occasionally the robot shows "No controller" when multiple external clients are simultaneously sending secondary programs over the primary or secondary interface.
- Fixed the issue where the Analog Output on I/O Tab was not disabled in Automatic Mode when it specified to be enabled in Manual Mode through I/O Tab Control options from the Installation I/O Setup.
- 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.
- Fixed the issue where the Expression Input text fields had gray borders, so they appeared to be disabled.
- 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 two copies of a URUP file was stored on a disk during update which caused the disk to unnecessarily fill up.
- Fixed the issue where Waypoint TCP orientation was wrong after opening a program
- Fixed the issue where a dialog with an unhandled null pointer Java exception appeared when switching the Operational Mode from Manual to Automatic after exiting the Settings screen on the Network panel.
- Fixed the issue where an error message sometimes appeared too wide and the text was truncated.
- 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).
- Fixed an issue where programs with many waypoints (>150) could break communication between the controller and PolyScope.
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.