Keep in mind the essence of integrating modularity into the solution of each task.
Each task has been assigned its Taskmanager responsible for successful implementation.
Each piece of code needs to be distributed using Git (GitHub).
Each task has clear documentation enabling further development of the project (Wiki at GitHub).
Each team solves two sets of tasks:
- mandatory tasks are necessary for the successful completion of the project
- optional tasks serve to upgrade the project and to improve the final grading of students
Tasks for Core Team
Mandatory tasks [80 points]:
- integrate API communication into data exchange using the cloud service [35 points]
- integration of liquid level sensor for moisture control [20 points]
- integration of flow-rate sensor for pump fault detection [20 points]
- elaborate documentation for each task [5 points]
Optional tasks:
- alarm integration detecting the communication failure to the autonomous-control server sending operation indicator to cloud [10 points]
- live stream from a webcam to the cloud [20 points]
- timespan collecting pictures from webcam to cloud [20 points]
Tasks for Smart Team
Three main control problems can be addressed by Smart Team. These three control problems are split into particular Mandatory tasks and Optional tasks.
Control Problem #1 (mandatory) – Lighting management
The optimal growth of the plants requires specific lighting conditions. Therefore, the goal of this control problem is to ensure optimal time management of lighting rules for a given plant. For example, ensure the lighting period from 5:00 a.m. until 11:00 p.m. and the darkness period from 11:00 p.m. until 5:00 a.m.
Self-awareness tasks:
- If there is enough amount of natural sunlight during the lighting period, then reduce the LED light intensity in the greenhouse—implement the closed-loop control of light intensity [in lux].
- If the external room lights are turned on during the dark period in the greenhouse, then take an action (send a notification to Admin).
- If there should be turn-on lighting in a greenhouse, but it does not work correctly (turn off energy source, interrupted electric connection, etc.) take an action (turn off light into emergency mode and send a notification to Admin).
Control Problem #2 (mandatory) – Irrigation management
The growth of the plants strongly depends on the optimal dosing of water. Therefore, the goal of this control problem is to ensure optimal irrigation management. Particularly, the main task is ensuring an optimal amount of water in the soil and an optimal level of humidity in the air.
Self-awareness tasks:
- If the humidifier should run, then check if the doors of the greenhouse are closed. Otherwise, take an action (turn off the humidifier and send a notification to Admin).
- If irrigation should run, then check before, if there is enough water in a retention tank. Otherwise, take an action (do not run irrigation and send a notification to Admin).
- If irrigation is running, then check if there is any water flow rate through the pump (if the pump works and tubes are not fouled/broken). Otherwise, take an action (turn off a pump and/or send a notification to Admin).
Control Problem #3 (optional) – Plant recognition
The optimized care of the specific plant requires adjusted conditions of the environment. Therefore, the goal of this control problem is to recognize a specific plant using image recognition using an integrated webcam.
Self-awareness tasks:
- Implement webcam-based image recognition to check if there is any plant in the greenhouse. Otherwise, take an action (do not run any control action and send a notification to Admin).
Particular Tasks for Smart Team:
Mandatory tasks [80 points]:
- adopt communication with cloud service using API integrated by CoreTeam [10 points]
- integration of the liquid level sensor into moisture control—if the retention liquid tank is empty then do not run water into the greenhouse and send a notification message to the admin [10 points]
- integration of the flow-rate sensor into pump fault detection—if the pump does not work then do not run water into the greenhouse and send a notification message to the admin [10 points]
- integration of the light sensor into light policy conflict—if the external light (indoor light/greenhouse light) does work when it should not (selected periods of the day, such as night, etc.) then send a notification message to admin [10 points]
- integration of the light sensor into light fault detection—if the light does not work correctly then send a notification message to the admin [10 points]
- identify the dynamics of heating (mathematical model) [15 points]
- implement and tune a (discrete-time domain) PID controller for temperature control [15 points]
- elaborate documentation for each task [5 points]
Optional tasks:
- integration of door opening sensor for humidity control—if the door is open then do not run the humidifier [20 points]
- implement webcam-based image recognition to check if there is any plant in the greenhouse—otherwise, take an action (do not run any control action and send a notification to Admin) [20 points]
Tasks for App Team
Mandatory tasks [80 points]:
- integrate API service to communicate between the application for mobile devices (smartphones and tablets) and cloud service [10 points]
- develop a web-based interface of data managed by an application [20 points]
- integrate a user-login (credentials) to assign the access rights subject to hierarchy: guest/users/admin [30 points]
- show the evolution graph of sensor values in the dedicated environment [15 points]
- elaborate documentation for each task [5 points]
Optional tasks:
- integration of a database of plants including a set of setpoints for various controlled variables [20 points]
- update the graphical user interface of the application [20 points]
- integrate a multi-language user interface [20 points]