Adaptive Autonomy in Teleoperating a Collaborative Robotic Arm
Teleoperated manipulators are vital tools in modern manufacturing and disaster management applications. For example, teleoperated robotic arms are used for handling materials and/or performing some operations from distance.
Teleoperation in general means that a robotic manipulator (or simply, an arm) is fully controlled in real time by an operator. Real time control is an important aspect of teleoperation and a lot of effort is put into solving problems related to time delays and limited transmission line capacities. This allows an operator to perform tasks in changing, unstructured environments and adapt the arm movements to different situations.
On the other hand, fully programmed robotic arms do not depend on the communication channel with an operator and can perform a certain task independently. Pre-programmed solutions can scale easily to multiple arm (for example, on parallel production lines). At the same time, this approach provides less flexibility in terms to adaptation to external factors. For example, a manufacturing environment can be significantly different from what was pre-programmed.
The goal of this project is to develop a solution which would allow seamless adjustments of the behavior of the robotic manipulator between pre-programmed and directly teleoperated control modes.
In our recent projects, we have implemented a real-time teleoperated robot solution, using a collaborative robotic arm and a virtual reality based operator interface. Currently, the arm can be either directly controlled by the operator or switched manually to perform pre-programmed action.
The main objective of this project is to develop algoritms and corresponding software to allow a robotic manipulator to seamlessly adjust own autonomy levels between fully teleoperated and fully autonomous (e.g. pre-programmed) modes.
Methods and requirements
This project will make use of a UR10 collaborative robot arm run using ROS and a virtual reality interface based on HTC Vive helmet and developed in Unity3D. The focus of the project may be shifted and adjusted based on individual preferences, however, programming skills in either ROS infrastucture (python and/or C++) or Unity3D (C#) are required.