> Robotics in a day: ROS, ROL, AWS RoboMaker

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


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.


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

Ray Zhu is a Senior product manager at AWS. He received a BE in Electronic and Information from the Nanjing University of Posts and Telecommunications in China, an MBA in International Exchange from the London Business School, and an MBA from the University of Chicago Booth School of Business. Since 2014 Mr. Zhu has worked at AWS in Kinesis Firehose, a service that makes streaming data to AWS easier, and currently does lead product management for AWS RoboMaker, a service that makes robotics development easier and makes robots smarter. In this tutorial Mr. Zhu will focus on AWS RoboMaker infrastructure setup.

Douglas Fulop is a Senior product manager at AWS. He received his B.S. Cum Laude in Finance, Management, New York University - Leonard N. Stern School of Business. He was a Product Manager at Kindred.ai, a machine learning / artificial intelligence robotics startup backed by Google Ventures. Since 2017 he is a Senior Product Manager at AWS RoboMaker. He is currently a lecturer in AI at the California College of Arts. In this tutorial Mr. Fulop will focus on simulation and deployment.

Dr. Carlos Hernández Corbato is a postdoctoral researcher at the Department of Cognitive Robotics, Delft University of Technology, in the Robot Dynamics Group. He graduated with honors in Industrial Engineering (2006) and received his M.Sc. Ph.D in Automation and Robotics from the Universidad Politecnica de Madrid in 2013. Carlos is currently the coordinator of the ROSIN European project granted in the H2020 program. He has participated in other national and European projects in the topics of cognitive robotics and factories of the future. His research interests include cognitive architectures, autonomy and model-based engineering. He also (jointly) lead Team Delft, that won the Amazon Robotics Challenge 2016.


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. On-site robots run software created during the tutorial
13:20 – 12:30 Concluding remarks Slides presentation
13:30 End



Supports the Robotics Language
AWS RoboMaker
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.