{"id":15417008,"url":"https://github.com/blueandi/pylinefollowertrackgenerator","last_synced_at":"2026-02-25T02:31:37.097Z","repository":{"id":223768208,"uuid":"761492785","full_name":"BlueAndi/pyLineFollowerTrackGenerator","owner":"BlueAndi","description":"A CLI tool to generate a Webots world with a random line follower track.","archived":false,"fork":false,"pushed_at":"2025-02-06T19:15:18.000Z","size":977,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-29T08:43:36.230Z","etag":null,"topics":["line-follower","linefollower","python","webots","zumo32u4"],"latest_commit_sha":null,"homepage":"","language":"Python","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/BlueAndi.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":"2024-02-21T23:43:42.000Z","updated_at":"2025-03-19T08:39:25.000Z","dependencies_parsed_at":"2024-03-14T23:22:54.617Z","dependency_job_id":"d01768ef-5b90-4619-a98a-f90e6ef5e958","html_url":"https://github.com/BlueAndi/pyLineFollowerTrackGenerator","commit_stats":{"total_commits":42,"total_committers":1,"mean_commits":42.0,"dds":0.0,"last_synced_commit":"87094dd4d25b612d792f6741fa1ebefcbe9c5efd"},"previous_names":["blueandi/pylinefollowertrackgenerator"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BlueAndi%2FpyLineFollowerTrackGenerator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BlueAndi%2FpyLineFollowerTrackGenerator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BlueAndi%2FpyLineFollowerTrackGenerator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BlueAndi%2FpyLineFollowerTrackGenerator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/BlueAndi","download_url":"https://codeload.github.com/BlueAndi/pyLineFollowerTrackGenerator/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249715529,"owners_count":21315056,"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":["line-follower","linefollower","python","webots","zumo32u4"],"created_at":"2024-10-01T17:14:23.562Z","updated_at":"2026-02-25T02:31:37.042Z","avatar_url":"https://github.com/BlueAndi.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# pyLineFollowerTrackGenerator \u003c!-- omit in toc --\u003e\nA CLI tool to generate a Webots world with a random line follower track.\n\n[![License](https://img.shields.io/badge/license-MIT-blue.svg)](http://choosealicense.com/licenses/mit/)\n[![Repo Status](https://www.repostatus.org/badges/latest/wip.svg)](https://www.repostatus.org/#wip)\n![CI Status](https://github.com/BlueAndi/pyLineFollowerTrackGenerator/actions/workflows/test.yml/badge.svg)\n\n* [Installation](#installation)\n* [Usage](#usage)\n  * [Track: ETrack](#track-etrack)\n  * [Track: Grid](#track-grid)\n  * [Track: Simple](#track-simple)\n  * [Track: \\\u003c...\\\u003e](#track-)\n  * [Friction](#friction)\n* [Used Libraries](#used-libraries)\n* [Issues, Ideas And Bugs](#issues-ideas-and-bugs)\n* [License](#license)\n* [Contribution](#contribution)\n\n# Installation\n```cmd\n$ git clone https://github.com/BlueAndi/pyLineFollowerTrackGenerator.git\n$ cd pyLineFollowerTrackGenerator\n$ pip install .\n```\n\n# Usage\n\n## Track: ETrack\nGenerate a line follower track like a 'E' with the \"etrack\" command.\n\nUse ```./pyLineFollowerTrackGenerator etrack --help``` to see all possible parameters.\n\nExample: A arena 2 x 2 m generated with splines through 30 points. The line width is 1.5 cm by default.\n```bash\n$ ./pyLineFollowerTrackGenerator Parameters: etrack -a \"Andreas Merkle\" -d \"Line follower track along a 'E'.\" -e web@blue-andi.de -mg cardboard -mr rubber -mp dry etrack\n```\n![example_etrack](./examples/etrack/example_etrack.png)\nFiles:\n* [etrack.wbt](./examples/etrack/etrack.wbt)\n* [etrack.png](./examples/etrack/etrack.png)\n\n## Track: Grid\nGeneate a line follower track in a fixed grid by coordinates in a JSON file.\n\nUse ```./pyLineFollowerTrackGenerator grid --help``` to see all possible parameters.\n\nExample: A arena 3 x 3 m generated with quarter circles. The line width is 1.5 cm by default.\n```bash\n$ .pyLineFollowerTrackGenerator grid -a \"Andreas Merkle\" -d \"Line follower grid track.\" -e web@blue-andi.de -mg cardboard -mr rubber -mp dry -s 3 grid.wbt grid_points.json\n```\n![example_grid](./examples/grid/example_grid.png)\nFiles:\n* [grid_points.json](./examples/grid/grid_points.json)\n* [grid.wbt](./examples/grid/grid.wbt)\n* [grid.png](./examples/grid/grid.png)\n\n## Track: Simple\nGenerate a simple line follower track with the \"simple\" command.\n\nUse ```./pyLineFollowerTrackGenerator simple --help``` to see all possible parameters.\n\nExample: A arena 2 x 2 m generated with splines through 12 points. The line width is 1.5 cm by default.\n```bash\n$ ./pyLineFollowerTrackGenerator simple simple.wbt -s=2 -np=12\n```\n![example_simple](./examples/simple/example_simple.png)\nFiles:\n* [simple.wbt](./examples/simple/simple.wbt)\n* [simple.png](./examples/simple/simple.png)\n\n## Track: \u0026lt;...\u0026gt;\nYou are invited to extend it with more different kind of tracks. ;-)\n\n## Friction\nGet a list of available material pairs with their friction parameters by using\n\n```bash\n$ ./pyLineFollowerTrackGenerator friction\n```\n\nor get a filtered list e.g. for steel:\n\n```bash\n$ ./pyLineFollowerTrackGenerator friction steel\n```\n\nSpecify the material for the ground and for the robot contact material, as well as the material property:\n```bash\n$ ./pyLineFollowerTrackGenerator simple simple.wbt -s=2 -np=12 -mg cardboard -mr rubber -mp dry\n```\n\nNotes:\n* Static and dynamic friction are supported.\n* Only symmetric friction is supported.\n* If the friction has a range, the friction will be determined random (min \u0026lt;= friction \u0026lt;= max).\n* Find the source for the friction parameters in [friction database](./database/friction.json).\n* In the [Webots contact properties](https://www.cyberbotics.com/doc/reference/contactproperties) the friction parameters are configured.\n* Details about the physical simulation are explained in the [Open Physics Engine manual](https://ode.org/wiki/index.php?title=Manual#Contact), which is used by Webots.\n\n# Used Libraries\nUsed 3rd party libraries which are not part of the standard Python package:\n\n| Library | Description | License |\n| - | - | - |\n| [matplotlib](https://github.com/matplotlib/matplotlib) | Matplotlib is a comprehensive library for creating static, animated, and interactive visualizations in Python. | Mixed |\n| [numpy](https://github.com/numpy/numpy) | NumPy is the fundamental package for scientific computing with Python. | Mixed |\n| [scipy](https://github.com/scipy/scipy) | SciPy is an open-source software for mathematics, science, and engineering. | BSD-3 |\n| [toml](https://github.com/uiri/toml) | Parsing [TOML](https://en.wikipedia.org/wiki/TOML) | MIT License |\n\n# Issues, Ideas And Bugs\nIf you have further ideas or you found some bugs, great! Create a [issue](https://github.com/BlueAndi/pyLineFollowerTrackGenerator/issues) or if you are able and willing to fix it by yourself, clone the repository and create a pull request.\n\n# License\nThe whole source code is published under the [MIT license](http://choosealicense.com/licenses/mit/).\nConsider the different licenses of the used third party libraries too!\n\n# Contribution\nUnless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, shall be licensed as above, without any additional terms or conditions.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fblueandi%2Fpylinefollowertrackgenerator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fblueandi%2Fpylinefollowertrackgenerator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fblueandi%2Fpylinefollowertrackgenerator/lists"}