Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature] Make robohive_env_suite an iterator #109

Closed
wants to merge 72 commits into from

Conversation

vmoens
Copy link
Contributor

@vmoens vmoens commented Sep 21, 2023

  • WIP: TESTS: Adding tests on examine_envs
  • DOCS: Improved setup instructions + added common FAQs
  • DOCS: Updating citations and fixing the typos on the tutorials
  • DOCS: Fixing the typos on the tutorials
  • PROMPT: Users can now control RoboHive's verbosity
  • QUADS: adding dkitty locomotion envs
  • [bug] get_visuals() check visual_keys for depth log ([bug] get_visuals() check visual_keys for depth log #86)
  • PROMPT: Adding new models, including print always
  • HMS: BUGFIX: reset was directly called. Robot wasn't resetting
  • ROBOT: BUGFIX: Wall clock sync was off for sim robot. - Wall clock and sim_time was being compared which sped up the initial few steps. - Default script to demo the robot was state. Reviving
  • RENDERER: FEATURE: Adding the new mujoco renderer. Making MUJOCO as default backend
  • TESTS: Adding tests for robot as well as examine envs
  • FEATURE: Allows examine_env to load hard coded policies (Allow examine_env to load hard coded policies #87)
  • add wiki link badge (add wiki link badge #91)
  • TCDM: BUGFIX: Making code compatible with MUJOCO bindings. Adding some tolerance to the extero checks
  • Upgrading model for mujoco234 compatibility
  • Upgrading model for mujoco234 compatibility
  • RENDERER: FEATURE: We can now specify visual options like rendering of actuaros etcs
  • DEPLOY+DOCS: mujoco is the sim-bindings for default install moving forward. Updating setup and docs
  • HMS+BUGFIX: reset qpos qvel when specified had a bug during comparision with None
  • BUGFIX+UTILS: Respect the specified name even when the policy is random
  • LOGGER+TESTS+BUGS: Adding unittest. Bugfixes while loading - Adding unittests to catch the logger bugs. It will need a lot more tests to compherensively test the logger - logger format wasn't properly dlowing through introducing a few bugs along the way
  • FK1+DOCS: Improving the docs to better explain the FIXED, RANDOM, AND RANDOM_2D variants, as well as subgroups
  • ROBOT+FEATURE: Change hardware gains on the fly
  • add wiki badge (add wiki badge #92)
  • UTILS: A lightweight way to check for libraries. This avoids unnecessary checks for mujoco_py compilation if its not in use
  • SIMSCENE: Renaming DM_CONTROL to MUJOCO to avoid confusion
  • Renaming meshes to improve clarity
  • Kitchen+MAJOR: Removing the v3 envs
  • TYPO: fixing bibtex formatting
  • BUGFIX: Robot.py was using a legacy calls. The examine robot tutorial was using state calls to MujocoPy. Adding a unit test
  • FEATURE: More robust way of getting the camera names. Helpful when cameras names contains :
  • FEATURE: Resetting the sim when it diverges
  • UTILS: plot the keys in sorted order
  • QUADS: Porting ROBEL Dkitty envs, envs are trainable. Policies are also being committed to the agents repo
  • Supress TCDM as its still a WIP
  • ARMS:FEATURE: Preparing visual envs for arms - Adding proprio keys - Separating robot and obs keys - Adding cameras to support standard exteroception
  • Maintain an explicit list of all RoboHive Envs (Update __init__.py to keep a list of registered envs #97)
  • RENAMING hand_manipulation_suite to hands
  • CLEANUP: Removing an unnecessary variable
  • DOCS: renaming the mjb to indicate the mujoco version
  • UTILS: Adding vector mat/quat multiplication
  • Physics: Explicit way to get the sim_backend
  • MAJOR:MYO: major renaming for naming consistency throughout the ecosystem
  • HANDS: Getting baoding envs back to functional
  • PACKAGING: bumping the version to 0.6
  • TESTS:MAJOR: RoboHive now populates and maintains explicit lists of registered envs accross all suites. + Major rewamping the unit tests. Envs names are automatically fetched now. This helped catch a lot of new bugs that were getting ignored. All were minor fixes (missing camera, keys, etc)
  • TYPO: renaming obj to obs in file name
  • MYO+BUGFIX: Introducing normalization overide that was added in MyoSuite to skip sigmoid reprojection
  • Add CI test to dev branch (add test to dev branch #100)
  • Updating ignore files
  • ee_pose is leaking privileged information: A change was introduced to add randomization in the kitchen envs by making the franka_base reposition wrt to the kitchen at every reset. BUG: In our observations, ee_pos is present which provides global information about the grippers thereby also revealing the relative location between the kitchen and the robot. IMPLICATIONS: For state-based envs, this isn't as problematic. But for visual envs, this is quite problematic as the information that is required for visual generalization is being leaked by the ee_pose. FIX: The proposed fix is to update the ee_pose to provide values relative to the Franka robot's base, instead of the global ee_pose
  • MTask+BUGFIX: Adding ee_pose-wrt_robot and ee_pose-wrt_world - ee_pose_wrt_world is required for the obs. Without it the policy will be blind to the relative location of the kitchen - ee_pose_wrt_robot is required for proprioception. The visual inputs will provide the relative location of the kitchen in this case
  • Update README.md
  • BUGFIX: unnecessary import was throwing error on windows
  • FEATURE: Offscreen renderer also supports the visual options
  • add virtual display (add virtual display #101)
  • Myo+Sync+Base: Upgrading to MuJoCo236. Syncing myo to MyoSuite. Upgrading MyoLegs to mj236
  • TESTS: Adding an env variable to configure unit tests. ROBOHIVE_TEST=LITE can now disable checks on envs that require encoder downloads
  • MIROR: Disable the autorotation of the default camera
  • MYO+FEATURE: Adding initial version of the MyoChallenge Manipulation track envs
  • BUGFIX+MYO: Better handling of the done conditions. Improved object ranges
  • MyoChallege: Adding recepticles to the myochallenge env
  • MyoChallenge: Fixing object joint ranges and configuring the target ranges
  • KETCHEN CLEANUP: Upgrading substep2 and substep9 envs to be compatible with FIXED and RANDOM convensions. Removing the franka_kitchen_v1.py
  • Myo: Updating the submodules to point to the latest envs
  • Debugging tests: Removing all passing ones, addind prints to failng ones
  • TESTS: Improving tests. Better handling of relative paths
  • add rendering test (add rendering test #105)
  • Activating back all tests
  • Removing TCDM tests as its not ready
  • Logger+Upgrade: Add option to inlcude expterioception

vikashplus and others added 30 commits April 19, 2023 11:35
get_visuals() checks obs_keys instead visual_keys for depth logging.
- Wall clock and sim_time was being compared which sped up the initial few steps.
- Default script to demo the robot was state. Reviving
* Allow examine_envs to load hard coded policies, E.g.
python robohive/utils/examine_env.py -e FrankaReachRandom-v0 -p robohive.utils.examine_env.rand_policy

* Remove unnecessary import
* examine_env loading scripted polcies: update DESC in examine_env and add unit test
Co-authored-by: Patrick Lancaster <[email protected]>
…nittests to catch the logger bugs. It will need a lot more tests to compherensively test the logger - logger format wasn't properly dlowing through introducing a few bugs along the way
…ary checks for mujoco_py compilation if its not in use
vikashplus and others added 28 commits June 17, 2023 16:36
…egistered envs accross all suites. + Major rewamping the unit tests. Envs names are automatically fetched now. This helped catch a lot of new bugs that were getting ignored. All were minor fixes (missing camera, keys, etc)
… add randomization in the kitchen envs by making the franka_base reposition wrt to the kitchen at every reset.

BUG: In our observations, ee_pos is present which provides global information about the grippers thereby also revealing the relative location between the kitchen and the robot.
IMPLICATIONS: For state-based envs, this isn't as problematic. But for visual envs, this is quite problematic as the information that is required for visual generalization is being leaked by the ee_pose.
FIX: The proposed fix is to update the ee_pose to provide values relative to the Franka robot's base, instead of the global ee_pose
- ee_pose_wrt_world is required for the obs. Without it the policy will be blind to the relative location of the kitchen
- ee_pose_wrt_robot is required for proprioception. The visual inputs will provide the relative location of the kitchen in this case
…LITE can now disable checks on envs that require encoder downloads
…e with FIXED and RANDOM convensions. Removing the franka_kitchen_v1.py
* add rendering test

* add ffmpeg
@vmoens
Copy link
Contributor Author

vmoens commented Sep 21, 2023

Should be against dev sorry

@vmoens vmoens closed this Sep 21, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants