Cloud Extensions for ROS
Q: What are RoboMaker cloud extensions for ROS?
A: RoboMaker provides cloud extensions for ROS so that you can offload to the cloud the more resource-intensive computing processes that are typically required for intelligent robotics applications and free up local compute resources. RoboMaker provides each of these cloud service extensions as open source ROS packages, so you can build functions on your robot by taking advantage of cloud APIs, all in a familiar software framework.
Q: What are the supported cloud extensions?
A: Currently supported cloud extensions are Amazon CloudWatch Logs, Amazon CloudWatch Metrics, Amazon Polly, Amazon Lex, Amazon Kinesis Videos Streams, and Amazon Rekognition.
Q: Am I charged for using RoboMaker cloud extensions?
A: RoboMaker cloud extensions are open source under Apache 2.0 license and free of charge. You will, however, be charged separately when you invoke corresponding services such as Amazon Rekognition or Amazon Kinesis Video Streams from these extensions. See the Pricing Page for details.
Q: What is RoboMaker development environment?
A: RoboMaker development environment is a customized environment in AWS Cloud9 for robotics development. This environment comes with ROS pre-installed and includes sample applications. This environment is also integrated with other RoboMaker capabilities such as simulation so that you can use these capabilities from the interface of the development environment.
Q: What instance types does RoboMaker development environment support?
A: RoboMaker development environment supports all AWS Cloud9 instance types except for T2 instance, which does not have sufficient resource to run ROS.
Q: Am I charged for using RoboMaker development environment?
A: You are billed for the underlying EC2 instance and EBS storage of the RoboMaker development environment and there is no additional charge on top. See the Pricing Page for details.
Q: What is RoboMaker simulation?
A: RoboMaker simulation is a fully managed service that enables you to run simulation jobs without provisioning or managing any infrastructure.
Q: What can I do with RoboMaker simulation?
A: You can use RoboMaker simulation for various use cases. For example, you can use RoboMaker simulation to generate synthetic image or lidar data for algorithm development or testing, to train machine learning models, for regression testing robot applications, and as a testing tool during application development.
Q: What engines does RoboMaker simulation support?
A: The default simulation engine in RoboMaker is the open source Gazebo engine. The default physics engine is ODE (Open Dynamics Engine). The default rendering engine is OGRE (Object-Oriented Graphics Rendering Engine).
Q: What tools does RoboMaker simulation support?
A: RoboMaker simulation supports Gazebo client for interacting with a running simulation job, rviz for visualizing sensor data, rqt for running various GUI tools, and command line for interacting with the running robot application.
Q: What logging and monitoring features does RoboMaker simulation have?
A: RoboMaker simulation is integrated with Amazon CloudWatch Metrics so you can monitor service metrics such as real-time factors from the CloudWatch console. In addition, you can leverage the Amazon CloudWatch Metrics package provided from RoboMaker cloud extensions in your robot application to emit real-time metrics such as robot battery level, velocity, and collision during a simulation job run.
RoboMaker simulation is also integrated with Amazon CloudWatch Logs. You can have stdout statements in your robot application and RoboMaker simulation will log these messages to your CloudWatch Log group during a simulation run. This feature helps you debug your robot application during application development.
You can enable RoboMaker simulation to log ros bag during a simulation job run. The log will be delivered to your S3 bucket. You can use ros bag to analyze and debug message passing of the robot application.
Q: What is a simulation job?
A: Simulation job is the main entity in RoboMaker simulation. You run your simulation workloads on RoboMaker by creating a simulation job.
Q: What is a robot application?
A: A robot application refers to the ROS based application that you will run on a physical robot. You need to build your robot application source code to X86 architecture in order to work with RoboMaker simulation.
Q: What is a simulation application?
A: A simulation application includes a 3D simulation world and Gazebo plugins that control the movement of a robot in a simulation world. The default format of Gazebo simulation world is .sdf. Similar to robot application, you need to build your simulation application source code to X86 architecture in order to work with RoboMaker simulation.
Q: What is application versioning?
A: RoboMaker supports versioning of robot applications and simulation applications so you can control which implementation your robots and simulations use. A version is a numbered snapshot of your robot application or simulation application you can create for use in different parts of your development workflow, such as development, beta deployment, and production.
Q: Can I delete a particular version of a robot application or simulation application?
A: Yes, you can delete a particular version of an application or all the versions of an application.
Q: Does RoboMaker store my robot application and simulation application?
A: No, RoboMaker does not store your robot application or simulation application. You will upload your applications to your S3 bucket and refer to the S3 object path during robot application and simulation application creation.
Q: What is the failure behavior of a simulation job?
A: You can configure the failure behavior of your simulation job to be fail or continue. In fail mode, your simulation job will fail and the underlying infrastructure will be released if there is any failure during the simulation job run. In continue mode, your simulation job will fail but the underlying infrastructure will be kept if there is any failure during the simulation job run. The continue mode allows you to further troubleshoot a simulation job failure by using the command line tool. Note that RoboMaker simulation charges will continue to incur in continue mode until you terminate the job.
Q: When do I restart a simulation job?
A: Restarting a simulation job can be used for quick iterative development. Restarting a simulation job is faster than creating a new simulation job because it doesn’t require resource provisioning and configuration behind the scenes. During robotics application development, you can use the restart simulation job feature to quickly test your code as you iterate through code changes.
Q: How is restarting a simulation job different from cloning a simulation job?
A: Restarting a simulation job is used for quick iteration test and the updated simulation job runs on the same infrastructure resources provisioned and managed by RoboMaker. Cloning a simulation job uses the same configurations of the existing job to create a new job. It triggers infrastructure resource provisioning and configuration behind the scenes, which might take a few minutes.
Q: Why do I need to provide an IAM role in a simulation job?
A: The IAM role provides RoboMaker simulation access to the resources you specified in your simulation job. For example, your S3 bucket for RoboMaker to write simulation logs into.
Q: What is simulation duration?
A: Simulation duration defines how long the simulation job should run until it gets terminated. The duration is based on wall clock time versus simulation time.
Q: Does my simulation job run in real-time?
A: RoboMaker simulation attempts to run your simulation job as fast as possible. You can also use the “real time update rate” and “max step size” settings in your Gazebo world configuration to control how fast the simulation job should run.
Q: Does RoboMaker simulation charge based on wall clock time or simulation time?
A: Your simulation job can run faster, slower than real-time, or at real-time. RoboMaker simulation charges based on wall clock time so the speed of the simulation time doesn’t impact how you are charged. See the Pricing Page for details.
Q: What is RoboMaker fleet management?
A: RoboMaker fleet management allows you to create robots, register robots to a fleet, and then deploy a robot application into a fleet.
Q: What minimum hardware specifications are required for using RoboMaker fleet management?
A: RoboMaker fleet management is built on top of AWS Greengrass and has the same minimum hardware specifications requirement as AWS Greengrass. See the corresponding AWS Greengrass FAQ for details.
Q: How do I associate a physical robot with RoboMaker fleet management?
A: You will first create a robot from the RoboMaker console and then download corresponding certificates for that robot and AWS Greengrass-based agent. You will then follow steps to install the agent and certificate on your physical robot. Once installed and connected, your physical robot will be associated with the robot you created in RoboMaker console.
Q: What is a fleet?
A: A fleet is a group of robots. You can freely register or deregister existing robots to a fleet. A deployment job in RoboMaker Fleet Management is defined for a particular fleet and each robot can only belong to one fleet.
Q: How am I charged by using RoboMaker fleet management?
A: RoboMaker fleet management is integrated with AWS Greengrass and you are charged standard AWS Greengrass pricing. There is no additional charges for using RoboMaker fleet management. See the Pricing Page for details.