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.
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
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 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
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 |
AWS RoboMaker: https://aws.amazon.com/robomaker/
Robotics language: https://github.com/robotcaresystems/RoboticsLanguage
Ros-Industrial consortium: https://rosindustrial.org
ROSIN EU project: http://rosin-project.eu
Supported by ROSIN - ROS-Industrial Quality-Assured Robot Software Components. More information: rosin-project.eu This project has received funding from the European Union’s Horizon 2020 research and innovation programme under grant agreement no. 732287. |