Hello again, UR community!
In November we announced that PolyScope 6 is coming,
and with this update, we want to shed more light on what changes PolyScope 6 entails.
Why PolyScope 6? → ROBUSTNESS
The driving force behind PolyScope 6 is to increase the robustness of the robot software platform.
PolyScope 6 is a major leap forward - particularly for the backend or “engine room” of the PolyScope-software.
In designing the features for PolyScope 6, we emphasized aspects that increase the scalability and extensibility of URCaps.
URCap scalability and extensibility
PolyScope 6 offers modern and scalable technologies, that support URCaps becoming increasingly richer and focused on solutions. Developers will be offered a larger freedom of choice in their selection of coding technologies, libraries, and versions. The technology will further help address key scalability challenges and conflicts observed between independently created URCaps, that is observed by some end-users and integrators.
Updated software platforms
In PolyScope 6 we have updated the entire backend of the system with a new Debian 11 Operating System with a 64-bit kernel. This replaces the current Debian 8 32-bit OS. This is a great leap forward in terms of the cybersecurity and robustness of the platform. The native Java-version is upgraded to Java 17 from Java 8, enabling developers to utilize the latest libraries and dependencies in URCap code. Developers can also choose latest versions of Python (3) and C++ for backend services if desired.
Enabling more value creation for customers
All of these upgrades are intended to allow more innovation and faster value creation for our end-customers.
Key Changes to PolyScope 6-based URCaps
If you are developing a URCap, whether as a UR+ Partner, OEM, system integrator, or for internal company usage, these are key changes that you need to consider to migrate your current PolyScope 5-compatible URCap to PolyScope 6:
New URCap format: URCapX
The format of URCaps is changing with PolyScope 6, to a new format called URCapX (.urcapx). The new URCapX-format is a more extensible zip-archive-based format, that contains the various components of the URCap, such as the Java-frontend, and any backend services. It also allows us to extend with new types of URCap elements in the future. This will replace the existing “.urcap”-format, that is based on Javas jar-archive packaging.
URCap backend services (daemons) must be run in Docker containers
The backend services of a URCap, such as Python or C++ daemons must be run in Docker containers. Docker containers are a lightweight form of process encapsulation, that reduce the daemons dependency on the host OS. This allows developers to have a much higher freedom of choice in the versions of code you can run and remove conflicts between different URCaps processes on the OS.
Developers can select which code libraries and binaries are required to run their backend process, allowing the use of newer versions of C++ and ex. Python 3, independent of the versions available on the robot host OS.
Existing URCaps will not be compatible with PolyScope 6
PolyScope 6 will not support the installation of the old URCap format (.urcap). Only URCapX can be installed. The upgrades to the OS and encapsulation requirements to backend daemons mean that existing URCaps with daemons are very unlikely to execute in the new host environment due to updated kernel and host software versions. Existing URCaps must be recompiled into the new URCapX-format to be compatible with PolyScope 6.
Programs, Installations, and URScript remains compatible from PolyScope 5 to PolyScope 6
Existing user programs (.urp), installation-files (.installation), and URScript programs remain compatible, and programs made in PolyScope 3 or 5 can be imported and executed directly on PolyScope 6 robots. If the programs use URCaps, the updated URCapX must be used instead.
URCaps that have been recompiled to the URCapX format will keep their program- and installation-data (the DataModel) if the URCap keeps the same symbolic name (ex. com.ur.urcap.sample).
We have also made several improvements to the SDK, its packaging, and the development environment. The new development environment will be platform-independent, allowing you to develop directly from your Windows, Linux, or Mac computer through your favorite IDE. The development environment is provided as a Docker-container boasting all the relevant APIs, documentation, and libraries, so the only thing you will need to install is Docker (ex. Docker Desktop on Windows) and an IDE like VSCode. This is a much more lightweight and flexible solution, to the URCap Starter Package virtual machine provided today, and allows your source code to stay conveniently on your host machine for easy SDK updates.
The URSim has also been packaged as a Docker-container, like you can already find from our Docker Hub for PolyScope 5 and 3, making it faster to test different versions and consuming less host PC resources.
The PolyScope 6 SDK naturally contains a comprehensive URCap Migration Guide, that instruct you every step of the way to migrate your existing URCap to the URCapX format.
The increased software-horsepower of the PolyScope 6 product enable us to build a lot of new value into the platform. Many of those benefits will already be available from the initial release, and includes improvements to motion performance, motion planning, advanced URScript functions, and coordination to external movement. PolyScope 6 further boasts improvements to the cybersecurity options users and admins can harness, in protecting the robot on larger networks.
Timelines and planning
PolyScope 6 is delivered with all UR20-robots. It will be optionally available for customers to upgrade during the summer of 2023 and will become the default for all new e-Series robots during the fall.
Get a head-start to the migration of your URCap to PolyScope 6 or be among the first to test the new features packed in this great update! If you haven’t already done so, sign up to our beta program using the link below, and we will be in touch with you as soon as the beta starts.
We plan to start the beta program in March 2023.
We will keep updating the forum with more exciting updates about PolyScope 6.
Jacob Bom Madsen
Hi, thanks for the update. I have 2 questions!
- What do you mean by “and coordination to external movement”, are we finally talking synchronous external axis support?
- will current e-series controllers support Polyscope 6 without any hardware upgrade?
Wow. PS6 sounds like some big improvements!
I see “newer versions of C++ and Python3” mentioned a couple times along side the massive announcement of docker backend. If were using docker backend; is there any practical constraints to which language is implemented inside the container?
With docker backend - what is the relevance of “newer” C++ and python?
Hej, will we get a URCap starter package, with everything installed (OS, URCap SDK, Polyscope), in .ova format, same as we have now in the URCap resources avaliable? Some of us don’t have a CS background and dealing with Linux installations and walk-arounds install scripts can get too hard.
Will be more than happy if there are learning resources made available publicly on how to create URCaps for the new Polyscope so that we can be be prepared.