From 43001006b8bf95336da467837abd4ac43e69f483 Mon Sep 17 00:00:00 2001 From: BOTLester <58360400+BOTLester@users.noreply.github.com> Date: Mon, 15 Jun 2020 11:25:16 +0200 Subject: [PATCH] final project report --- Final_evaluation.md | 28 ++++++++++++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) diff --git a/Final_evaluation.md b/Final_evaluation.md index 01d61e1..95aa04c 100644 --- a/Final_evaluation.md +++ b/Final_evaluation.md @@ -1,8 +1,32 @@ # Final Evaluation - - ## Introduction +PotatoPlan is an Inteligent Tractor AI Project and is written in C# using Monogame framework. +NuGet Packages used and requeired for the project to work ar as follows: + C5 + Microsoft.ML + Microsoft.ML.LightGBM + System.Drawing.Common + +In our project agent (tractor) moves on resizable grid, which starting size is dependant on primary screen resolution. +The task of the agent is to go through all soil tiles and plant different types of crops, use proper fertilizer and collect crops when fully grown. +Apart from Machine Learning Algorithms used in project there are also many different features implemented like: + Using A* algorithm to find an optimal path to previously selected target. + Target is found by scoring system which assign score to a tile based on few factors like production rate or distance. + Dynamically allocated cargo space for each fertilizer based on how often each fertilizer is used. + Day and night cycle and season system. + Using noise map generated for rainfall calculations to draw moving clouds. + ... and few other. + +## Machine Learning Algorithms +Project in its current state uses Machine Learning Algorithms to solve 2 problems. Light Gradient-Boosted Trees are used for both problems: + Choosing a proper fertilizer which should be applied to current tile, based on few variables like nutrients in soil. Applying proper fertilizer boosts production rate of a crop (rate of growth of a crop). This part was done by Oskar Nastały. + Calculating production rate of a tile based on rainfall and few other variabels. Noise map is generated and used to simulate dynamically changing rainfall. Then once a day AI is used to calculate base production rate multiplier. This part was done by Joel Städe. + +## Examples +![Clouds]() + +![UI]() Final evaluation doc. WIP \ No newline at end of file