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 email Organisation
MarĂ­a del Mar Plaza mar.plaza@ai2.upv.es logo image

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

Unity

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

ROS2 Humble

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

RTDE

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

OpenXR

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