Python - Roomba AI Simulator
Description
A virtual roomba/vacuum AI project.
Simulates a vacuum cleaner AI attempting to clean up a virtual room.
Installation
First, set up a Python "virtual environment" (see https://git.brandon-rodriguez.com/python/example_projects/virtual_environments).
Then in a terminal with said environment, change to project root and run:
pip install -r requirements.txt
Running the Project
In a terminal with the above virtual environment loaded, change to project root and run:
python ./main.py
Using the Project
Currently, there is no AI involved. Project only has a barebones top-down grid-based environment, trash pile entities, plus a "roomba" entity.
Clicking any tile will change the walls of that tile:
- Left click - Walks forward through wall options.
- Middle click - Adds trash if no walls on tile. Removes trash if present on tile. Otherwise, resets tile to have no walls.
- Right click - Walks backward through wall options.
Roomba can be moved with standard arrow key movement (or asdw).
Roomba cannot move through walls.
Upon occupying the same tile as a trash pile, the roomba will remove the trash.
Any tiles on the outer edge of the grid MUST have a wall along the outer border.
Lastly, window size can be adjusted via the (WINDOW_WIDTH, WINDOW_HEIGHT) variables at the top of main.py.
References
See documents/references.md
.