Simulation

Why Simulation?

Pure play robotic companies are a mix of start-up robotic companies that are new to AWS and established robotic manufacturers with a proprietary software stack that are looking to scale. These companies require that their robotic applications be rigorously tested and verified prior to deployment to robots in the field. However, building and testing applications for autonomous robots is difficult, complicated and time consuming. Traditionally, teams of developers write code to address a wide array of deployment scenarios, the code is integrated, and then all the application scenarios must be tested on real robots in physical environments. This manual process of development and testing is resource intensive, slows the release cycle for application updates, and cannot be easily scaled. In response, a few mature robotic manufacturers have begun to use simulation to create virtual models of both their and robot and the physical environments it is expected to operation, then test in simulation to verify the quality and accuracy of their application prior to deploying to a physical robot. These companies are seeing the benefits of simulation in terms of accelerated, iterative development as well as the ability to scale their testing and further improve accuracy of their application. However, for robotic companies using simulation, building 3D assets, constructing testing environments, and scaling testing require specialized skills and is expensive so the adoption of simulation is limited.

Why AWS RoboMaker for Simulation?

AWS RoboMaker makes simulation affordable and accessible to all robotic manufacturers by providing pre-built worlds and tools for developers to run and iterate their code in a simulation environment before deploying and testing on physical robots. Costs are reduced as developers have no up-front fees and only pay for simulation hours consumed. AWS RoboMaker is the most complete cloud solution for robotic developers to simulate, test and deploy robotic applications at scale. RoboMaker provides a fully-managed, scalable infrastructure for simulation that customers use for multi-robot simulation and CI/CD integration with regression testing in simulation.

Fully-managed, scalable infrastructure for simulation

AWS RoboMaker removes the heavy lifting for any robotic manufacturer to run simulations. RoboMaker simulation can be used to run the open-source software library known as robot operating system (ROS) and ROS2 applications in simulation using the open-source Gazebo engine. The service supports large-scale and parallel simulations and automatically scales based on the complexity of the scenarios being tested. Developers simply upload their robotics application to an Amazon S3 bucket and then run a simulation. There is no infrastructure to provision, configure, or manage, and developers can run multiple simulations in parallel. With the RoboMaker batch simulation API, developers can easily launch a large-scale batch of simulations with a single API call. RoboMaker also provides pre-built virtual 3D worlds such as indoor rooms, warehouse, and retail stores that developers can download, modify, and use with little to no capital expenditure and without needing specialized engineering or design skills.

Multi-robot simulation to scale testing

Multi-robot simulation is the ability to test inter-robot communications and routing algorithms with multiple robots, from tens or hundreds of robots, within a single simulation environment. AWS RoboMaker enables robot manufacturers to connect multiple concurrent simulations to their central fleet-management software to test the behavior of multi-robot scenarios and simulate missions across a fleet of robots. As reference, Bastian Solutions desired to scale their deployment of robots but their testing SW required physical robots being tested in a physical environment, which created a practical limitation of 8-10 robots. Using RoboMaker, Bastian created a simulation environment that enabled the testing of multi-robot orchestration of more than 35 robots. Bastian has now scaled to successfully test 100+ concurrent robots, enabling testing of scenarios that were not possible with physical devices. These tests provide vital insights on how to deploy and manage these robots in production.

CI/CD integration with regression testing in simulation for improved code quality

Robotic application development often includes multiple developers collaborating to write code as well as lengthy QA cycles to identify bugs and ensure code quality. AWS RoboMaker enables robot manufacturers to conduct CI/CD (continuous integration/continuous delivery) integration with regression testing to improve code quality and accelerate testing. CI/CD is a development practice used by development teams to deliver code changes frequently and reliably. The implementation of this development model is known as CI/CD pipeline. While well adopted by traditional application developers, CI/CD is just now being adopted in robotics. Using RoboMaker, developers run batch simulations using API calls for regression testing after each code check-in, for nightly integration testing, and before each software update is released. In conjunction with other services such as AWS Lambda, AWS CodePipeline and AWS CodeCommit, developers are integrating their regression test runs into their CI/CD pipeline, thus accelerating software development. RoboMaker customers are conducting regression testing using either recorded ROS bag files (a file format for storing ROS message data) or physics-based simulators, along with integration to CI pipeline with AWS CodePipeline and CodeBuild. The benefits for customers are significant. As reference, iRobot built a CI/CD pipeline for large-scale and automated testing and runs more than 40 automated tests on each code commit and more than 500 automated tests for each software release candidate. Through the use of RoboMaker, iRobot has reduced bugs published to their production code by 20% and reduced manual testing by 50%. Chris Kruger, iRobot Director of SW engineering, states that working with AWS RoboMaker is “like having 20 more QA testers.”

Fleet management

Once a robotic application is developed, tested, and deployed, the need shifts to managing robots in the field. Monitoring the state of the robots, obtaining performance data, and securely updating applications are challenges that AWS is uniquely positioned to address through RoboMaker’s fleet management capabilities and AWS cloud services.

Fleet Management to support deployments of robots in the field

RoboMaker’s fleet management service is integrated with AWS IoT Greengrass to provide robot registry, security, and fault-tolerance. The registry service enables companies to identify, track, and organize their robots into optimal fleets. Developers can use RoboMaker fleet management to securely deploy their application to their robots via AWS’ fully-managed over-the-air (OTA) update infrastructure. Greengrass uses X.509 certificates, managed subscriptions, AWS IoT policies, and IAM roles for secure connection to AWS cloud services through encrypted connections. RoboMaker’s OTA service supports conditional updates which provides intelligence into the OTA process to lower the risk of interrupted or incomplete software updates.

Cloud Extensions for ROS

RoboMaker supports ROS1 and ROS2 (beta), actively contributes code to open-source ROS repositories, and has developed cloud extensions for Amazon CloudWatch (metrics, logging, and monitoring), Amazon Rekognition (object detection), Amazon Kinesis (video streaming), along with Amazon Polly (text to speech), Amazon Lex (speech recognition) and Amazon S3 (uploading rosbags and files for storage). These cloud extension enable developers to enhance the functionality of their robot without installing additional hardware or developing complex software. AWS provides each of these cloud service extensions as open-source ROS packages that customers access via cloud APIs to pull performance and operational data from their robots. This integrated suite of AWS services makes it easy for customers to monitor and tune the performance of their robotic applications in the field.

Image
Check out the pricing

AWS RoboMaker pricing is pay-as-you-go, with no minimum fees.

Learn more 
Image
Sign up for a free account

Instantly get access to the AWS Free Tier. 

Sign up 
Image
Start building in the console

Get started building with AWS RoboMaker.

Get started