Robotics in a Day: ROS, ROL, AWS RoboMaker. Using Industrial-Strength Development Tools to Quickly Setup the Infrastructure, Program, Simulate, and Deploy Robotic Applications

Gabriel Lopes1

  • 1Delft University of Technology

Details

09:00 - 13:00 | Mon 4 Nov | L1-R7 | MoWA-R7.1

Session: Robotics in a Day: ROS, ROL, AWS RoboMake

Abstract

This workshop focuses on quick setup, programming and deployment of software on robots. The objective of the tutorial is to familiarize academic and industry robotics practitioners with new state-of-the-art development tools which were launched within the last 6 months. Revolving around the ROS ecosystem (Robot Operative System), we focus on the cloud infrastructure provided by Amazon Web Services (AWS) RoboMaker, and the open-source Robotics Language (RoL) as a general-purpose robotics programming language. With the combination of both tools, users can speed up development without the need of setting up infrastructure or use very low-level programming languages. Yet, the outcome is industrial-strength high performance computation, by leveraging on cloud computing and auto-generated c++ code. This interactive tutorial spans the entire development process: from setting up a cloud-based development environment, programing a non-trivial behavior on a robot, simulating, and finally deploying. AWS RoboMaker is a service that makes it easy to develop, test, and deploy intelligent robotics applications at scale. RoboMaker extends the most widely used open-source robotics software framework, ROS, with connectivity to cloud services. This includes AWS machine learning services, monitoring services, and analytics services that enable a robot to stream data, navigate, communicate, comprehend, and learn. RoboMaker provides a robotics development environment for application development, a robotics simulation service to accelerate application testing, and a robotics fleet management service for remote application deployment, update, and management. RoL is an open programming language framework for robotics. RoL builds programming abstractions on top of ROS to efficiently and quickly develop ROS applications using a mathematics-centered language. RoL uses the concept of abstraction languages to simplify programming by combining multiple domain specific languages in a single file. This results in a vertical abstraction approach for development (using many languages), as opposed to the classical horizontal abstraction approach (abstraction by creating libraries using the same language). RoL generates ROS1/2 and c++/python nodes, HTML interfaces, or any other elements. The base RoL language has a structure similar to standard high-level programming languages, it is open and highly customizable. In this tutorial we go over using the RoL language, its tools, abstraction languages, and creating a new abstraction language. This tutorial also serves as a vehicle for discussion in the way future robotics development will evolve. We aim to address cloud vs edge computing; shared knowledge and learning; programing languages and abstractions; safety, privacy, performance and certification.