In my environment, there is a robot and a set of objects to grasp placed in a tray. I would like to use the GridCloner to clone the robot and the tray. After the environments are cloned, I’d like to add different objects individually in each cloned environments.
However, currently if I add an object in the env_0, then the object is automatically added to all cloned environments. Do someone know how I could add object in env_0 and avoid it to be cloned in all envs?
Hello,
To avoid the issue, we create the source environment containing the robot, the setup (table, tray,…) and we use this environment only to be cloned and to create the other environments.
It is the other environments in which we add directly distinct objects and do the tasks. It is the only work around that we found.
Not really as it seems not written explicitly that the addition of a new object in the source environment after the clonage implies that the same object is added to each the cloned environments
Hi there, in order to add distinct objects to individual environments, please do this after the environments have been cloned. You can iterate through the environments after cloning and add objects directly to the stage using USD APIs. We have an example of this workflow for our Factory environment: OmniIsaacGymEnvs/factory_env_nut_bolt.py at main · NVIDIA-Omniverse/OmniIsaacGymEnvs · GitHub.