This is the first comprehensive pre-release under the umbrella RoboHive!
This release contains following task families -- Kitchen, Myo, HMS, Arms along with associated NPG baselines.
Kitchen Baselines [(full details)](https://github.com/vikashplus/mjrl_dev/tree/redesign/mjrl_dev/agents/v0.5/kitchen/NPG)
<img height="300" alt="Screenshot 2023-04-14 at 12 36 12 AM" src="https://user-images.githubusercontent.com/12837145/231942790-1f4b93d1-2362-4862-bc2a-25c1ac20a725.png">
Myo Baselines [(full details)](https://github.com/vikashplus/mjrl_dev/tree/redesign/mjrl_dev/agents/v0.5/myo/NPG)
<img height="300" alt="Screenshot 2023-04-14 at 12 37 36 AM" src="https://user-images.githubusercontent.com/12837145/231942940-1c76c3d5-53ed-48a5-85eb-ebcf89650aaa.png">
HMS Baselines [(full details)](https://github.com/vikashplus/mjrl_dev/tree/redesign/mjrl_dev/agents/v0.5/hms/NPG)
<img height="300" alt="Screenshot 2023-04-14 at 12 39 09 AM" src="https://user-images.githubusercontent.com/12837145/231943118-8e23499f-f5c8-4872-82cf-62b5e8c7044a.png">
Arms Baselines [(full details)](https://github.com/vikashplus/mjrl_dev/tree/redesign/mjrl_dev/agents/v0.5/arms/NPG)
<img height="300" alt="Screenshot 2023-04-14 at 12 40 01 AM" src="https://user-images.githubusercontent.com/12837145/231943212-9c792c74-9e5c-408c-8530-ec98e61cd40c.png">
ChangeLog
<details>
<summary>Click to expand</summary>
FEATURES:
- 2c8c63e CORE: Updating name to RoboHvie
- 6d1a1bc 6e0635f fa1453e CORE: Refactored env base to better support visual tasks. Each envs now supports get_obs, get_proprioception, and get_exteroception. Note get_exteroception has to be explicitly called for it to update
- 804d9f7 59f2c92 8894dd5 CORE Proprio dict and env state now has time as one of the keys.
- b52ae85, 2c9f764 ENCODER Adding visual cortex encoders (VC1) as an encoder choice.
- d861b8e ROBOT add frequently used capnp message files
- f883265 Adding more prominent colors for warnings and errors
- 52cbd53 Hands Suite: Renamed hand_manipulation_suite to hands
- 8bf8856 Hands Suite: Default 3 cameras will be - view_1, view_4, and the vil_camera
- da6dc2a Hands Suite: Adding the a simple indoor room scene. Also updating all DAPG envs to use this scene
- 0be87c7 f09e722 LOGGER: Removing old examine_rollout. Please use logger/examine_logger.py moving forward. All functionalities have been ported over.
- f258be0 LOGGER: name needs to be provided as an explicit argument
- adc8f27 LOGGER: Logger can save in RoboHive as well as roboset format.
- adc8f27 LOGGER: examine_logs mode==render now follows the convention of extracting actions and delaying the stepping to the end of the loop.
- 47fef3c 48b6894 LOGGER: Support of enumeration on trace as list, or as dicts.
- 85c4c44 LOGGER: Adding length, and iteration ability to the logs
- 0e52724 LOGGER: Trace loaded from file is fully functional class now. It was just a file object earlier
- 7bdfcda LOGGER: logs can be saved/rendered directly from the examine script
- 61b015f ENV: get_sim is moved inside SimScene. We need to call SimScene.get_sim() now.
- 2bf708f ENV: Adding credits to every env which is printed during env instantiation
- 2bb6fdd SIM: Consolidation of meshes in the myo_sim repo
- e171b62 SIM: Updating the name of the modules to SimHive
- b63f780 MULTITASK Deprecating vanilla relay_kichen. Its a part of the multi_task suite now
- 5cfc559 MULTITASK (1) changing ee_pos(pos) to ee pose(pos+euler) (2) Better handling of goal proximity
- 5a945ee MULTITASK: Adding a readMe to track history and evolution of FrankaKitchen
- 1eeb29b MULTITASK: Introducing Kitchen-v4 envs
- Single entry point that supports all env variants (fixed, demo, random, random desk)
- Consolidation of entrypoints into FIXED(relay demo entry) and RANDOM(random joint + kitchen-robot base)
- support for get_obs, get_proprio, and get_extero
- New naming schemes for the env. All envs are available in FIXED, RANDOM, and RANDOM_v2D variants
- obs_keys, visual_keys etc are all defined inside the env. They are configured inside during the registration.
- 93bc43b MULTITASK: Adding franka-kitchen randomization to the RANDOM_ENTRY_POINT. This is what was called RANDOMDESK_ENTRY_POINT in the R3M codebase. This randomization is important to study visual generalizaiton. Otherwise proprioception alone is enough to solve the tasks
- 4570c8d MULTITASK: Moving demo initqpos/qvel to xml as keyframe. Envs load init values from the keyframe instead of it being hard coded in the env. Adding default proprio keys to the env. Visual keys are also staged in the env (if needed)
- 5e7e6b8 MULTITASK: Adding a top cameras to the kitchen scene
BugFixes
- c10aca6 (a) kwargs were not passed in the custom step for myobase (b) act dimensions weren't handled appropriately when na==0
- f272bc4 A few of the obs data were passed as a reference in fmFrankaRobotiqData env
- 0abae1b By default the logs will be now saved with f64 resolution. Leads to small bump in size, but improves on roundup errors.
- fbd6d96 Print more informative errors if specified keys are not found
- 46c6170 9dacf88 Obs now has ['time', 'time'] as keys to help expose the accidental singleton expansion errors-In examine_logs mode==render uses full state to reset the env, not just qpos and qvel.
- 72bbe2b All reward terms are converted to floats. This now avoids data type issues in rewards calculations
- 61b389a Add last step while creating logs. Render only when visual keys are present
- 9dc71ca BUGFIX: Kwargs weren't being passed. So exteroceptors updates were missing. Also removing duplicate files in finger and basic.
- 8c331a6 BUGFIX: robot velocity was hardcoded. Which is making it save/fail at various places
- 9e17308 BUGFIX: matching the number of things that are returned
- 65a3ced BugFix: If there is a single Visual and Proprio key that is passed as a string, it throws a bug. These keys have to be a list, but we can handle single keys specified as string. Handling this was important as this feels like a common mistake
Docs
- a7821f8 Adding a tutorial on how to access the observation, proprio and exterior information
- 4b76549 Centralization of docs and tutorial on the wiki.
- cb1c2ea, 7eda971 Landing page updated to be the main landing page. 2nd order details moved to sub-pages (6d31b08, 8677cbb, 16d85b9)
Installation
- 47f7f57, a639f72, 923e63c Adding instructions on installation choices and docs for users to avail optional dependencies
- b71b793 Adding tests for imports and providing helpful suggestions if they are missing
- e8f6374 Remove git dependencies from setup.py for pypi (80)
- 8e0d845 Adding the dm_control dependency along with mujoco. dm_control and official mujoco is optional as of now
- 697fd82 Created .github/workflows/python-app.yml
- 73c22ad Update python-app.yml to explicitly install r3m and vc1 to perform all the tests
- bea2569 74d5ee1 myo_sim submodule now points to the public repo. RoboHive now has no private repo dependencies
- e171b62 Updating the simulation suite name to simhive
- d7544f5 BUGFIX: Properly extract state to init the env
</details>