Open rosanom opened 2 years ago
Hey. @rosanom.
habitat_baselines contains our learning algorithms and training tools, but the simulation you are instantiating is encapsulated in an RLEnv which has a Simulator member variable. This can be a custom class derived from the base HabitatSim class. You can implement any sim side behaviors you'd like in that class. You can also implement Simulator interactions in your Task class.
For example, with Habitat 2.0 we introduced the rearrangement task with a custom Simulator class (RearrangeSim). In this code we're adding objects as you'd like to do as well as other things like managing/controlling a robot and setting/querying scene states.
Hello there! I had a look at the tutorial about how to instance a new object inside a scene. I see that methods of the simulator instance, such as
add_object(...)
andset_translation(..)
, are called to place objects in specific locations of the environment. Do you have any tips on how to integrate this functionality inside the habitat_baselines codebase? I would like to train a PPO/DDPPO agent on environments having randomly placed objects. Unfortunately I don't see a clear point where I can retrieve the instance of the simulator and then call the above mentioned methods.Thanks in advance!