Painting - Pogramming by demonstration
General Description
Component developed in Unity for automating the painting proccess of furniture employing colaborative robots. This application offers a virtual and immersive environment (VR/AR) that facilitates the programming and control of a UR10e colaborative robot by user demonstration.
| Resource | Link |
|---|---|
| Source code | Link to source code |
| Demo video | Link to video |
Contact
The following table includes contact information of the main developers in charge of the component:
| Name | Organisation | |
|---|---|---|
| MarĂa del Mar Plaza | mar.plaza@ai2.upv.es | ![]() |
License
LGPL
Technical Foundations
Integrated and Open Source Components
This section outlines both pre-existing technologies and open-source components that have been integrated into the component. It provides details on their sources, purposes, modifications, and compliance with licensing terms.
Overview
This module is developed in Unity, with Oculus Meta Quest 2/Oculus Meta Quest 3S as VR hardware with open-source library OpenXR for Unity. It works with sockets and uses RTDE open-source library to establish communication with UR robots, as well as ROS2 Humble. Some 3D models have been integrated in this module with free license. The purpose of this module is to ease the programmation and control of colaborative robots, which is performed by human demonstration using body movements and VR controllers.
Pre-existing Components
Unity
Source
Description
Unity is a powerful and versatile game engine and real-time 3D development platform used for creating interactive 2D and 3D experiences, including games, simulations, and virtual/augmented reality applications. It's widely used by developers of all levels, from beginners to professionals, and is known for its cross-platform capabilities, extensive asset store, and active community.
Purpose in AI-PRISM
It acts as the base for VR/MR developed applications
License
Unity's licensing structure is based on subscription plans, with a free tier (Unity Personal) and paid options (Unity Plus, Pro, and Industry).
ROS2 Humble
Source
Description
ROS 2 Humble Hawksbill is a long-term support (LTS) release of the ROS 2, designed to facilitate the development of robotic applications. It provides a stable and reliable platform for building complex robot systems across various industries, including autonomous vehicles, drones, and industrial robots. Humble integrates key features like enhanced real-time capabilities, improved security, better performance, and expanded support for multiple operating systems.
Purpose in AI-PRISM
ROS2 Humble provides the required libraries and tools that compose the platform in which the applications for data acquisition, processing and control will be deployed.
License
Open base - BSD
RTDE
Source
Description
The RTDE (Real-Time Data Exchange) Python library provides an interface to communicate with Universal Robots controllers using the RTDE protocol. It enables real-time data exchange between external applications and the robot, allowing for sending commands and receiving sensor data with low latency. This is useful for applications requiring custom control loops, live monitoring, or remote command execution.
Purpose in AI-PRISM
It serves as a communication protocol for Univeral Robots.
License
Apache License 2.0
OpenXR
Source
Description
OpenXR is an open, royalty-free standard developed by the Khronos Group that provides a unified API for accessing virtual reality (VR) and augmented reality (AR) platforms and devices. The OpenXR SDK allows developers to write a single application that can run across multiple XR devices without modifying the core logic. In Unity, OpenXR is used through the XR Plugin Management system to support cross-platform VR development.
Purpose in AI-PRISM
It serves as a library to develop VR/AR applications in Unity.
License
Apache License 2.0
How to install
How to use
More information can be found in this link
