Robotics in a day: ROS, ROL, AWS RoboMaker

Using industrial-strength development tools to quickly setup the infrastructure, program, simulate, and deploy robotic applications.

Tutorial IROS 2019

Introduction

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++/python/javascript 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. More information at: https://aws.amazon.com/robomaker/

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. More information at: https://github.com/robotcaresystems/RoboticsLanguage

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.

Topics of interest

Robotics development tools

Software infrastructure, simulation, deployment

Robot programming languages

Cloud computing

Machine learning

ROS, Robot Operative Systems

ROL, Robotics Language

Abstraction languages, domain specific languages, compilers

Correct-by-design software and certificaton

Intended audience

The topics addressed in the tutorial are crucial for all developers of robotic applications, being in industry or academia. In industry it is particularly relevant for startups and SME’s where agile development, small teams and cutting-edge tools are used to create new disruptive robots. Time saved in infrastructure and programming is used for innovation. For more established companies, scalability and cloud computation are crucial. For academics, the tools presented in the tutorial remove the tremendous infrastructure and programming overhead put on robotics students, thus allowing them to focus on algorithms. Using the web tools provided by the AWS cloud infrastructure and the programming abstractions available in RoL, non-technical users can program robots using high-level behaviors. Thus, non-technical robotics stakeholders also benefit from this tutorial.

The target audience ranges industry and academia, from young students as users, to senior professionals as contributors. In particular, roboticists, computer scientists, linguists, and other relevant non-technical are welcomed.

Organizers

Dr. Gabriel A.D. Lopes is an AI, robotics and control specialist. Currently he works at Caspar.ai in the Netherlands. From 2016 to 2019 he has worked at RRC Robotics. From 2009 to 2016, Dr. Lopes was an Assistant Professor at the Delft Center for Systems and Control, Delft University of Technology, NL. He received a MSc and PhD degrees in Electrical Engineering and Computer Science from the University of Michigan, and a “Licenciatura” degree in Aerospace Engineering at the Instituto Superior Tecnico, Universidade Tecnica de Lisboa, Portugal. In 2007, he was a visiting scholar at the Grasp lab, University of Pennsylvania, USA. His interests include AI, robotics, dynamical systems, nonlinear control, machine learning, software architectures, language theory, and many other topics.

Ragha Prasad is a Senior Software Engineer at AWS. He received a BE in Computer Science & Software engineering from PSG College of Technology in India and an MS degree in computer science from Purdue Univeristy. Since 2010 Mr.Prasad has worked on building services that power a number of Amazon’s consumer electronics products like Kindle tablets and Alexa echo. He worked for Uber from 2016 to 2018 building a number of ride share features before returning to work for AWS in 2018. He currently works for AWS RoboMaker, a service that makes robotics development easier and makes robots smarter. In this tutorial Mr. Prasad will focus on AWS RoboMaker infrastructure setup.

Emerson Knapp is a Software Development Engineer at AWS Robotics. He received a B.A. in Computer Science from UC Berkeley. After working on design software for 3D printing at Autodesk, he co-founded the 500 Startups-backed company 43Layers to provide custom digitally fabricated goods to consumers. After that, he joined Dispatch.ai in making and deploying wheeled delivery robots that ran on the sidewalks of South San Francisco. He came to Amazon in 2017 when Dispatch was acquired to join the Amazon Scout delivery robot project. Emerson now contributes to ROS2 full time for AWS Robotics as part of the RoboMaker team. He will be assisting this workshop with ROS and Gazebo simulation workflows

Program

Time Talk Comments
9:00 – 9:30 Introduction to AWS Robomaker Slides presentation
9:30 – 10:00 Introduction to the Robotics Language Slides presentation
10:00 – 11:00 Setting up cloud infrastructure for development Interactive session. Attendees are invited to run software in the cloud
11:00 – 11:30 Coffee break
11:30 – 12:30 Developing behavior using the Robotics Language Interactive session using cloud infrastructure.
12:30 – 13:20 Simulation and Deployment Interactive session.
13:20 – 13:30 Concluding remarks Slides presentation
13:30 End

Resources

Support

rosin_logo
Supported by ROSIN - ROS-Industrial Quality-Assured Robot Software Components. More information: rosin-project.eu
eu_flag This project has received funding from the European Union’s Horizon 2020 research and innovation programme under grant agreement no. 732287.