Design of an intuitive and responsive remote control interface for robots

Abstract

Nowadays, connected devices and particularly smartphones and tablets are everywhere. Why not use them to control robots, instead of developing a new controller for each robot or reuse a controller that is not adapted for your brand new robot? To fulfill this idea, we have created an Android application that is flexible enough to be compatible with various types of robots. More precisely, it can connect to robots using TCP/IP, SSH, XHR, or WebSocket, and can easily communicate with robots that use ROS. Furthermore, the complexity of GUIs are separated in three parts: interfaces which describe the layout, widgets which are graphic components (e.g. battery, joystick), and drivers which make the link between interfaces, widgets and the robot. Moreover, drivers for robots can be stored online, and be downloaded easily in your mobile device, as well as interfaces. The drivers, widgets, and interfaces are created using web technologies (HTML5, CSS, JavaScript, SVG), which offer a lot of freedom and flexibility. The application has been evaluated on three different robots (ROVéo Mini, AmphiBot III, Absolem). To illustrate the potential of the proposed solution, we have created a GUI for each of robots that uses different kind of widgets such as a virtual joystick, a battery status, an attitude indicator.

Motivation

In robotics, remote-controllers are quite important to enable direct piloting for all robots
from non-autonomous robots to fully autonomous robots. However, during the last
half-century, robots controllers have not evolved; they are always based on the same type
of components: joysticks and buttons. Why not bring them a step further by taking in
account the two following two ascertainment:

  • Nowadays most of the people in developed countries possess a smartphone or a tablet (referred as mobile devices in this paper). These devices offer powerful and flexible development environments to produce high-quality applications in any domain (games, books, music, photography, social, etc.). Moreover, they are easily transportable.
  • Each robotics laboratory tends to create a specific remote-controller for their prototypal robots. Consequently, it brings additional charges and complexity to the project.

Hence, why not developing a unique versatile remote-controller for robots that offer the
possibility to create personalized graphical user interface (GUI) for each of their robots.
The GUI will be used to remote-control robots, and should have access to sensors data
and information of the robots.

Goal

The project therefore aims at developing a versatile remote-controller application for
robots and design some intuitive and responsive GUIs. The biggest feature of the
application is to be able to get new GUIs for robots from an external server. In this
context, the project is subdivided in three parts.

  • Developing a mobile application to remote-control robots which name is Universal Robot Controller (URC).
  • Developing a repository server to store plugins (e.g. personalized GUI) used by the URC. We refer to the server as Universal Robot Repository (URR).
  • Designing intuitive and responsive GUIs for robots.

As proof of concept, the URC should be at least be able to handle 3 kinds of robots.

Amphibot

  • The ROVéo Mini by Rovenso, a Swiss startup.

ROVéo Mini

absolem