AWS RoboMaker is the newest service by Amazon for robot developers community. It’s ROS based and provides web tools for robot development, simulation and deployment - https://aws.amazon.com/robomaker/ .
In this tutorial we will show you how to setup environment at AWS RoboMaker to learn ROS with our ROS tutorials:
- ROS introduction
- Creating nodes
- Simple kinematics for mobile robot
- Visual object recognition
- Running ROS on multiple machines
- SLAM navigation
- Path planning
- Unknown environment exploration
- Object search
IMPORTANT: AWS RoboMaker is a paid service and you may be charged based on the usage of some of its functionalities. For pricing info visit https://aws.amazon.com/robomaker/pricing/ .
Setting up Husarion ROS tutorial on AWS
To begin, you need to have an active AWS account.
1. Go to “AWS management console” at https://aws.amazon.com/ .
2. In search field start typing “IAM”.
3. Open IAM module.
4. Go to “Roles”.
5. Click “Create role”.
6. In dialog choose “EC2”.
7. Click “Next: Permissions”.
8. In “Attach permissions policies” dialog, add (You can use filter to search for them):
9. Click “Next: Tags”, we do not need any tags, thus we proceed to Reviev.
10. Click “Next: Review”. In field “Role name” type “robomaker_role” and make sure that in “Policies” section you have three entries.
11. Click “Create role” button, you will be redirected to “Roles” view.
12. Open role setting by clicking its name and choose tab “Trust relationships”.
13. Click button “Edit trust relationships” and edit policy document, find entry “ec2.amazonaws.com” and change it to “robomaker.amazonaws.com”.
14. Click “Update trust policy” button. Note the “Role ARN” entry, this will be required later.
15. Open “AWS Console”, in filter type “S3”.
16. Open “S3” module.
17. Click “Create bucket” button, in field “Bucket name” type DNS style name like "yourusername-bucket-robomaker" (it must be unique accross all names in Amazon S3, do not use "_" and "." in the name), from “Region dropdown” menu choose entry appropriate to your localization.
18. Proceed through creator, do not modify default values.
19. When you create bucket, open it, by clicking its name, it should be empty now. Note the bucket name, you will need it later.
20. Open “AWS Console”, in filter type “RoboMaker” and open “AWSRoboMaker” module.
21. Open “Development environments” tab.
22. Click “Create environment”, in field “Name” type “robomaker_env” and as “instance type” choose “c3.2xlarge”.
23. Click "Create".
24. Download [ROSbotTutorial.tar.gz](https://files.husarion.com/ROSbotTutorial.tar.gz) and unpack it.
25. Open the environment, from menu “File” choose “Upload local files…” -> “Select folder” and upload the folder “ROSbotTutorial”. Wait until upload is done.
26. In editor open file “RoboMakerSettings.json” from folder “ROSbotTutorial”. Find all instances of "robomaker-bucket" and replace it with the name of your own bucket you've created in point 17.
27. In the same file find element "iamRole" and change its value to "Role ARN" entry you've saved in pont 14.
28. Choose menu “RoboMakerRun” -> “Add or Edit Configurations”.
29. Click button “Switch config”.
30. Choose “RoboMakerSettings.json” from folder “ROSbotTutorial” and click “OK” button and then "Save" button.
31. Choose menu “RoboMakerRun” -> “Workflow” -> “ROSbotTutorial - Build and Bundle All”.
32. Package build process will start, when it is done, choose menu “RoboMakerRun” -> “Launch Simulation” -> “ROSbotTutorial”. Simulation job will be sent to RoboMaker. Wait until "Your simulation job was created." message appears in console.
33. Go to RoboMaker an open “Simulation jobs” menu.
34. Open simulation by clicking its name
35. When it starts, you can open Gazebo view to watch as simulation proceeds.
You’ve just run Gazebo version of Tutorial 9 on AWS RoboMaker cloud computing platform. More tutorials can be launched by editing “RoboMakerSettings.json” and launch files found in:
We will provide instruction on how to do it soon.
After completing this tutorial you should be familiar with AWS RoboMaker Service. You should be able to create your own environment and run various robotics simulations (in this case Husarion ROS Tutorial 9).
Possibility of outsourcing computation to powerful cloud servers opens doors for even more advanced robotics simulation for users that are not equipped with efficient work stations. We hope that this tutorial will help you understand basics of running ROS simulations in AWS RobotMaker by Amazon.
by Łukasz Mitka, Husarion
Do you need any support with completing this tutorial or have any difficulties with software or hardware? Feel free to describe your thoughts on our community forum: https://community.husarion.com/ or to contact with our support: firstname.lastname@example.org