Skip to content

[Feature]: Entity set scale supportΒ #1922

@SamratSahoo

Description

@SamratSahoo

What feature or enhancement are you proposing?

Enable the ability to scale the size of an entity dynamically after a scene has been built.

Motivation

In robot learning, scale randomization is a commonly used technique for domain randomization. During sim2real experiments, I found that the ability to randomly scale entities would significantly enhance robustness of learned policies. Currently, I have to pre-spawn all scaled versions of objects and swap them between episodes, which is inefficient, especially for parallel environments. I believe that scale randomization would be high ROI for Genesis.

Potential Benefit

  • Greatly increase the scope of domain randomization possible in Genesis.
  • Enable training of more robust policies without compromising training speed.
  • Reduce overhead and complexity associated with pre-spawning multiple scaled objects

What is the expected outcome of the implementation work?

  • Ability to scale an entity using a floating point factor.
  • Be able to set this scale after the scene has been built through some method (i.e., entity.set_scale(0.7))

Additional information

Without dynamic scaling, training either becomes slower (due to pre-spawning + having to reduce number of parallel environments to support memory constraints) or suffers from reduced domain randomization. If this feature is not planned for Genesis, I could attempt to implement it if given a roadmap outlining the required steps for implementation.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions