{"id":19432922,"url":"https://github.com/bonifatius94/robot-sf","last_synced_at":"2026-04-19T10:32:19.977Z","repository":{"id":186498961,"uuid":"673412480","full_name":"Bonifatius94/robot-sf","owner":"Bonifatius94","description":"training environment for the simulation of a robot moving in a pedestrian-filled space","archived":false,"fork":false,"pushed_at":"2023-12-14T13:53:25.000Z","size":4615,"stargazers_count":1,"open_issues_count":2,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-25T06:18:26.683Z","etag":null,"topics":["gym-environment","ppo","reinforcement-learning","self-driving-car","simulation","social-force-model","stable-baselines3"],"latest_commit_sha":null,"homepage":"","language":"Python","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/Bonifatius94.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}},"created_at":"2023-08-01T15:05:36.000Z","updated_at":"2023-12-05T19:20:48.000Z","dependencies_parsed_at":"2023-12-30T10:43:09.315Z","dependency_job_id":null,"html_url":"https://github.com/Bonifatius94/robot-sf","commit_stats":{"total_commits":349,"total_committers":7,"mean_commits":"49.857142857142854","dds":"0.20057306590257884","last_synced_commit":"4dac2db579c984ede65bf24fb9087bc95d80aed4"},"previous_names":["bonifatius94/robot-sf"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Bonifatius94/robot-sf","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Bonifatius94%2Frobot-sf","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Bonifatius94%2Frobot-sf/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Bonifatius94%2Frobot-sf/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Bonifatius94%2Frobot-sf/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Bonifatius94","download_url":"https://codeload.github.com/Bonifatius94/robot-sf/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Bonifatius94%2Frobot-sf/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265724172,"owners_count":23817745,"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":["gym-environment","ppo","reinforcement-learning","self-driving-car","simulation","social-force-model","stable-baselines3"],"created_at":"2024-11-10T14:37:40.237Z","updated_at":"2026-04-19T10:32:19.922Z","avatar_url":"https://github.com/Bonifatius94.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# robot-sf\n\n## About\nThis project provides a training environment for the simulation of a robot moving\nin a pedestrian-filled space.\n\nThe project interfaces with OpenAI Gym to facilitate trainings with various\nSOTA reinforcement learning algorithms like e.g. StableBaselines3.\nFor simulating the pedestrians, the SocialForce model is used via a dependency\non a fork of PySocialForce.\n\nFollowing video outlines some training results where a robot with e-scooter\nkinematics is driving at the campus of University of Augsburg using real\nmap data from OpenStreetMap.\n\n![](./docs/video/demo_01.gif)\n\n## Quickstart\n\n### 1. Clone Source Code\n\n```sh\ngit clone --recurse-submodules https://github.com/Bonifatius94/robot-sf\ncd robot-sf\n```\n\n### 2. Install Dependencies\n\n```sh\npython3 -m pip install pip --upgrade\npython3 -m pip install -r requirements.txt\npython3 -m pip install -r fast-pysf/requirements.txt\n```\n\n### 3. Register *robot_sf* and *pysocialforce* Packages\n\n```sh\npushd ./fast-pysf\n    python3 -m pip install .\npopd\npython3 -m pip install .\n```\n\n*Note: This needs to be repeated to propagate robot_sf changes on a host deployment.\nOtherwise the calling scope might run an old version of robot_sf.\nDockerized deployments will recognize when a change requires a rebuild.*\n\nAlternatively create soft links for fast-pysf. The modules and tests are\nautomatically detected by the interpreter if the calling scope is located\nat the repository's root directory which is very useful e.g. for debugging.\n\n```sh\nln -s fast-pysf/pysocialforce pysocialforce\npushd tests\n    ln -s ../fast-pysf/tests pysf_tests\npopd\n```\n\n*Note: The outlined command might differ on Windows, e.g. try mklink*\n\n### 4. Run Linter / Tests\n\n```sh\npython3 -m pytest tests\npython3 -m pylint robot_sf\n```\n\n### 5. Run Visual Debugging of Pre-Trained Demo Models\n\n```sh\npython3 demo_offensive.py\npython3 demo_defensive.py\n```\n\n### 6. Run StableBaselines Training (Docker)\n\n```sh\ndocker-compose build \u0026\u0026 docker-compose run \\\n    robotsf-cuda python ./scripts/training_ppo.py\n```\n\n*Note: See [this setup](./docs/GPU_SETUP.md) to install Docker with GPU support.*\n\n### 7. Edit Maps\n\n```sh\nsudo apt-get update \u0026\u0026 sudo apt-get install -y python3-tk\n```\n\n```sh\npython3 -m map_editor\n```\n\n*Note: See [this documentation](./docs/MAP_EDITOR_USAGE.md) on how to use the map editor.*\n\n### 8. Optimize Training Hyperparams (Docker)\n\n```sh\ndocker-compose build \u0026\u0026 docker-compose run \\\n    robotsf-cuda python ./scripts/hparam_opt.py\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbonifatius94%2Frobot-sf","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbonifatius94%2Frobot-sf","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbonifatius94%2Frobot-sf/lists"}