{"id":20539422,"url":"https://github.com/betabison/robot100","last_synced_at":"2025-10-31T18:03:09.328Z","repository":{"id":101055651,"uuid":"221361967","full_name":"betaBison/robot100","owner":"betaBison","description":"Stanford AA228/CS238 Final Project","archived":false,"fork":false,"pushed_at":"2019-12-07T00:32:39.000Z","size":499,"stargazers_count":1,"open_issues_count":3,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-16T14:45:35.944Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","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/betaBison.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":"2019-11-13T03:11:18.000Z","updated_at":"2019-12-07T00:32:41.000Z","dependencies_parsed_at":"2023-03-13T15:29:00.791Z","dependency_job_id":null,"html_url":"https://github.com/betaBison/robot100","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/betaBison%2Frobot100","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/betaBison%2Frobot100/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/betaBison%2Frobot100/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/betaBison%2Frobot100/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/betaBison","download_url":"https://codeload.github.com/betaBison/robot100/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242144500,"owners_count":20078966,"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":[],"created_at":"2024-11-16T00:51:41.218Z","updated_at":"2025-10-31T18:03:09.284Z","avatar_url":"https://github.com/betaBison.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# robot100: Stanford AA228/CS238 Final Project\nThis reposity creates a 3D visualization tool for Monte Carlo Tree Search implmented for an agent (red) moving towards an assigned goal location (green). It can only sense obstacles (white) within a specified sensor range. It depicts the individual tree paths in yellow.\n\n![depth](docs/img/z0.png)\n\u003cp align=\"center\"\u003e\n  \u003cem\u003eThe agent (red) going towards goal (green). Obstacles are yellow if the agent can currently detect them or white if the agent cannot currently detect them. Monte Carlo Search Tree paths are shown in yellow\u003c/em\u003e\n \u003c/p\u003e\n\n## Abstract\nA mobile agent, such as a parts-carrying robot on a factory floor, a rover on an extraterrestrial surface or even a cleaning robot in an office building, often finds itself in an environment that it must navigate, moving to a designated target area in order to perform or complete a task. The agent is usually familiar with the general map characteristics of the environment in which it moves, but it may need to avoid small, local obstacles that have been placed in its path. In addition, the fact that the agent's next assigned goal location is unpredictable forces the agent to use online path planning to reach its goal. Our hero (the agent) must be able to use its sensors, assigned goal location, and set of possible actions to dodge the obstacles in the environment and reach the assigned goal location unimpeded. Here we show that Monte Carlo Tree Search can be implemented in order to reliably direct the agent to the assigned goal location.\n\n## Setup\nInstall needed dependencies:  \n`pip3 install PyQt5 pyqtgraph numpy`\n\n## Execution\n`python3 main.py`\n\n## Option\nTo see all available execution options, run `python3 main.py -h`\n\nSome typical parameters:\n\nSize of gridworld (20x20 (default): -s (int) (int)\n\nPercentage of spots are obstacles (0.1 (default)): -o (float)\n\nMethod: -m (0: monte carlo (default), 1: direct, 2: random)\n\n\n\n\n## Problem Variables\n![indexes](docs/img/indexes.png)\n\u003cp align=\"center\"\u003e\n  \u003cem\u003eindexing into the grid worlds\u003c/em\u003e\n \u003c/p\u003e\n\n![depth](docs/img/vision_depth.png)\n\u003cp align=\"center\"\u003e\n  \u003cem\u003eThe agent (red) going towards goal (green). In this example, the robot has a vision depth of 2 and can only see the obstacles within the yellow dashed boundary\u003c/em\u003e\n \u003c/p\u003e\n\n ## Resetting\n The problem can be reset with `Ctrl + C` in the terminal and running the code again.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbetabison%2Frobot100","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbetabison%2Frobot100","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbetabison%2Frobot100/lists"}