Hi ROS Community,
I’m Michael Hart, a Senior Software Development Engineer at AWS. I’m specialized in robotics, and I’m working on showing how to gain value from AWS when building robots.
I wanted to show you our sample repository for connecting ROS robots to the cloud and sending data between the two. This opens up possible applications such as fleet monitoring, remote operation, or fleet-wide data capture. We connect the robots to AWS IoT Core in the cloud, which is a service that can connect billions of IoT devices and route trillions of messages to AWS services without managing infrastructure. IoT Core can ingest the data to be used by other services in order to create these possible applications. The repository has step-by-step instructions talking you through setting up IoT Core in your AWS account and provisioning resources for connecting the robot.
There are a couple of sample applications included:
- ROS2 data over MQTT: shows how to forward data published on pre-configured ROS topics to IoT Core using MQTT, another pub/sub messaging protocol. The forwarded data is encrypted in transit. Data sent over MQTT can then be used from IoT Core for other purposes such as monitoring robot status.
- Named Shadow communication: shows how to provision a Named Shadow per robot, which is a synchronized JSON document between an edge device and the cloud. We also provide a sample ROS2 node which provides service calls to edit the shadow, and publishes any change to the shadow automatically for other nodes to react to. This could be used to send data from the robot to AWS, such as state and metrics, as well as send data from AWS to the robot, such as queries and commands.
The video below shows the Named Shadow sample running. The controller requests a new desired digit by editing the shadow, and the robot spins to that digit while reporting its progress using the shadow.
Both sample applications have sample ROS2 nodes that can be copied and modified for your needs, as per the MIT-0 license.
Please take a look and let us know what you think! We’d love to help you build robots with AWS.