AWS News Blog

AWS announces WorldForge in AWS RoboMaker

What was announced?

Introducing AWS RoboMaker WorldForge 🤖, a new capability that makes robotics simulation easier! 🎉

AWS RoboMaker WorldForge makes it faster, simpler, and less expensive to create a multitude of 3D virtual worlds to simulate your robots in. Now robotics application developers and QA engineers can automatically create hundreds of user-defined, randomized 3D virtual environments that mimic real-world conditions without extra engineering investment or infrastructure management.

How it works and who it’s for…

Robotics companies are building increasingly sophisticated robots with autonomous capabilities and artificial intelligence. To develop these capabilities, developer teams need simulation to test and train their robots. Scaling simulation unlocks the ability to make testing more robust, reinforcement learning faster, and synthetic data generation (information that’s artificially manufactured rather than generated by real-world events) more affordable.

Until today, it was difficult for robotics teams to do simulation because building even just one 3D world was costly, time consuming, and required specialized skills in 3D modeling and knowledge of simulation engines. Given the investment needed to create a single simulation world, it was almost impossible to build enough worlds to effectively scale simulation. With AWS RoboMaker WorldForge, robotics developers can easily increase the scale and variance of simulation, improving the quality of production code and accelerating time to market.

Let’s see a demo…

Who wants to see a demo? I know I do. 😁

Let’s head over to the AWS Console and search for AWS RoboMaker. We click through to the AWS RoboMaker console and upon opening the side navigation menu, we notice a new section for AWS RoboMaker WorldForge capabilities.

Under Simulation WorldForge, we go to World templates and click the “Create template” button.

We have two options. Start a world from scratch or use one of the sample templates that RoboMaker WorldForge provides ready to use out of the box. Although we could start from scratch, for today’s blog post we’re going to use a sample template.

After we create this new template, we will be able to edit and customize it to create one or more random worlds.

AWS RoboMaker WorldForge provides four sample templates: a bedroom, a living room/dining room, a one-bedroom apartment, and a small house.

For this demo, we will choose the living room/dining room templates to start with.

Do you notice the green cylinder in the world? If you’re thinking that looked a little out of place, you’re right! That’s not a typical piece of furniture you would have in your home! It’s actually an indicator of the starting position when you put your robot into the world for simulation.

This will create a new world template in your account. This is an interactive console that allows us to edit and customize our worlds and rooms.

But first, let’s go ahead and generate some worlds with as few as 4 clicks.

I am doing only 1 world to start with.

Now RoboMaker WorldForge starts a job that is going to create this world.

We can click through our new world and view it in detail.

As you can see, this world is now a resource in your account. We can use this for simulation.

Take note how this world is similar but not identical to the world in the sample template. It still has two rooms and furniture, but the furniture is in a different location. The materials are different for the floor and walls, and the furniture setup varies. We could also place our robot in these worlds, to test our robot application performance in each world.

Ok. Let’s go into the World template and take a detailed look at it. We’re going to edit our sample template that we started with, and we’re going to add new rooms.

We can also name our templates.

Now let’s edit our template. We’re starting with our floor plan dimensions. I am going to use a 1:3 ratio and make my ceiling taller too.

Perhaps we want to edit one of the rooms. I can edit the desired aspect ratio and area.

We proceed to make this room have a 1:3 ratio as well.

But we can also add even more rooms. In fact, we have 7 types of rooms to choose from.

Now we want to customize where these are in the layout and that is what Connections is for. Connections helps you specify a preference for which rooms are adjacent to each other.

By default, AWS RoboMaker WorldForge will fully connect your floor plans. There are two types of connections; openings and doorways.

We can also customize the Interiors. Interiors are things such as walls and flooring materials, and you must select which specific rooms you wish to update.

We can also override the custom furniture that comes in each world template.

Ok. Let’s take a step back and recap what we’ve done so far.

We’ve decorated an interior, created a 6-room floor plan, customized the room connections, and saved this template. Now, QA and Robotics engineers can just as easily generate worlds for regression testing with these capabilities!

But now, we want to create more worlds. 🙌🏽

I click on the “Generate Worlds” button in the top right corner.

We can configure the number of worlds by specifying the number of floor plans and interior variations per floor plan.

You can request up to a total of 50 worlds! For today’s demo, we’re going to choose 10 floor plans and 3 variations, for a total of 30 worlds.

There we go! We just requested 30 worlds for our 6-room floor plan. This is the generation job page.

Our worlds will stream in here as they are completed. Once completed, we’ll be able to see each of these worlds and their variations. You can then test your robot’s navigation, moving it through each of these new complex worlds and then compare the results.

This is just one example of how you can create a multitude of 3D virtual worlds to simulate your robots in with AWS RoboMaker WorldForge.

🌎 Lastly…

AWS RoboMaker WorldForge is now Generally Available in the following regions: US East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU (Frankfurt), Asia Pacific (Tokyo), and Asia Pacific (Singapore).

To start building with AWS RoboMaker WorldForge, visit the product landing page and the Developer Guide.

 

¡Gracias por tu tiempo!
~Alejandra 💁🏻‍♀️🤖 y Canela 🐾

Alejandra Quetzalli

Alejandra Quetzalli

Alejandra is an AWS Developer Advocate focused on helping newer audiences get started on their cloud journey. If you’re new to foundational AWS services, reach out to her! (Service Dog is Canela🐾.) Follow her on Twitter @QuetzalliAle