AWS RoboMaker
Developer Guide

Creating a Simulation Job

You will create a simulation job when you want to run your robot application in the simulation you created. Once running, you can interact with the simulation. For example, you can use rviz to see images from visual sensors on your robot.

Note

After 90 days, simulation jobs expire and will be deleted. They will no longer be accessible.

To create a simulation job

Follow the steps under one of the following tabs:

Note

If you are using an existing Amazon S3 bucket or creating a new bucket, it must be located in the same region as AWS RoboMaker.

Using the consoleUsing the AWS CLI
Using the console
  1. Sign in to the AWS RoboMaker console at https://console.aws.amazon.com/robomaker/.

  2. In the left navigation pane, choose Simulations, and then choose Simulation jobs.

  3. Choose Create simulation job.

  4. On the Simulation configuration page, select a simulation job duration. Select any value between 5 minutes and 14 days.

    Important

    To learn more about how you are charged for AWS RoboMaker see AWS RoboMaker Pricing.

  5. Select a Failure behavior. Choose fail to terminate the host instance if the simulation job fails. Choose continue to keep the host instance so you can connect and investigate.

    If you specify an optional S3 folder below, it will contain simulation data. It is available independent of the selected failure behavior.

  6. For IAM Role, select a role or select Create new role to create one. AWS RoboMaker will use this role to access resources on your behalf. It is also used by your application to access AWS resources like Amazon Rekognition or Amazon Lex.

  7. Optional: In Output destination, type in a Amazon S3 folder name where simulation job output will be stored. Optionally, select Create new S3 folder to create a new Amazon S3 folder.

  8. Optional: In Networking, if your robot application or simulation application access resources on an Amazon VPC, select the VPC, subnets and security groups. If you want to access the simulation job from outside of the VPC, select Assign public IP.

  9. Optionally, under Tags, specify one or more tags for the simulation job. Tags are words or phrases that act as metadata for identifying and organizing your AWS resources. Each tag consists of a key and a value. You can manage tags for your simulation job on the Simulation Job details page.

    For more about tagging, see Tagging Your AWS RoboMaker Resources.

  10. Choose Next.

  11. On the Specify robot application page, under Robot application, select Create new application. Optionally, you can select Choose existing application to use a robot application that you have already created.

  12. Type a name for the robot application.

  13. Select the Robot software suite used by your robot application. For more information about the Robot Operating System (ROS), see www.ros.org.

  14. Under Sources, specify the Amazon S3 location for the X86_64 robot application source. AWS RoboMaker simulation jobs require an X86_64 source to run the simulation.

    Optionally, if you plan on deploying the robot application to robots in a fleet, you can provide ARMHF and ARM64 robot application source files. You can also update the robot application to include additional source files. For more information, see Updating a Robot Application.

  15. In Robot application configuration, provide the roslaunch Launch package name for your robot application.

  16. Specify the roslaunch Launch file. A launch file contains configuration information about which nodes to start up as well as other initialization parameters for roslaunch.

    To learn more about roslaunch, see roslaunch.

  17. Optional: If your robot application uses environment variables, specify the Name and Value pairs. Environment variable names must start with A-Z or underscore and consist of A-Z, 0-9 and underscore. Names beginning with “AWS” are reserved.

    Select Add environment variable to add additional variables.

    You can read environment variables in a launch file using roslaunch substituion args.

  18. Choose Next.

  19. On the Specify simulation application page, select Create new application. Optionally, you can select Choose existing application use a simulation application that you have already created.

  20. Type a name for the simulation application.

  21. Select the Robot software suite used by your simulation application. For more information about the Robot Operating system (ROS), see www.ros.org.

  22. Select the Simulation software suite used by your simulation application. For more information about the Robot Operating system (ROS), see www.ros.org.

  23. Select the Simulation rendering engine used by your simulation application.

  24. Select S3, and then specify the path to your simulation application.

  25. In Simulation application configuration, provide the roslaunch Launch package name and the roslaunch Launch file for your simulation application.

  26. Optional: If your simulation application uses environment variables, specify the Name and Value pairs. Select Add environment variable to add additional variables.

  27. Choose Next.

  28. Select Create to create the simulation job.

Using the AWS CLI

Here's an example AWS CLI command that performs the equivalent of the console-based simulation job creation on the other tab.

$ aws robomaker create-simulation-job \ --output-location s3Bucket=my-bucket,s3Prefix=my-output-folder \ --max-job-duration-in-seconds 3600 \ --iam-role my-role-arn \ --failure-behavior Continue \ --robot-applications application='my-robot-application-arn,launchConfig={packageName="hello_world_robot",launchFile="rotate.launch"}' \ --simulation-applications application='my-simulation-application-arn,launchConfig={packageName="hello_world_simulation",launchFile="empty_world.launch"}'

Describe which parameters are not required (if any) and any other anomolies or insights for the AWS CLI.