Skip to content
Snippets Groups Projects

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.