Release note Software version 5.16.x.x
Applicable for e-Series and UR20/UR30
Download HERE
SW 5.16.0 Release Notes
Release Versions:
- UR Software Update: 5.16.0
- URCap Software Platform:
- URCap API: 1.14.0
- URCap SDK: 1.14.0
- URSim Linux: 5.16.0
- URSim Virtual Machine: 2.0.299
- User Manuals: 5.16
Key Features
Improved Motor control for UR20 and ur30
Users of UR20 and UR30 robots will see at least 30% better path following. Improved repeatability and stabilization time when running with high payloads. New joint servo tuning for optimized motion performance on UR20 and UR30.
MotionPlus
This optional add-on module provides coordinated motion between the robot TCP and a single, external rotary axis. Applications include welding and part inspection. Motions within user-defined frames are supported, with time and pose synchronization between the robot TCP and the external axis position. Requires the optional MotionPlus URCap. Coordinated motion functions are provided as an extension to the UR Script API. A limited set of EtherCAT capable servo drives are supported for this initial release.
World Model
The world model introduces the ability to add a kinematic tree via user-defined frames. Extensions to existing motion commands (movel, movep, movec, movej, and speed) provide the ability to set the motion of the chosen TCP within a designated frame, simplifying the creation of relative motion to a part or other object in the world coordinate system. In addition, frame tracking will cause the robot TCP to move along with a tracked frame in the world model. While MotionPlus requires the World Model, the World Model features are available independent of the MotionPlus add-on.
Flexible Ethernet/IP adapter - release for production
Enables CNC machine connectivity with custom Ethernet/IP Adapter data layouts.
Polyscope GUI
Added support for UR30 to Remote TCP URCap. UR30 owners must update to SW 5.16.0 to use remote TCP features.
Controller
Flexible Ethernet/IP adapter - release for production
Flexible Ethernet/IP Adapter allows to add custom E/IP assembly instances to existing Adapter interface running on a UR robot.
Flexible Ethernet/IP Adapter developed primarily for integration with CNC machines equipped with Ethernet/IP Scanner. Existing built-in input and output assembly instances do not match data layout expected by CNC machines.
For example DMG-MORI NLX lathes use 8 bytes for both input, and output assembly instances. Most of the data are Boolean flags requesting operation, or indicating status. Another example are Mazak CV5 machines using 210 bytes for both input, and output.
Below is an example integration diagram where gray components are customized by OEM or integrator.
Note that neither CNC machine nor UR software needs to be modified, just configured.
How to use it?
Flexible Ethernet/IP functionality is provided by built-in service on UR Robot.
It's necessary to use two interfaces to gain full access to data exchanged with Ethernet/IP Scanner:
- Interface for enabling custom assembly instances. This is an XML-RPC interface with few functions.
- Interface for configuring data layout and accessing process data available in URScript.
Both interfaces are documented in the Script Manual in "Flexible Ethernet/IP Adapter" chapter.
It can be used either directly from URScript - as a script library, or from URCap using XML-RPC API and contributing script functions.
Examples for both use cases will be available on Universal Robots GitHub account.
Flexible Ethernet/IP Adapter could be used for communicating with any external Ethernet/IP scanner that requires custom data layout via custom configurations, not just the CNC machines.
On top of having option of exchanging just the right data it also allows to avoid conflicts in general purpose registers usage.
Watchdog for flexible Ethernet/IP instances
Similarly to RTDE watchdog, an Ethernet/IP custom instance can monitor if data is exchanged with the scanner device in timely manner.
Custom E/IP read handle (opened with eip_reader_factory) has following new methods:
set_watchdog(frequency, action)
Registers a new watchdog on the handle. This can only be called on a read handle. After the call, the new watchdog will start immediately.
Parameters:
- frequency - float, minimum allowed communication frequency. Allowed values are between 0 and 10 Hz. Fractional frequencies are allowed.
- action - integer
- 0: IGNORE - no reaction when the watchdog timeouts
- 1: PAUSE - protective stop and the program will be paused
- 2: STOP - protective stop and the program will be stopped
If called again on the same handle, the watchdog will be reconfigured with the new parameters.
Example:
# Pause program if no data was received from master for more than 400ms
reader_handle.set_watchdog(2.5, 1)
start_watchdog()
Starts the watchdog if it was registered. Throws a runtime error if watchdog is not registered.
NOTE: Watchdog starts automatically when it's created. This function can be used in combination with stop_watchdog().
stop_watchdog()
Stops the watchdog if it was registered. Throws a runtime error if watchdog is not registered.
This method can be used to temporarily mute watchdog
Ethernet/IP adapter XML-RPC interface
Introduced new function is_instance_connected(instance_id) to check the connection status of the given PLC→Robot assembly instance.
Bug Fixes
Polyscope GUI
- Fixed issue where Ethernet/IP status is always shown green (connected) even when PLC is not connected.
- Fixed issue where a suppressed SetPayload node was loaded as a CircleMove node when loading a program.
- Improved responsiveness of PolyScope File Manager on large number of files and folders (1000+). Fixed issue where the File Manager would become very slow to open and navigate.
- Fixed issue with the Force node where in some situations the robot would perform unexpected movements in force mode while executing the program. This would only occur, if the force mode type was changed to "Motion" after the Force node had been configured to be compliant in the x-axis with a different type of force mode.
- Fixed issue where the "The robot is already at his position!" dialog was not displayed the first time the "Move here" button on the Waypoint node was pressed immediately after the position of the Waypoint had been set.
Controller
- Fixed issue were initiating a new move command at non-zero velocity would sometimes cause program to stop progressing.
- Fixed a heap overflow during startup of URControl
- Fixed a heap overflow in socket_read_line() builtin when it encounters an empty string as input
- Fixed an issue where global variables initialized during interpreter mode could be lost after a clear_interpreter() call or after exiting interpreter mode.
- Fixed an issue where calling path_offset_enable() and path_offset_set() immediately after end_freedrive_mode() would result in unexpected robot motion.
Embedded
- Fixed an issue where on rare occasion the Teach Pendant does not respond after soft robot reboot and required complete power down.
User assistance
Manuals
- Added notice about connecting and disconnecting the Teach Pendant while the Control box is powered on.
- Minor updates to Script Manual:
- clarified default parameters for speedl() function
- Documented modulo % operator for numerical types
- Script functions for requesting value from operator through PolyScope UI are documented in Script Manual. Script functions can request Boolean, integer, decimal or string values from operator. Documentation can be found in the "Interfaces" section of the Script Manual.
previous RELEASE NOTES:
- Release Notes Software Version 5.15
- Release Notes Software Version 5.14
- Release Notes Software Version 5.13
- Release Notes Software Version 5.12
- Release Notes Software Version 5.11
- Release Notes Software Version 5.10
- Release Notes Software Version 5.9
- Release Notes Software Version 5.8
- Release Notes Software Version 5.7
- Release Notes Software Version 5.6
- Release Notes Software Version 5.5
- Release Notes Software Version 5.4
- Release Notes Software Version 5.3
- Release Notes Software Version 5.2
- Release Notes Software Version 5.1