Setting Up Your First Robotics Development Environment with AWS RoboMaker
Step 1: Go to the AWS website & Create an AWS Account. User must have a valid credit card, although many services, including AWS RoboMaker, offer a free tier. Then open the AWS Management Console and search for AWS Robomaker.
Step 2: Now create an AWS Robomaker development environment by following the general instructions.
Step 3: Now we must Install Docker to run simulations and deploy applications on the local machine by following the instructions on the Docker website using the AWS CLI.
Step 4: After deploying the environment and deploying applications on docker, user must create a robot application and assign the properties to his robot using the application. Or he can use the below code in the CLI to perform the same.
pip install aws-robomaker-cdk-type
Step 5: Now the user must configure the AWS credentials on their local machine using the AWS CLI. Copy the IAM Role and simulation job and paste it into the CLI and run the following command.
aws configure
Step 6: Now user needs to create a ROS Workspace. He can either use the AWS to create a robot or use below code and command to configure and create it on the local machine.
mkdir -p ~/ros-workspace/src
cd ~/ros-workspace/src
catkin_init_workspace
Step 7: After creating and setting environment and applications of our robot, we Now we have to install AWS RoboMaker ROS Packages by cloning the AWS RoboMaker sample applications repository into your ROS workspace’s src directory –
The user can also check his working of the simulation tools on the configure on his local system using the simulation tools and monitor them. He can click on below and view their status as well as make the changes.
git clone https://github.com/aws-robotics/aws-robomaker-sample-application.git
Step8: Now the developer can click on the terminal or use the following code to start creating a physical robot according to him. The developer must build a ROS Workspace to store the development which can navigate to the ROS workspace directory.
cd ~/ros-workspace
catkin_make
Step 9: Developers already used the AWS RoboMaker CLI and created a simulation application. This application will get attached to our robot simulation environment. for more help, find documentation on how to create a simulation application in the AWS RoboMaker documentation.
aws robomaker describe-robot-application –application YOUR-ROBOT-APP-ARN
Step 10: Now we need to launch the Simulation Job and for that we can use the AWS RoboMaker console or CLI to launch a simulation job. This will spin up a simulation environment based on the application you created.
aws robomaker describe-simulation-application –application YOUR-SIM-APP-ARN
Step 11: You can now develop Robot Applications With your simulation environment set up after developing the robot applications using ROS and other tools:
{
“maxJobDurationInSeconds”: 3600,
“iamRole”: “IAM-ROLE-ARN”,
“robotApplications”: [
{
“application”: “YOUR-ROBOT-APP-ARN”,
“applicationVersion”: “$LATEST”,
“launchConfig”: {
“environmentVariables”: {
“ROS_IP”: “ROBOMAKER_ROBOT_APP_IP”,
“ROS_MASTER_URI”: “http://ROBOMAKER_ROBOT_APP_IP:11311”,
“GAZEBO_MASTER_URI”: “http://ROBOMAKER_SIM_APP_IP:11345”
},
“streamUI”: false,
“command”: [
“/bin/bash”, “-c”, “roslaunch hello_world_robot rotate.launch”
]
},
“tools”: [
{
“streamUI”: true,
“name”: “robot-terminal”,
“command”: “/entrypoint.sh && xfce4-terminal”,
“streamOutputToCloudWatch”: true,
“exitBehavior”: “RESTART”
}
]
}
],
“simulationApplications”: [
{
“application”: “YOUR-SIM-APP-ARN”,
“launchConfig”: {
“environmentVariables”: {
“ROS_IP”: “ROBOMAKER_SIM_APP_IP”,
“ROS_MASTER_URI”: “http://ROBOMAKER_ROBOT_APP_IP:11311”,
“GAZEBO_MASTER_URI”: “http://ROBOMAKER_SIM_APP_IP:11345”,
“TURTLEBOT3_MODEL”:”waffle_pi”
},
“streamUI”: true,
“command”: [
“/bin/bash”, “-c”, “roslaunch hello_world_simulation empty_world.launch –wait”
]
},
“tools”: [
{
“streamUI”: true,
“name”: “gzclient”,
“command”: “/entrypoint.sh && gzclient”,
“streamOutputToCloudWatch”: true,
“exitBehavior”: “RESTART”
}
]
}
]
}
Step 12: Deploy robot Applications into physical robots or run them in simulation using AWS RoboMaker.
aws robomaker create-simulation-job –cli-input-json file://create_simulation_job.json
Step 13: Use AWS RoboMaker’s monitoring and debugging tools to monitor your robot applications and troubleshoot to solve the issues.
Setting Up Your First Robotics Development Environment With AWS RoboMaker
AWS RoboMaker is a service for robotic developers provided by Amazon Web Services (AWS). This service helps its users to build robot applications easily. The structure of the RoboMaker is like a big toolbox filled with everything a user needs to create, test, and launch their robotic systems. It also provides a simulation environment for the robotics application development which is powered by Gazebo.
A gazebo is a type of virtual playground where the developers can create digital versions of the robotic systems and test them out in different situations without the need of any physical hardware. It also helps the user to try out different ideas and make changes easily and in a faster way. Gazebo helps the developer to build actual prototypes in a cheaper way because AWS RoboMaker also supports the Robot Operating System (ROS), which is a very popular software used by a lot of robotics developers.