forked from s425077/PotatoPlan
32 lines
1.8 KiB
Markdown
32 lines
1.8 KiB
Markdown
# 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 |