{"id":26223465,"url":"https://github.com/devidduma/fetch-mobile-manipulator","last_synced_at":"2025-04-19T11:32:56.036Z","repository":{"id":91910734,"uuid":"603414817","full_name":"devidduma/fetch-mobile-manipulator","owner":"devidduma","description":"Off-policy learning in robotics simulation with Fetch mobile manipulator.","archived":false,"fork":false,"pushed_at":"2025-03-03T15:42:17.000Z","size":57023,"stargazers_count":2,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-29T07:21:49.871Z","etag":null,"topics":["deep-reinforcement-learning","robotics"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/devidduma.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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-02-18T12:47:25.000Z","updated_at":"2025-03-03T15:42:20.000Z","dependencies_parsed_at":null,"dependency_job_id":"178a8cde-f0e4-444e-bb7c-868778fbc0bb","html_url":"https://github.com/devidduma/fetch-mobile-manipulator","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devidduma%2Ffetch-mobile-manipulator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devidduma%2Ffetch-mobile-manipulator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devidduma%2Ffetch-mobile-manipulator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devidduma%2Ffetch-mobile-manipulator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/devidduma","download_url":"https://codeload.github.com/devidduma/fetch-mobile-manipulator/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249685166,"owners_count":21310556,"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","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":["deep-reinforcement-learning","robotics"],"created_at":"2025-03-12T17:35:01.833Z","updated_at":"2025-04-19T11:32:56.014Z","avatar_url":"https://github.com/devidduma.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Fetch Mobile Manipulator\n### Off-policy learning in robotics simulation with Fetch mobile manipulator\n\n## Video demonstrations\n\n| Fetch Reach | Fetch Push | Fetch Pick and Place                                                                  |\n|-------------|------------|---------------------------------------------------------------------------------------|\n| ![FetchReach-v4](./demonstrations/gifs/FetchReach-v4.gif) | ![FetchPush-v4](./demonstrations/gifs/FetchPush-v4.gif) | ![FetchPickAndPlace-v4](./demonstrations/gifs/FetchPickAndPlace-v4.gif) |\n\nFor each task, we have generated video demonstrations of our pretrained agents and saved the videos in the [demonstrations](./demonstrations) folder.\n\nTo generate new videos, simply run the script [demonstrations/demonstrations.py](./demonstrations/demonstrations.py). This will generate new videos for all training tasks in all environments in batch.\n\n## Abstract\n\nIn robotics, physics-based simulations are crucial for training real-life robots. Simulations have seen adoption accelerated by the rapid growth in computational power over the last three decades (Liu \u0026 Negrut, 2021). Robots are very complicated systems, training them in the real world can be challenging, since execution and feedback is slow. Physics-based simulation allows sampling experience millions times faster than in the real world, making it possible to train very complicated robots. \n\nIn this project, we apply Off-Policy Deep Reinforcement Learning methods to Fetch Mobile Manipulator, a 7-DoF arm with a two-fingered parallel gripper attached to it. We train the Fetch robot to solve tasks such as Reach, Push, Pick and Place or Slide.\n\n## Supported algorithms\n\nSupported algorithms are listed below:\n- [Deep Deterministic Policy Gradient (DDPG)](https://arxiv.org/pdf/1509.02971.pdf), [commit id](https://github.com/thu-ml/tianshou/tree/e605bdea942b408126ef4fbc740359773259c9ec)\n- [Twin Delayed DDPG (TD3)](https://arxiv.org/pdf/1802.09477.pdf), [commit id](https://github.com/thu-ml/tianshou/tree/e605bdea942b408126ef4fbc740359773259c9ec)\n- [Soft Actor-Critic (SAC)](https://arxiv.org/pdf/1812.05905.pdf), [commit id](https://github.com/thu-ml/tianshou/tree/e605bdea942b408126ef4fbc740359773259c9ec)\n- [Randomized Ensembled Double Q-Learning (REDQ)](https://arxiv.org/pdf/2101.05982.pdf), [commit id](https://github.com/thu-ml/tianshou/tree/dd16818ce4392cd82a44a8450529450dbf759666)\n- [Hindsight Experience Replay (HER)](https://arxiv.org/abs/1707.01495), [commit id](https://github.com/thu-ml/tianshou/tree/d42a5fb3542ab1db49b051aa4fe24cdbadf842a3)\n\n## Usage\n\nRefer to the [benchmark](./benchmark) folder to reproduce the experimental results.\n1. Create a virtual environment (venv) and install all dependencies in it from [requirements.txt](./requirements.txt).\n2. Train each algorithm individually using *run configurations*. \n3. Pretrained agents and logs are saved in `./log` folder.\nWe can monitor the logs with Tensorboard to generate graph plots.\n\n```bash\n$ tensorboard --logdir log\n```\n\n## Results\nAll results from our experiments are saved in the [benchmark](./benchmark) folder.\n - [benchmark/log](benchmark/log): contains all pretrained agents and logs, which can be plotted with Tensorboard.\n - [benchmark/plots](benchmark/plots): graph plots generated with Tensorboard.\n - [benchmark/outputs](benchmark/outputs): contains command line outputs from the beginning of training until the end of training for each training task.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevidduma%2Ffetch-mobile-manipulator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdevidduma%2Ffetch-mobile-manipulator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevidduma%2Ffetch-mobile-manipulator/lists"}