Today, organizations are using robotics to address a host of business challenges, from the self-driving car to autonomous walkers to assist older adults, exploring various environments from deep oceans to other planets like Mars. In the past, the integration of these robots took a significant amount of time and effort, and it required specialized expertise in this field. Still, this scenario has dramatically changed thanks to adopting a real-time production system with Linux and the Robot Operating System (ROS). ROS is an open-source software framework for robot development, including middleware, drivers, libraries, tools, and commonly used algorithms for robotics. In this session, we walk the audience through the steps from design to deployment robots using ROS2 Foxy (new version of ROS) from zero to hero using live demo using Python 3 (rclpy) with DDS (Data Distribution Service) simulating real-world environments with Gazebo (open-source 3D robotics simulator). In a nutshell, I will cover designing, developing, testing, and deploying intelligent robotics applications at scale, including integration with critical components, and discuss models that allow for optimized large fleet management.
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
• 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
• 2 major versions ROS and ROS2
14. 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 Model, Environment &
3D Assets
Iterative development
Application & Hardware
Fleet management
Development Simulation Deployment
15. Building Your Environment
Robot application SDK
Robot Simulation
Models (SDF, URDF, OBJ, STL, Collada)
Physical Engine (ODE)
3D Engine (OGRE)
Middleware (ROS)
www.gazebosim.org
ignitionrobotics.org
unity-ros2.readthedocs.io
docs.ros.org/en/foxy/Installation.html
AWS Cloud 9
Eclipse Cyclone DDS
Atom + ROS plugins
wiki.ros.org/IDEs
Robot IDE
Assets
github.com/aws-robotics
avdata.ford.com
github.com/osrf
3D worlds
Cloud Assets
Datasets
ROS Melodic
ROS 2 Foxy
Python & C++
colcon
16. AWS RoboMaker: Robotics in the cloud
A service that makes it easy
for developers to develop,
test, and deploy robotics
applications, as well as build
intelligent robotics functions
using cloud services
17. 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
18. ROS launch
- Spawns multiple ROS nodes running in parallel
- Sets parameters in the parameter server
- XML (ROS1), Python (ROS2)
ros2 launch package_name file.launch.py
def generate_launch_description():
return LaunchDescription([
Node(
package="personal_care_pkg",
executable="sub_move_robot.py",
name="move_robot_node"
)
])
Example command:
22. 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
23. 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 Model, Environment &
3D Assets
Iterative development
Application & Hardware Fleet management
Development Simulation Deployment
24. 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
26. 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
27. Generating Multiple Simulation Worlds
• Generating 3D assets and
world templates
• Generate a world within minutes
• Concurrent world generation – up
to hundreds of worlds
• Fully integrated with simulation
run
• Tag worlds at creation time
28. Simulation @ Scale
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
32. 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 Model, Environment &
3D Assets
Iterative development
Application & Hardware Fleet management
Development Simulation Deployment
33. Challenges with robot fleet management
Over-the-air
software updates
Secure
access control
Remote
operations
Remote
troubleshooting
Fleet monitoring
and alerting
34. 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
36. Has become among the
most popular operational
dashboard technologies in
the world
Uniquely visualizes and
combines insights from
from multiple open
source, cloud, and third-
party data sources
without moving the data
Grafana
38. Local Actions
Operation Insights
AWS IoT Greengrass Core
Virtual
robot
Robotics deployment cycle
Robot Artifacts Amazon Managed
Service for
Grafana
39.
40. 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