Simulation World Template Versions, Features, and Changes - AWS RoboMaker

Simulation World Template Versions, Features, and Changes

AWS RoboMaker Simulation WorldForge releases new versions of the world templates. You can use the new features and improvements in these templates to create worlds that are better suited for your use case.

To use all of the features of a world template, upgrade your world template to the latest version. The latest version of a world template has all of the features that are present in previous versions.

You can update your world templates using either the AWS RoboMaker console or the AWS CLI. If you're using the AWS RoboMaker console, you'll see a prompt that you can use to upgrade your template.

To upgrade your world template to the latest version using the API, set the Version field of the JSON that defines the world template to the numeric value for the latest version. For example, if Version 2 is the latest version, you would specify "Version": "2" in the body of the world template. To view the latest schema, see JSON Schema for Simulation World Template Body.

The following descriptions provide information about features and updates for the world templates. The updates for the latest version are shown first.

Simulation World Template Version 2 Release

The updates for Version 2 include:

  • The ability to add hinged doors to your worlds.

  • The ability to apply a configuration to all rooms.

  • A new field that describes your world.

  • Changes to the floor friction values.

  • Version agnostic updates.

You can use Version 2 of the AWS RoboMaker Simulation WorldForge template to create a world that has hinged doors.

You can configure the percentage that these doors are open. For example, these are some open states that you can specify:

  • 0% open – closed

  • 50% open – halfway open

  • 70% open – mostly open

  • 100% open – entirely open

You can also specify that Simulation WorldForge randomize the openness of the doors by setting the open percentage to a random state.

You can configure the doors that you want to see in your world under the Interior section of your world template. To learn how to use a world template to create a room with doors, see Requesting Doors in Doorways.

You can use the Target.All keyword of the world template to apply a configuration change to all rooms. These are some of the things that you can change in all of the rooms:

  • Flooring material

  • Wall material

  • Doorways

  • Furniture arrangements

For example, if you want to specify that every door is closed in your world template, you can specify that the doors are zero percent open and use the Target.All keyword to apply that condition to all doors. For more information, see Applying a Configuration to All Rooms.

The worlds that are created with a Version 2 template have a world_description.json file. This file appears in the same directory as the Gazebo Worldforge .world file.

The world_description.json file lists all the doors in your Simulation WorldForge world. You can use the DescribeWorld operation to see a description of your world. The description is the value of the worldDescriptionBody field. If your world was created with a Version 1 template, the value of the field is empty.

In Version 2, the floors have the same floor friction values as the Gazebo ground plane. The floor friction values in Version 1 are unchanged.

For all world templates, the spaces in the room names are replaced with underscores in your Gazebo model names. This change gives you the ability to use ROS topics for all your Simulation WorldForge Gazebo models. You can use ROS topics to get information about your model, or make changes to your model.