{"id":22771768,"url":"https://github.com/stonet2000/robot-state-reset-utils","last_synced_at":"2025-09-07T10:38:39.778Z","repository":{"id":203410805,"uuid":"709540501","full_name":"StoneT2000/robot-state-reset-utils","owner":"StoneT2000","description":null,"archived":false,"fork":false,"pushed_at":"2023-10-25T21:45:46.000Z","size":6,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-16T09:58:11.520Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/StoneT2000.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-10-24T22:20:56.000Z","updated_at":"2023-11-28T09:09:11.000Z","dependencies_parsed_at":null,"dependency_job_id":"eb986592-c74e-4f92-be3f-d5e23af73b1d","html_url":"https://github.com/StoneT2000/robot-state-reset-utils","commit_stats":null,"previous_names":["stonet2000/robot-state-reset-utils"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/StoneT2000/robot-state-reset-utils","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StoneT2000%2Frobot-state-reset-utils","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StoneT2000%2Frobot-state-reset-utils/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StoneT2000%2Frobot-state-reset-utils/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StoneT2000%2Frobot-state-reset-utils/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/StoneT2000","download_url":"https://codeload.github.com/StoneT2000/robot-state-reset-utils/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StoneT2000%2Frobot-state-reset-utils/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274026705,"owners_count":25209739,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-07T02:00:09.463Z","response_time":67,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-11T16:17:17.931Z","updated_at":"2025-09-07T10:38:39.749Z","avatar_url":"https://github.com/StoneT2000.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Robot Environment State Reset Utilities\n\nA set of utilities and scripts to format demonstrations from various robotics benchmarks (MetaWorld, ManiSkill etc.) to support and leverage environment state reset. Demonstrations here are stored following the [ManiSkill2 demonstration format](https://haosulab.github.io/ManiSkill2/concepts/demonstrations.html#format), which flexibly supports environment states.\n\nWhy environment state reset? A number of recent approaches have demonstrated greater sample/demonstration efficiency (e.g. [Reverse Forward Curriculum Learning](https://stoneztao.com/rfcl)) and impressive results (e.g. [Sequential Dexterity](https://sequential-dexterity.github.io/))\n\nSupported Benchmarks:\n- [ManiSkill2](https://github.com/haosulab/ManiSkill2)\n- [MetaWorld (using original MetaWorld version)](https://github.com/Farama-Foundation/Metaworld)\n- [Adroit (originally from D4RL, now using Gymnasium-Robotics version)](https://github.com/Farama-Foundation/Gymnasium-Robotics)\n\nPlanned:\n- Isaac Sim Environments\n\n## Getting Started\n\nOnly a few dependencies install them as so\n\n```bash\npip install gymnasium h5py\npip install mani-skill2\n```\n\n\n## Demonstration Formatting/Conversion\n\nIn `scripts/` there is a script for each benchmark and instructions for how to download/generate demonstrations.\n\nTo download already formatted demonstrations see the [hugging face dataset](https://huggingface.co/datasets/stonet2000/robot_demos_with_state_reset) or click the following to download directly: https://huggingface.co/datasets/stonet2000/robot_demos_with_state_reset/blob/main/demos.zip\n\n## Environment State Reset Wrappers\n\nTo allow environment state reset, we recommend using the single-file wrappers provided in this repository (just copy the code, no need for a pip install) which work out of the box with the supported environments/benchmarks. They augment the existing environment with state reset functionality, in addition to fixing various weird bugs such as [this one](https://github.com/Farama-Foundation/Gymnasium-Robotics/issues/165) when it comes to state reset.\n\nAll state reset wrappers implement 3 methods\n\n- `get_env_state(self) -\u003e T` returns the current environmnet state. Depending on the environment this could be a flat vector or a dictionary.\n- `set_env_state(self, state: T)` sets the environment using a state object. Anything returned by `get_env_state` can be used here.\n- `get_env_obs(self)` returns the current environment observation. Useful for retrieving the current agent's observation once a state has been set. Note some benchmarks do not support this easily.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstonet2000%2Frobot-state-reset-utils","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstonet2000%2Frobot-state-reset-utils","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstonet2000%2Frobot-state-reset-utils/lists"}