Go to file
2020-05-12 18:25:47 +02:00
imgs podprojekt-kuba 2020-05-12 18:25:47 +02:00
ss podprojekt-kuba 2020-05-12 18:25:47 +02:00
.gitignore dijkstra_1 2020-04-28 18:22:11 +02:00
adamski_raport.md podprojekt-kuba 2020-05-12 18:25:47 +02:00
beetroot.py Zaktualizuj 'beetroot.py' 2020-04-07 18:58:58 +00:00
cabbage.py przyrost1 2020-04-07 18:46:09 +00:00
carrot.py przyrost1 2020-04-07 18:17:35 +00:00
dijkstra.py planowanie_ruchu 2020-04-28 21:15:29 +02:00
main.py podprojekt-kuba 2020-05-12 18:25:47 +02:00
plant.py przyrost1 2020-04-07 18:28:04 +00:00
pumpkin.py przyrost1 2020-04-07 18:46:27 +00:00
README.md podprojekt-kuba 2020-05-12 18:25:47 +02:00
soil.py przyrost1 2020-04-07 18:28:04 +00:00
traktor.py planowanie_ruchu 2020-04-28 21:15:29 +02:00

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:

  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.