Inspiration Our team wanted to address the PlantVillage challenge of using artificial intelligence to digitize agriculture.

What it does Our project, Smart Planter, determines the most optimal position for the planting of crops in an area of farmland based on the crop spacing requirements of each individual crop. The user can select the dimensions of the farmland and the number of each plant that needs to be planted. The program then gives an ideal layout for the positions of the plants.

How We built it Our team used c++ along with SFML for graphics to build the main application. Then, we used a point-based algorithm to determine the most optimal spacing for the plants the user selects. We generated all possible combinations of plant positioning and ranked these combinations using a point system, with points being assigned by the AI using a mini-max algorithm. Then, the highest point combination is chosen.

Challenges We ran into The biggest challenge was learning how to create an AI and understanding what a mini-max algorithm does and how to implement it.

Accomplishments that I'm proud of Using c++ graphics

What I learned Using mini-max algorithms

What's next for SmartPlanter Adding more crops that can be selected and increasing the max dimension of the farmland. In the future we could implement a more intuitive UI system (Web or mobile app) with webscraping and expand the diversity of our included plant species. We could also include optimization of plants for different seasons, and various environmental conditions which would take in factors such as wind, sun and soil properties.

Built With

Share this project:

Updates