Release note Software version 10.8.x.
Applicable for e-Series and UR20/UR30.
For latest release notes of PolyScope 5, please refer to Release note Software version 5.21.x.x
Date of release: 10th April 2025.
Download HERE
SW 10.8.0 Release Notes
Release Versions:
- PolyScope X robot image: 10.8.0 (0.2.266)
- URCap X SDK: 0.15.63
- Manuals Global: 20.10
- Manuals En: 10.11
Key Features
- Teach Mode, a brand new feature, enables users to start a recording of an entire path including any activated Smart Skills. Ever Smart Skill action used during Teach Mode will be inserted as a node directly into the Program Tree, for easy reconfiguration.
- Threads can now be created in the User Interface, by converting a Function to a Thread. Threads can be started and stopped with a Thread Node at any point in the program.
- The Put-in-box arm configuration used when transporting the robot is now available as a Smart Skill. It can be used directly from Application > Smart Skills or the Smart Skills drawer, when activated.
- URCaps can now contribute with their own Operator Screen.
Compatibility notice
Please note that PolyScope X (all versions) is only supported on Control box version 5.6 (CB5.6).
To verify your Control box version please check the serial number label. It will clearly state "CB5.6" in the model name. If the version listed is not CB5.6 or not listed at all, your Control box does not support PolyScope X. If your robot is purchased as being a PolyScope X Robot, but you do not believe you have the right Control box, please contact Universal Robots with this information so we can ensure you have the right hardware.
PolyScope X Upgrade Kits are available supporting all current Universal Robot models. Please contact Universal Robots or your local Universal Robots Partner to learn more.
PolyScope X User Interface
Improvements to log messages
The Log Messages page in the System Info application screen now lists all log messages from the system. The page has two new individual filter buttons (at the top of the messages list) that allow for filtering on messages for faults and violations independently. Previously, this screen only provided one combined filtering option.
The rightmost filter button is used to show/hide violations whereas the filter button next to it shows/hides faults.
For some log messages, it is possible to view additional information by pressing the new More Details button that appears when the message is selected in the list.
This will display a dialog with more details.
Teach Mode
Teach Mode is a new way to program the robot by demonstration. In the initial release, Teach Mode will record all movements made in Freedrive and any Smart Skills used.
When recording timing is not taken into consideration; only physical actions, such as moving the robot or using a Smart Skill, are added to the program tree as corresponding nodes. For example, using Freedrive with Teach Mode enabled adds a path node to the program tree.
Program nodes will be inserted after the currently selected node, if allowed.
To enable Teach Mode, navigate to the Smart Skills pane located in the Move drawer. Press the Teach Mode button at the bottom of the screen. Apply a Smart Skill and wait for it to stop, or stop it yourself. In addition to the Smart Skills, pressing the physical Freedrive button will generate a program node in the tree.
In Teach Mode, the Undo button will remove the inserted node. Additionally, you can undo the Smart Skill to restore the robot's previous state, for example, by returning it to its position before the action was performed.
Threads
A thread is a function that is run concurrently with the main program. Functions can be converted to/from a thread.
To mark function as thread, click it's context menu. Click the "Mark as Thread" option.
The function is now marked as a thread, and the user can click the "Loop always" checkbox to make the thread execution loop when done.
The thread can be converted back to a normal function, by clicking the context menu, and selecting the "Mark as Function" option.
Programming with threads
Threads can be started and stopped from anywhere in your program.
Open the Tool Box and select the Thread node.
In the inserted Thread node, select the Module name and Thread name. Then select Run or Kill to start or stop the thread execution at that point.
Threads that are meant to run for the entire duration of the program execution can be started from Before Start section of the Main Program.
Move in direction until signal
When inserting a Direction node from the toolbox, the Until condition can now be an digital I/O input signal, as shown below.
Multiple signal conditions can be added.
Move in direction until distance
When inserting a Direction node from the toolbox, the Until condition can now be a distance, as shown below.
Only one distance condition can be added.
Put in box smart skill
The robot can be put in its default transportation position by utilizing the new Put In Box Smart Skill. This Smart Skill is deactivated by default and can be used either directly from Application > Smart Skills or from the Smart Skills drawer, if activated.
Activate the Smart Skill by selecting "Activate" option from the Smart Skill context menu. Smart Skill will appear in the Smart Skills drawer in the Multitasking Panel.
Tool communication
Additional Tool Power options have been added to the Tool Output section of the Communication screen.
The options to select a Tool Output of 0/12V/24V have been added.
There is additionally a toggle to select Dual Pin Power.
For each Tool Digital Out, the Power Output options can be selected between Sinking, Sourcing, and Push / Pull.
Additional operator screen support
Additional Operator Screens can now be added as a URCap. On the Application screen there is now an icon that allows to configure each Operator Screen, as well as selecting the default.
For the initial release of this feature, the setting of Configuration and Status will remain on the Programming screen.
With support for custom Operator Screens, a 3rd party developers can completely customize what is shown on the Operator screen.
API
New program node lifecycle hook - onlifecyclehook
We are introducing a new Program Node Lifecycle Hook, onLifeCycleHook, for program nodes in PolyScope X. This function allows developers to execute custom logic whenever a program node undergoes key lifecycle events, including deletion, pasting, suppression, and unsuppression.
Key features:
- Custom Lifecycle Handling: Implement necessary operations such as resource cleanup, state restoration, or configuration adjustments in response to node events.
- Improved Workflow Integration: Ensure seamless transitions when nodes are pasted, suppressed, or deleted, enhancing the user experience.
- Greater Flexibility: Develop more dynamic and responsive program nodes by reacting to lifecycle changes in a controlled manner.
This enhancement provides better control over program node behavior, enabling developers to build more robust and user-friendly integrations.
For more details, please refer to the official API documentation.
Example:
onLifeCycleHook(data: LifeCycleEvent<ProgramNodeLifeCycleEventType, ProgramNode>) {
// React to lifecycle events
// data.event describes the type of hook that is being triggered
// data.data contains the node that is being affected
}
Enhanced Updatesubtreenode function
We have updated the updateSubTreeNode function in PolyScope X to support BranchNode objects containing a children object. This enhancement allows developers to update a program node and its children in one operation, improving efficiency and simplifying program modifications.
Key enhancements:
- Batch Updates: Developers can now update a BranchNode along with all its child nodes in a single function call.
- Improved Efficiency: Reduces the need for multiple sequential updates, streamlining the process of modifying program structures.
- Seamless Integration: Ensures that hierarchical program structures are maintained correctly when updating nodes.
This update provides greater flexibility and efficiency when working with complex program structures.
If you want more details, please refer to the official API documentation.
Subtreenode interface Fix
We have updated the SubTreeNode interface in PolyScope X to correctly include BranchNode as a valid type for ProgramNode. This resolves a previous issue where BranchNode was mistakenly omitted, ensuring that developers can now work with hierarchical structures as intended.
Key Fixes:
- Corrected Type Definition: BranchNode is now recognized as a valid ProgramNode within the SubTreeNode interface.
- Improved Consistency: Aligns the interface definition with the expected program node hierarchy.
- Enhanced Flexibility: Enables developers to manipulate both individual nodes and structured branches correctly.
This fix ensures that developers can fully utilize the SubTreeNode interface without unexpected type limitations.
For more details, please refer to the official API documentation.
Enhanced Sourcebehaviours for set/get
New methods have been added to SourceBehaviours to allow a contribution to perform extra range checking and validation when using a Source in a Set and Wait node. And example of their use would range check an analog voltage to between 0-10V.
New contribution type operatorscreen with operatorscreenbehaviours
These are the new types and interfaces for creating an operator screen contribution. This new contribution type is defined in much the same way that other contribution types (eg program node, application node) are.
There are two presenter types for this contribution.
- OperatorScreenPresenter. This is for the defined operator screen. It's key should be referenced in the contribution.json with the componentTagName field
- OperatorScreenConfigurationPresenter. This is for the configuration screen that will be shown in the list of operator screens. It's key should be referenced in the contribution.json with the configurationComponentTagName field
There is also an OperatorScreenService for updating the contributed operator screen. It should be called when either the operator screen or config screen is changed.
Bug fixes:
Controller
- No parse error reported when there is a syntax error and TCPReceiver thread crashes. Issue is fixed, PolyScope reports the appropriate error and TCPReciever thread is stable and running.
- Fixed an issue where ROS2 services with a complex return type might crash the controller.
- Fixed an issue where memory allocation for ROS2 was able to disturb the communication with the robot arm.
- Fixed an issue where preamble scripts of the program did not exist in *.script file in the flight recorder.
Polyscope
- Fixed issue where the filter buttons on the Log Messages page in the System Info application screen had a wrong color in Dark Mode
- Increased the maximum allowed value to 400 N for the Elbow Force and Tool Force (under Robot Limits) in the Safety Configuration on UR10, UR15, UR16, UR20 and UR30 robots. In previous software versions, the limit was incorrectly set to 250 N.
- Increased the maximum allowed value for the following limits (under Robot Limits) in the Safety Configuration on UR20 and UR30 robots:
- Momentum: Maximum value increased from 100 kg*m/s to 200 kg*m/s
- Stopping Time: Maximum value increased from 1 s to 2 s
- Tool Speed: Maximum value increased from 5 m/s to 10 m/s
- Elbow Speed: Maximum value increased from 5 m/s to 10 m/s
- Fixed issue where the info text displayed not translated on the Freedrive popup panel when the robot arm is in a singularity.
- Fixed issue where in rare situations in setups using Safeguard Stop, powering on the robot arm would also automatically release the brakes.
Known issues
Undefined SSH state: this issue affects existing users upgrading previous versions to PolyScope X 10.7 with SSH access enabled on their robots.
When upgrading from a previous version of PolyScope X to version 10.7 the SSH settings may end up in an undefined state, where SSH appears enabled, but the firewall is closed. To fix this issue the SSH service must be toggled Off and On again in the robot settings. This will reset the SSH state and enable connection.
PROFINET configuration deleted: issue affects customers using PROFINET. Part of the update process is deleting configuration file that contains device name, and network configuration. Workaround is to reconfigure robot device through PLC programming software after update. It's also possible to manually backup configuration file - contact technical support for more details