AWS RoboMaker concepts - AWS RoboMaker

AWS RoboMaker concepts

This section describes key concepts and terminology you must understand to use AWS RoboMaker effectively. For more information, see AWS RoboMaker FAQs.

Container

Container images are stored in Amazon ECR. A container is created from an image when it is run by the service. A typical simulation might use Robot Operating System (ROS) with one container simulating the environment in Gazebo, and a second container simulating the robot. For more information, see What Is Amazon ECR? in the Amazon ECR User Guide.

Simulation job

A single simulation job executes one or two applications. A typical simulation job includes a pairing of a robot application (custom logic that responds to environmental data) with an environment (models of the world that your robot inhabits). A simulation job provides results and metrics. For more information, see Simulation with AWS RoboMaker.

Simulation WorldForge

Simulation WorldForge makes it easier and faster to generate simulation worlds from the templates you define. In addition, it can help you manage simulation workloads that require a large number of simulation worlds with domain randomization. For more information, see Creating worlds with Simulation WorldForge.

Environment

An application specifies the configuration for, and the tools to run in, an environment. Tools running in an environment share the same file system, environment variables, and networking. The application and tools running in an environment should reflect changes to files in the environment and the environment should provide the available tools. You must provide a container image for the environment. For more information, see Using images to develop AWS RoboMaker applications.

Application

Before you can create a simulation job, you must create a robot application or simulation application in AWS RoboMaker. A robot application contains robot code for navigation and perception. A simulation application contains all of the assets and logic needed to simulate an environment. AWS RoboMaker supports creating more than one version of your robot application and simulation application. For more information, see Versioning applications.

Our applications are made up of two (major) components:

  • A container, which is a standard unit of software that packages up code and all its dependencies so the application runs quickly and reliably from one computing environment to another.

  • A software suite, which indicates the environment from which the contents of the bundle can be extracted, sourced, validated, and run. Currently, the supported software suites are General (for robot applications) and SimulationRuntime (for simulation applications).

Application configuration

When you supply a simulation or robot application in a CreateSimulationJob, you actually specify a RobotApplicationConfig and a SimulationApplicationConfig. In other words, specify the actual application ARN and version, plus the following launch configuration, upload configuration, and tools.

  • LaunchConfig – Tells the simulation service how you want your application code run in the environment.

  • UploadConfiguration – You can pass up to 10 upload configurations per application. AWS RoboMaker uploads files written to the upload configuration path to your output bucket.

  • Tool – A list of the customized processes to run in the application container.

For more information, see Simulation with AWS RoboMaker.