{"id":15974001,"url":"https://github.com/iitzco/auto","last_synced_at":"2025-04-04T16:21:47.930Z","repository":{"id":100459622,"uuid":"116608987","full_name":"iitzco/auto","owner":"iitzco","description":"AUTO - Multiagent System for self driving cars","archived":false,"fork":false,"pushed_at":"2018-01-08T00:34:14.000Z","size":1513,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-10T01:46:36.340Z","etag":null,"topics":["multiagent-systems","python3","self-driving-car"],"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/iitzco.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":"2018-01-08T00:03:45.000Z","updated_at":"2022-06-26T09:48:29.000Z","dependencies_parsed_at":"2023-05-14T20:45:10.112Z","dependency_job_id":null,"html_url":"https://github.com/iitzco/auto","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/iitzco%2Fauto","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iitzco%2Fauto/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iitzco%2Fauto/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iitzco%2Fauto/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/iitzco","download_url":"https://codeload.github.com/iitzco/auto/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247208410,"owners_count":20901570,"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":["multiagent-systems","python3","self-driving-car"],"created_at":"2024-10-07T21:22:55.488Z","updated_at":"2025-04-04T16:21:47.909Z","avatar_url":"https://github.com/iitzco.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# AUTO\n\n**This is a proof of concept about how Multiagent Systems can be applied to self-driving cars in order to avoid potencial accidents.**\n\n![img](https://raw.githubusercontent.com/iitzco/auto/master/auto.gif)\n\n## Description\n\nCars communicate with each other exchanging information about their speed and position. Then, each car decides the correct action depending on the information it could collect from other cars.\n\n#### Basic Architecture\n\nThis program was developed to be executed in a single thread environment. In each iteration, each car receives exclusive CPU time that need to be used to communicate with the environment and to update its state.\n\nThe communication flow is done through message queues following a Request/Response protocol. Each car contains a Request message queue and a Response message queue. The Request message queue will host all messages sent from other cars that the car needs to answer. The Response message queue hosts all responses from requests that the car did in the past processing.\n\nEach car when it receives CPU time:\n\n1. Process responses from other cars.\n2. Answer requests that were done by other cars\n3. Update its own state.\n4. Sends requests to nearby cars.\n\n## How to run\n\nThis is a Python 3 project with no special libs. Just download (or clone) the repo and you are good to go.\n\nYou will need a config file to configurate the city parameters. An example is provided in the `config.ini` file.\n\nRun:\n\n```\n$ python3 main.py config.ini\n```\n\nIf other config file is used, just invoke its filename as the second paramenter.\n\nYou should see this GUI:\n\n![img](https://github.com/iitzco/auto/blob/master/auto.png?raw=true)\n\nWhere you can add new cars to the city and keep track of some interesting metrics.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiitzco%2Fauto","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fiitzco%2Fauto","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiitzco%2Fauto/lists"}