imgs | ||
ss | ||
.gitignore | ||
adamski_raport.md | ||
beetroot.py | ||
cabbage.py | ||
carrot.py | ||
dijkstra.py | ||
main.py | ||
plant.py | ||
pumpkin.py | ||
README.md | ||
soil.py | ||
traktor.py |
AIProjekt
Spis treści
Uruchomienie
Wymagania:
- python 3.7
- zainstalowana paczka pygame (np. pip3 install pygame)
Wpisanie komendy w glownym folderze:
python3 main.py
Wykrywanie roślin
Podprojekt na osobnym branchu - kuba. Raport - adamski_raport.md
Raport 1
Środowisko agenta
Całość środowiska jest napisana za pomocą języka programowania - Python oraz dodatkowej paczki - Pygame. Niebieski kwadrat reprezentuje agenta, plansza to widoczne na ekranie okno z czarnym tłem.
W naszym projekcie głównym agentem wykonującym określone działania jest traktor. Może się on poruszać po planszy, która będzie podzielona na równe części - mniejsze kwadraty. Zadania traktora to:
- decyzja o sadzeniu/zasianiu rośliny,
- nawożenie,
- zbiory upraw w odpowiednim czasie,
- oraz oczywiście odpowiednie poruszanie się po planszy.
W danym mniejszym kwadracie, traktor znajdzie wszystkie niezbędne informacje do podjęcia wyżej wymienionych działań. Będą to indywidualne projekty, które wkrótce zrealizujemy i połączymy w całość.
Reprezentacja wiedzy
Projekt zostanie napisany w języku Python, wiedzę również będziemy reprezentować za jego pomocą. System opiera się na klasach i zawartych w nich zmiennych oraz metodach. Dzięki temu cała wiedza jest integralną częścią wykorzystywanych narzędzi programistycznych. Dostęp do danych jest szybki i bezproblemowy.
Utworzyliśmy przykładowe klasy reprezentujące wymienione obiekty:
- roślina oraz dany rodzaj rośliny - marchewka,
- gleba.
W pliku carrot.py mamy między innymi funkcję add_soil, która dodaje odpowiedni rodzaj gleby (zmienna), w jakim została umieszczona marchewka. Reszta funkcji jest analogiczna i nie będziemy ich omawiać ze względu na dużą ilość.
Wymienione wyżej klasy zostały utworzone jako przykład i mogą być, w trakcie rozwoju projektu, zmienione bądź dodane nowe.
Notatki
Pomysły na projekt indywidualny:
- Decyzja odnoścnie ruchu (szukanie najlepszej ścieżki)
- Decycja czy sadzić roślinę
- Wykrywanie jaka jest roślina i czy zbierać
- Decyzja odnośnie nawożenia
Środowisko: Jest ogrnaiczone pole, w polu są kratki, gracz może poruszać się po kratkach. W danej kratce są dane o polu.