forked from s444426/AIProjekt
62 lines
2.4 KiB
Markdown
62 lines
2.4 KiB
Markdown
# AIProjekt
|
|
|
|
## Final
|
|
[final-evaluation](final-evaluation.md)
|
|
|
|
## Spis treści
|
|
* [Uruchomienie](#uruchomienie)
|
|
* [Wykrywanie roślin](#wykrywanie-roślin)
|
|
* [Raport 1](#raport-1)
|
|
* [Notatki](#notatki)
|
|
|
|
## Uruchomienie
|
|
|
|
Wymagania:
|
|
* python 3.7
|
|
* zainstalowana paczka pygame (np. pip3 install pygame)
|
|
|
|
|
|
Wpisanie komendy w glownym folderze: <br> `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.
|
|
<br>
|
|
|
|
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.
|
|
<br>
|
|
|
|
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ść.
|
|
<br>
|
|
|
|
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:
|
|
1. Decyzja odnoścnie ruchu (szukanie najlepszej ścieżki)
|
|
2. Decycja czy sadzić roślinę
|
|
3. Wykrywanie jaka jest roślina i czy zbierać
|
|
4. 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. |