Key Components of URCap Development
PolyScope X URCaps are developed using TypeScript and/or JavaScript. The development of URCaps relies on the URCap Software Development Kit (SDK) provided by Universal Robots, which includes tools and libraries for creating custom extensions and plugins that integrate seamlessly with the PolyScope X interface.
TypeScript and JavaScript Programming Languages
Primary Languages: TypeScript and JavaScript are the primary programming languages used to develop URCaps for PolyScope X. TypeScript offers static typing and modern language features, enhancing code quality and maintainability, while JavaScript ensures a dynamic and versatile development environment.
JavaScript/TypeScript SDK: The URCap SDK provides a set of APIs in JavaScript and TypeScript that allow developers to interact with the robot's system, create custom user interfaces, and extend the functionality of PolyScope X.
Angular Framework
GUI Framework: Angular is used as the graphical user interface (GUI) framework for developing URCaps. Angular allows developers to create dynamic and responsive user interfaces with reusable components, ensuring a seamless user experience within the PolyScope X environment.
Component-Based Architecture: Angular’s component-based architecture enables modular development, making it easier to manage, test, and scale the user interface components of URCaps.
YAML Configuration
Component Configuration: URCaps require YAML configuration files to define metadata, such as the bundle name, version, and dependencies. These configuration files help manage the lifecycle and integration of the URCap within the PolyScope X environment.
Containerized Background Processes
Background Execution: URCaps can create background processes that run alongside the main PolyScope X interface using container technology. These containerized processes can perform various tasks such as data processing, communication with external devices, or running complex algorithms that require continuous operation independently of the main robot program execution.
Isolation and Scalability: Containers provide isolation and scalability for background processes, ensuring that they run reliably and do not interfere with the main PolyScope X operations.