A Human-Robot Interaction Javascript Library – Ros Web Components

by Laurence Elliott //


UROS 2019 Profile Picture: Laurence ElliottThe problem of developing GUIs (Graphical User Interfaces) for robots is one that typically requires knowledge of robotics programming and web or desktop GUI development to communicate the user’s inputs to a robot, and to communicate a robot’s state and outputs to the user. This project introduces a FOSS (Free and Open-Source Software) JS (JavaScript) library: ‘RWC’ (ROS Web Components), which utilises the also FOSS ‘ROS’ (Robot Operating System). RWC simplifies the development of web-based GUIs for HRI (Human-Robot Interaction), by exposing common robot behaviours and data through one-line JS function calls, and defining custom HTML (Hypertext Markup Language) elements which can call these functions to display data or send user input to a robot. RWC requires only beginner level knowledge of HTML or JS, and ROS, to enable rapid and easy development of web-based UIs for HRI. RWC is configurable, with more experienced users able to define their own ROS topics and action servers for the library to interface.

Working on this project required me to expand my knowledge of JavaScript, ROS, and the design and development of robot GUIs. Especially difficult was understanding the concepts and syntax of JavaScript’s asynchronous functions, web components, and shadow root. It was a rewarding challenge to develop my project to provide all the necessary features for two use cases. The first: RWC as a backend for a web-based visual robot programming tool by Onis Brown, for public engagement with robot programming. The second: Redeveloping the touchscreen web UI of tour-guide robot Lindsey at Lincoln’s The Collection museum. This, coupled with continuous feedback from my supervisors, Marc Hanheide, and Francesco Del Duchetto, taught me to listen carefully to the requirements of my project’s end-users, and to consider their needs at every stage of design and development. Collaborating with experienced researchers, and the joy of seeing the project gradually come together has given me increased confidence and passion in robotics research, which I aim to utilise in continuing my studies in robotics with a master’s at Lincoln, with the eventual goal of making a career of robotics and AI research.

*To view Laurence’s project poster, please click on the thumbnail below:

                       UROS 2019 Project Poster