AWS RoboMaker is a service that makes it easy for developers to develop, test, and deploy intelligent robotics applications.
Cloud Extensions for ROS
Robot Operating System, or ROS, is the most widely used open source robotics software framework, providing software libraries that help you build robotics applications. AWS RoboMaker provides cloud extensions for ROS so that you can offload the more resource-intensive computing processes that are typically required for intelligent robotics applications to the cloud and free up local compute resources. These extensions make it easy to integrate with AWS services like Amazon Kinesis Video Streams for video streaming, Amazon Rekognition for image and video analysis, Amazon Lex for speech recognition, Amazon Polly for speech generation, and Amazon CloudWatch for logging and monitoring. RoboMaker provides each of these cloud service extensions as open source ROS packages, so you can build functions on your robot by taking advantage of cloud APIs, all in a familiar software framework.
You can use Amazon Kinesis and Amazon Rekognition to build a computer vision application that offloads compute resources to the cloud. By providing a stream from Amazon Kinesis Video Streams as an input to Amazon Rekognition Video, you can perform facial recognition against collections of up to tens of millions of faces that you provide with very low latency.
Amazon Lex provides high quality speech recognition and natural language understanding, plus intent chaining, so you can simplify complex conversations directed towards the robot by breaking them into smaller components. For response and speech generation, Amazon Polly includes dozens of lifelike voices and support for a variety of languages, so you can select the ideal voice and distribute your speech-enabled robotics applications in many countries.
Amazon CloudWatch gives you actionable insights that help you optimize application performance, manage resource utilization, and understand system-wide operational health of your fleet of robots. CloudWatch provides up to 1-second visibility of metrics and logs data, 15 months of data retention (metrics), and the ability to perform calculations on metrics so you can understand robot usage and performance.
AWS RoboMaker provides a robotics development environment for building and editing robotics applications. The RoboMaker development environment is based on AWS Cloud9, so you can launch a dedicated workspace to edit, run, and debug robotics application code. RoboMaker's development environment includes the operating system, development software, and ROS automatically downloaded, compiled, and configured. Plus, RoboMaker cloud extensions and sample robotics applications are pre-integrated in the environment, so you can get started in minutes.
ROS is pre-installed and configured in the development environment so that you can start editing right away. You can run an updated simulation job from the development environment as you update your robotics application code. A ROS build tool is also pre-configured to build and bundle dependencies into your ROS code so that it will run on your hardware.
RoboMaker provides a number of sample applications pre-integrated and ready for download in the development environment. Each contains pre-built robotics application code and simulation application code so that you can get started quickly with fine-tuning or building on each application. Each of these sample applications utilizes RoboMaker cloud extensions for ROS and provides a corresponding sample simulation world. The sample application can be run as a simulation job in the RoboMaker console for virtual testing, or is compatible with robot hardware so that you can easily deploy to a physical robot for testing in the real world.
RoboMaker development environment includes a browser-based editor that makes it easy to write, run, and debug your projects. As you type, code completion and code hinting suggestions appear in the editor, helping you to code faster and avoid errors.
Simulation is used to understand how robotics applications will act in complex or changing environments, so you don’t have to invest in expensive hardware and set up physical testing environments. Instead, you can use simulation for testing and fine-tuning robotics applications before deploying to physical hardware. AWS RoboMaker provides a fully managed robotics simulation service that supports large scale and parallel simulations, and automatically scales the underlying infrastructure based on the complexity of the simulation. RoboMaker also provides pre-built virtual 3D worlds such as indoor rooms, retail stores, and race tracks so you can download, modify, and use these worlds in your simulations, making it quick and easy to get started.
RoboMaker simulation supports several different simulation use cases. You can run simulation jobs for iterative testing while you develop your robotics applications, for regression testing during each new robotics application release cycle, or for generating simulated data to train machine learning models.
RoboMaker simulation is integrated with the open source Gazebo (simulation engine), along with the ODE engine for physics and OGRE engine for rendering. You can easily migrate your existing simulation jobs built on these engines to run on RoboMaker simulation. RoboMaker simulation also supports command line tools and visualization tools such as Gazebo client, rviz, and rqt for you to interact with and visualize a simulation job.
RoboMaker simulation scales the underlying infrastructure automatically based on the complexity of your robotics application and simulation application. RoboMaker takes care of infrastructure-related tasks such as capacity planning, compute resource provision, software update, and OS patching so you don’t have to. You only pay for the resources your simulation job consumes.
RoboMaker simulation is integrated with Amazon CloudWatch and Amazon S3 for simulation job monitoring and logging. You can emit metrics like collision, velocity, and battery level from your robotics application during a simulation job to analyze the performance of your application. You can also enable rosbag (a file format in ROS for storing ROS message data) and gzlog (Gazebo log files which contain an initial full description of the whole simulation world, followed by a series of "world states") so that you can analyze, replay, or debug a simulation job after it’s completed.
Once an application has been developed or modified, you’d build an over-the-air (OTA) system to securely deploy the application into the robot and later update the application while the robot is in use. AWS RoboMaker provides a fleet management service that has robot registry, security, and fault-tolerance built-in so that you can deploy, perform OTA updates, and manage your robotics applications throughout the lifecycle of your robots. You can use RoboMaker fleet management to group your robots and update them accordingly with bug fixes or new features, all with a few clicks in the console.
You can register your robots with RoboMaker fleet management and organize them into fleets, for example, a beta fleet and a production fleet, so you only deploy to or update the fleet that’s needed.
RoboMaker fleet management provides over-the-air deployment for you to deploy a robotics application into a robot fleet securely through just a few clicks. You can use OTA deployments for new applications, or for a bug fix or new feature of an existing application.
RoboMaker fleet management is integrated with AWS IoT Greengrass so that you can take advantage of additional IoT Greengrass features such as local Lambda functions, local messaging, and machine learning inference. AWS IoT Greengrass supports both x86 and ARM architectures, so you can use RoboMaker fleet management whether your robot hardware is x86 or ARM based.