Release note Software version 5.23.x
Applicable for e-Series and UR-Series
For latest release notes of PolyScope X, please refer to Release note Software version 10.10.x
Date of release: August 28th 2025.
Download HERE
SW 5.23.0 Release Notes
Release Versions:
- UR Software Update: 5.23.0
- URCap Software Platform:
- URCap API: 1.18.0
- URSim Linux: 5.23.0
- URSim Virtual Machine: 2.2.x
- User Manuals: 5.23.0
Key Features
- User selectable Force Threshold in tool contact
- Indication of unreachable positions in palletizing
- Tech Pendant selection during initial setup
- Default Motion version in new installations
- Improved jogging
- Direct Torque Control
PolyScope GUI
Added Force Threshold Option to "Until Tool Contact" Node
A new Force Threshold parameter has been introduced to the Until Tool Contact node. This allows users to define the minimum force required to register a contact event.
Setting an appropriate Force Threshold can improve contact detection accuracy, especially when interacting with soft or compliant surfaces. However, users should be aware that higher threshold values may increase the risk of triggering protective stops before contact is detected.
Unreachable Positions in Palletizing
When an item in a pallet node is unreachable, the 3D graphics for the Move Here command will now display in yellow, clearly indicating that the position is not accessible.
Teach Pendant Selection During Initial Setup
It is now possible to change the connected teach pendant when entering the serial number during system configuration. This enhancement improves the user flow when setting up systems without a teach pendant initially connected.
Default Motion Version in New Installations
Starting with PolyScope SW version 5.23.0, new installations will default to Motion Version 2.
For e-Series, UR20, and UR30 robots, users can revert to Motion Version 1 by navigating to: Installation → Motion Settings → Motion Version
Motion Version 2 was first introduced in SW 5.22.0.
Improved Cartesian Jogging Acceleration
To enhance the responsiveness and smoothness of manual robot movements using the TCP jog buttons, the acceleration parameters for Cartesian jogging have been adjusted.
This change results in smoother and more controlled motion, improving the overall experience during manual positioning tasks.
Platform/operation System
Embedded
- The source of the tool temperature measurement has been changed. The temperature is now read from the sensor integrated in the force/torque sensor, replacing the previous sensor located on the tool PCB.
Controller
- New programs start executing with speed fraction 1.0 instead of the previous behavior of starting at speed fraction 0.0 and ramping up during program execution. This also fixes a race-condition leading to non-deterministic speed fraction at program start if programs are executed in rapid succession.
- Added adjustable force threshold to tool_contact script function. This can be used to adjust the change in force needed for a contact to be detected. The force threshold will default to zero, which will result in the same behavior as before the force threshold was added.
- tool_contact(direction=[0,0,1,0,0,0], force_threshold=<float>)
- Added RTDE output channels for actual_TCP_acceleration and target_TCP_acceleration
- Added RTDE output channels actual_current_as_torque
- Added 2 new RTDE output channels:
- DOUBLE actual_robot_energy_consumed - Robot Arm energy consumed since controller startup [Wh].
- DOUBLE actual_robot_braking_energy_dissipated - Robot Arm braking energy dissipated since controller startup [Wh]. This energy is flowing back into the Control Box and gets dissipated as heat.
- Note: both channels are reset to zero on controller startup.
- If a new program is received during pausing or resuming, the robot will brake and then execute the new program.
- Fix Polyscope not showing what joint reported a brake-failure, on power-up.
- Minor adjustments in freedrive/teach mode of UR15
- Minor adjustments in locked axis freedrive mode of UR30
New script commands:
- force_mode_get_damping()
Return the force mode damping. - force_mode_get_gain_scaling()
Return the force mode gain scaling.
Power consumption estimates in URSim
It is now possible to get the estimated power consumption when running a program in URSim in the same way as you can see the power consumption of a physical robot. Connect to RTDE https://docs.universal-robots.com/tutorials/communication-protocol-tutorials/rtde-guide.html and read actual_robot_voltage, actual_robot_current or actual_robot_energy_consumed
Direct Torque Control
The Direct Torque Control interface provides low-level access to joint torque commands at a frequency of 500 Hz. This feature is designed to support both educational and research applications, as well as enable industrial innovation in robotics. By allowing direct control of target torque for each joint, the interface facilitates the implementation of custom impedance control loops.
New script commands:
- direct_torque(torque=[0,0,0,0,0,0], friction_comp=<True|False>)
Direct Joint Torque Control enables low level torque control. This script function needs to be called each timestep otherwise the robot will return back to position control. - get_mass_matrix(q=[<joint angles>], include_rotors_inertia=<True|False>)
Return the robots mass matrix. Useful for calculating the inverse dynamic model. - get_coriolis_and_centrifugal_torques(q=[<joint angles>], qd=[<joint speeds>])
Returns a vector representing the sum of Coriolis and centrifugal torque. - get_jacobian(q=[<joint angles>], tcp=[<tcp offset>])
Return the Jacobian matrix. - get_jacobian_time_derivative(q=[<joint angles>], qd=[<joint speeds>], tcp=p[<tcp offset>])
Return the time derivative Jacobian matrix. - get_target_joint_accelerations()
Return the target joint acceleration. Please note that there is no commanded target acceleration when using direct_torque. - get_actual_joint_accelerations()
Return the actual joint acceleration derived by the joint encoders without filter. Expect some noise on the output.
Bug Fixes
PolyScope GUI
- Fixed text on Motion Version settings being cut off
- Adjusted 3D graphics to avoid disconnected joints
- Fixed log entry for rejected command to reset output pin actions
Controller
- Reduced risk of protective stops in base joint of UR15 UR20 and UR30. Timing might be affected for specific aggressive motions.
URCap Software Platform
URCap API:
- Mixing metric and imperial units for Mass objects caused input validation range to be incorrect
- Adding circle moves through the API caused linked waypoints for some languages
Embedded/Safety system
- Fix parking speed in UR Series robots, so it no stays at the expected speed instead if ramping up
- Fix clearing brake failure multiple times, would result in the brake failure not being cleared
- Fixed cases where the robot would incorrectly report C350 "critical brake failure", in cases where the brake system is working fine.
previous RELEASE NOTES:
- Release Notes Software Version 5.22
- Release Notes Software Version 5.21
- Release Notes Software Version 5.20
- Release Notes Software Version 5.19
- Release Notes Software Version 5.18
- Release Notes Software Version 5.17
- Release Notes Software Version 5.16
- 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