This repository was archived by the owner on Sep 11, 2023. It is now read-only.
Open
Conversation
use a wrapper and fix old API
7c71af7 to
f803b18
Compare
d2d792e to
2973c17
Compare
57cd9cb to
ba0214b
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The main mechanism to add distractors is
utils.EnvElementManagerobjects, each of which conceptually manages the evolution of a certain element. Its methodsreset(),step(), andpre_render()are called in main environment respective places. This allows placing all code related to a single distractor in a single place, making it much more readable.Additionally, the
RoboDeskclass is broken into a base classRoboDeskBaseand subclassesRoboDeskandRoboDeskWithTV. The base class has very detailed parameters for distractors. The subclassesRoboDesk(..., distractor="all")or="none"or={'env_light', 'camera'}.CameraSpec.Notably among
EnvElementManagers:CameraManageris created fromCameraSpecand is the definitive entry point to create a rendered view of the scene (as it manages camera location).ButtonManagermodels potential noisy button sensor readings, so elements that change wrt them (i.e., indicator lights on desk, and TV hue) should read from its methodget_normalized_button.TVManagerloads video files and updates frames to the mujoco model.This PR is built on top of #3. Let me know how I can better facilitate review.
Finally, if this gets merged, could I be added to readme/acknowledgement/bibtex so that I can help with potential issues people have with the distractor options?