{"id":13763098,"url":"https://github.com/LucasWaelti/RL_Webots","last_synced_at":"2025-05-10T16:32:17.003Z","repository":{"id":75558337,"uuid":"253180429","full_name":"LucasWaelti/RL_Webots","owner":"LucasWaelti","description":"Webots project to show how to use Deep Reinforcement Learning with Webots in C++. ","archived":false,"fork":false,"pushed_at":"2020-04-05T12:54:55.000Z","size":36,"stargazers_count":36,"open_issues_count":0,"forks_count":7,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-08-03T15:04:40.877Z","etag":null,"topics":["cpp","deep-reinforcement-learning","libtorch","policy-gradient","python","pytorch","rl","webots"],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/LucasWaelti.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":"2020-04-05T07:37:10.000Z","updated_at":"2024-08-01T09:19:37.000Z","dependencies_parsed_at":"2023-06-06T21:45:24.624Z","dependency_job_id":null,"html_url":"https://github.com/LucasWaelti/RL_Webots","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/LucasWaelti%2FRL_Webots","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LucasWaelti%2FRL_Webots/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LucasWaelti%2FRL_Webots/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LucasWaelti%2FRL_Webots/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LucasWaelti","download_url":"https://codeload.github.com/LucasWaelti/RL_Webots/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224978739,"owners_count":17401789,"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":["cpp","deep-reinforcement-learning","libtorch","policy-gradient","python","pytorch","rl","webots"],"created_at":"2024-08-03T15:00:32.851Z","updated_at":"2024-11-16T22:31:14.886Z","avatar_url":"https://github.com/LucasWaelti.png","language":"C++","funding_links":[],"categories":["Open Source Projects"],"sub_categories":["Video Tutorials"],"readme":"# RL_Webots\nThis repository shows how Deep Reinforcement Learning can be used within Webots. This project was developed under Linux. While it should be possible to use it with other operating systems, this was not tested. \n\nThe code presented in this repository was adapted from a semester project at the [Distributed Intelligent Systems and Algorithms Laboratory (DISAL)](https://www.epfl.ch/labs/disal/). A summary of the project can be found [here](https://disalw3.epfl.ch/teaching/student_projects/ay_2019-20/ws/DISAL-SP133_summary.pdf). The part presented here is about **Deep Reinforcement Learning**, leveraging **Policy Gradient** to train a fully connected, feed forward neural network to solve a simple **obstacle avoidance task** on a **continuous action space** with a Khepera IV robot. \n\nThe project was entirely implemented in C++ and relies on [libtorch](https://pytorch.org/cppdocs/), [PyTorch](https://pytorch.org/)'s C++ API. \n\n## Install\nDownload [PyTorch's C++ API](https://pytorch.org/). Choose following options: \n- Build: Stable\n- OS: Linux\n- Package: LibTorch\n- Language: C++\n- CUDA: None\n\nand click on the second link (cxx11 ABI, 87.4M). Extract the zip file wherever you like on your computer. You need to edit the `env.sh` script and adapt the path to your libtorch installation folder: \n```bash\nexport LIBTORCH_PATH=/path/to/libtorch \n```\n\nOpen up a terminal, go to the project folder and run the following commands to build the project: \n```bash\nsource env.sh\n./build_project.sh\n```\n## Documentation\nPlease visit the repository's [wiki](https://github.com/LucasWaelti/RL_Webots/wiki) for more details. ","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FLucasWaelti%2FRL_Webots","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FLucasWaelti%2FRL_Webots","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FLucasWaelti%2FRL_Webots/lists"}