UBC’s Cloud Innovation Centre (CIC) invites students to our AWS RoboMaker webinar and live lab on Thursday, July 22 from 1:00 to 3:30 pm PST. In this session, special guest Alex Coqueiro, will introduce you to AWS Robomaker, a service that makes it easy to develop, test, and deploy intelligent robotics applications at scale. We walk through the features of integrating key components into robotics, deploying a single solution, and discuss the uniquely designed models that allow for optimized robots use cases to get you to production fast. We will cover use cases, implementation, simulation, and deployment. Demos will be implemented using Python.
6. “Mobile” robotics
Source: IDTechEx
By 2030
70% of all mobile material
handling equipment will
be autonomous
By 2023
It’s estimated that mobile
autonomous robots will emerge
as the standard for logistic and
fulfillment processes
8. What defines a robot?
A robot is an (autonomous) machine that can sense its
environment, that performs computations to make
decisions, and that performs actions in the real world
Compute
Sense Act
10. Robot Operating System (ROS)
Ubuntu 18.04
Most widely used software framework for robot
application prototyping, development and
deployment.
Opensource powering the world’s robots
Robot – Application
ROS
OS*
Hardware
Ubuntu 20.04
macOS 10.14
Windows 10
https://docs.ros.org/en/foxy/Releases.html
11. ROS
• Developers can focus on delivering value, not
infrastructure
• Analogy: ROS is to Robots
what Node/Rails is to web development
• Robot design patterns
• CLI tools for deployment, monitoring and
debugging
• Simulation tools allows for more flexible design
• Library of hardware interfaces and patterns
• A community of experts to help
12. ROS 2 is production-grade ROS
ROS 2 makes it easier to convert ROS-based prototypes into products that work effectively in
real-world applications
Enterprise features:
Production quality core libraries
Enhanced security
Improved determinism
Real time communication support
Real world networking support
Layered architecture:
Multi-OS support
Industry-standard middleware layer
Improved abstraction
Unified API
Interoperability with ROS1:
ROS1 bridge enables hybrid systems
https://aws.amazon.com/blogs/robotics/ros-2-foxy-fitzroy-robot-development
16. Robotics development cycle
A W S R O B O T I C S M A K E S I T E A S Y T O B U I L D , T E S T , A N D M A N A G E R O B O T I C S A P P L I C A T I O N S
Simulation
(Robot + Physical World)
Iterative development
(Application & Hardware)
Fleet management
Development Simulation Deployment
20. ROS launch
- Spawns multiple ROS nodes running in parallel
- Sets parameters in the parameter server
- XML (ROS1), Python (ROS2)
- AWS RoboMaker simulation uses ROS launch to start your applications
roslaunch package_name file.launch
<launch>
<include file="$(find gazebo_ros)/launch/empty_world.launch">
<arg name="world_name"
value="$(find aws_robomaker_hospital_world)/worlds/hospital.world"/>
<arg name="use_sim_time" value="true"/>
</include>
<include file="$(find pr2_gazebo)/launch/pr2_no_arms.launch" pass_all_args="true"/>
</launch>
Example command:
21. ROS key concepts
Nodes
Processes that perform computations
(Ex: your Python files)
Discovery
The process through which nodes determine how to
talk to each other including name registration and
lookup to the rest of the Computation Graph
Messages
A message is simply a data structure,
comprising typed fields
Topics
Messages are routed via a transport system with
publish / subscribe semantics. A node sends out a
message by publishing it to a topic
Services
Request / reply is done via services, which are
defined by a pair of message structures: one
for the request and one for the reply
ROS Bags
Bags are a format for saving and playing
back ROS message data
25. colcon
• colcon is a command line tool to improve the workflow of building,
testing and using multiple software packages. It automates the
process, handles the ordering and sets up the environment to use the
packages.
colcon build
colcon bundle
26. • rosnode list
List of Nodes
• rostopic list
List of topics
• rostopic echo /unexpected_activity
List content of the topic
• roslaunch my_package care_system.launch
Launch robot
• rostopic pub /unexpected_activity std_msgs/String frontdoor
Package creation
• colcon build
Building robots package
• colcon bundle
bundle robot artifacts for deployment
ROS Middleware Commands
27. Robotics development cycle
A W S R O B O T I C S M A K E S I T E A S Y T O B U I L D , T E S T , A N D M A N A G E R O B O T I C S A P P L I C A T I O N S
Simulation
(Robot & Physical World)
Iterative development
(Application & Hardware) Fleet management
Development Simulation Deployment
28. Hardware, less hard with ROS
The ROS pub/sub bus uses common messages to move data.
Built in messages for common sensors and actuators:
• Cameras
• Depth Sensors
• LIDAR / RADAR
• IMU
• Force Feedback Servos
• Power systems
• GPS
Plus easily extensible
30. Models simulation in the Physical Engine (ODE)
leveraging 3D Engine (OGRE) using Gazebo
Gazebo World
3D Models (SDF*, with
Mesh, STL, OBJ, DAE, etc)
Virtual Robot (URDF**)
* Simulation Description Format
http://sdformat.org
** Unified Robotic Description Format
http://http://wiki.ros.org/urdf
31. AWS RoboMaker WorldForge
A U T O M A T I C A L L Y G E N E R A T E O N E O R M O R E R E S I D E N T I A L S I M U L A T I O N W O R L D S W I T H I N M I N U T E S
• Out-of-the box 3D assets and
world templates
• Generate a world within minutes
• Concurrent world generation – up
to hundreds of worlds
• Fully integrated with RoboMaker
simulation run
• Tag worlds at creation time
32. AWS RoboMaker Simulation
F U L L Y M A N A G E D I N F R A S T R U C T U R E F O R R O B O T I C S S I M U L A T I O N
Managed robotics and
simulation software
stack frees up
engineering resources
Fully
managed
Concurrent simulations
at cloud scale via a
single API call
Highly
scalable
Pay-as-you-go pricing
at per-CPU and
per-minute granularity
Cost
effective
Automatic generation of
virtual simulation worlds
with randomization
Automatic 3D
world generation
35. Robotics development cycle
A W S R O B O T I C S M A K E S I T E A S Y T O B U I L D , T E S T , A N D M A N A G E R O B O T I C S A P P L I C A T I O N S
Simulation
(Robot + Physical World)
Iterative development
(Application & Hardware) Fleet management
Development Simulation Deployment
36. Challenges with robot fleet management
Over-the-air
software updates
Secure
access control
Remote
operations
Remote
troubleshooting
Fleet monitoring
and alerting
37. Key features
• Deploy at scale using
IoT thing groups
• Configure deployments
with rollbacks, timeouts,
and rollouts
• Easily integrate software
to AWS services
AWS IoT Greengrass
Deploy and manage device software at scale to reduce costs and simplify
operations
C L O U D S E R V I C E : D E P L O Y , M A N A G E D E V I C E S O F T W A R E A T - S C A L E
39. Robotics development cycle
A W S R O B O T I C S M A K E S I T E A S Y T O B U I L D , T E S T , A N D M A N A G E R O B O T I C S A P P L I C A T I O N S
Simulation
(Robot + Physical World)
Iterative development
(Application & Hardware) Fleet management
Development Simulation Deployment
41. Resources
AWS RoboMaker scenario-based simulation launcher
https://github.com/aws-samples/aws-robomaker-simulation-launcher
3D Worlds and ROS cloud extensions
https://github.com/aws-robotics
AWS robotics blog with detailed guides on CI/CD and more
https://aws.amazon.com/blogs/robotics
Get started with AWS RoboMaker today!
https://aws.amazon.com/robomaker
Sample application with test node
https://github.com/aws-robotics/aws-robomaker-sample-application-cloudwatch
Learn about ROS
https://ros.org