WO2023056099A1 - Distributing plants within an automated agricultural facility - Google Patents

Distributing plants within an automated agricultural facility Download PDF

Info

Publication number
WO2023056099A1
WO2023056099A1 PCT/US2022/045582 US2022045582W WO2023056099A1 WO 2023056099 A1 WO2023056099 A1 WO 2023056099A1 US 2022045582 W US2022045582 W US 2022045582W WO 2023056099 A1 WO2023056099 A1 WO 2023056099A1
Authority
WO
WIPO (PCT)
Prior art keywords
plant
growth
facility
predicted
performance
Prior art date
Application number
PCT/US2022/045582
Other languages
French (fr)
Inventor
Peter Cheng
Martha Patricia ROMERO LUNA
Sarah OSENTOSKI
Original Assignee
Iron Ox, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Iron Ox, Inc. filed Critical Iron Ox, Inc.
Publication of WO2023056099A1 publication Critical patent/WO2023056099A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/092Reinforcement learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks

Definitions

  • Greenhouse gases form a layer in the upper atmosphere of the planet, that, is more transparent to visible radiation from the sun that to infrared radiation emitted from the planet’s surface.
  • the sun’s radiation warms the surface of the earth, the earth’s atmosphere prevents some of the heat from returning directly to space resulting in a warmer planet.
  • climate change which has resulted in changes in weather patterns and growing seasons around the world, is a direct result of global warming.
  • the warming weather can generate extreme weather conditions, such as drought and fires in some areas, more frequent and stronger hurricanes in other areas, tornadoes, flooding and other extreme weather-related events across the globe.
  • the changing weather patterns erm also result in adverse changes to our ecosystem. For example, milder winters can allow insects to survive in greater numbers in some areas and/or to emerge earlier in the spring putting additional pressure on trees and plants that can lead to die-off in some instances.
  • warmer air and ocean temperatures can cause coral bleaching where corals lose their color and die potentially wiping out whole ecosystems that depend on the reefs for food and shelter.
  • a computer system may determine a growth map of plant module placement that most closely matches target growth inputs for multiple plant modules based on the predicted growth input of the grow locations.
  • This growth map may be determined by testing simulated plant modules in various simulated grow' locations throughout the facility. Testing may include determining a score based on a difference between a target growth input associated with those simulated plants and predicted growth inputs for each of the simulated grow locations.
  • Tire predicted growth inputs may be provided by a facility model trained to recognize patterns between current facility conditions, current outside environmental sensor measurements, current settings of environmental actuators, historical settings of environmental actuators, and forecasted outside environmen tal sensor measurements to predict facility conditions at a future time.
  • the computer system may assign the grow locations to the configuration based on those scores to determine the growth map.
  • the computer system may a mover to relocate a plant such that the plant has a predicted performance closer to its target performance
  • the computer system may determine the predicted performance of the plant based on a growth input corresponding to the plant’s location.
  • the plant’s performance may be predicted by a plant model trained to recognize patterns between growth inputs, and possibly plant states, to predict a plant performance at a future time.
  • the computer system may determine that a first predicted performance of the plant at a first location (e.g., its initial location) does not satisfy a target performance, hydrogen computer system may determine, using the plant model, a second growth input for a different location in the facility that would lead the plant to have a predicted performance closer to the target performance than the first predicted performance.
  • the second growth input may be determined by inputting various growth inputs for various locations of the facility into a plant model and receiving various predicted performances corresponding to those various inputs.
  • the computer system may identify a second predicted performance of those various predicted performances that is closer to the target performance than the first predicted performance and assign the growth inputs associated with the second predicted performance as the second growth input.
  • FIG. 1 depicts an example facility, according to some embodiments.
  • FIG. 2A depicts example plant modules and grow locations housed within the facility of FIG. 1.
  • FIG. 2B depicts an example mover device, according some embodiments.
  • FIG. 2C depicts an example robotic manipulator, according to some embodiments.
  • FIG. 3 depicts an example plant model training process, according to some embodiments.
  • FIG. 4 depicts an example plant record for use with the plant model training process of FIG. 4.
  • FIG. 5 depicts an example plant characteristic for use with the plant model training process of FIG. 4.
  • FIG. 6 depicts an example facility model training process, according to some embodiments.
  • FIG . 7 depicts an example resource cost model training process, according to some embodiments.
  • FIG. 8 depicts an example greenhouse model training process, according to some embodiments.
  • FIG. 9 depicts an example flowchart, according to some embodiments.
  • FIG. 10 depicts an example physical map of a facility, according to some embodiments.
  • FIG. 11 depicts an example simulated map including simulated plant modules and grow locations of the physical map of FIG. 10.
  • FIG. 12 depicts an example map of predicted growth inputs for the simulated plant modules of the simulated map of FIG. 11.
  • FIG. 13 depicts an example map of target growth inputs for the simulated grow areas of the simulated map of FIG. 11.
  • FIG. 14 depicts an example growth map, according to some embodiments.
  • FIG. 15 depicts an example flowchart, according to some embodiments.
  • FIG. 16 depicts an example map of the predicted performance of the plant modules of the physical map of FIG. 10.
  • FIG. 17 depicts an example map of the target performance of the plant modules of the physical map of FIG. 10.
  • FIG . 18 shows a block diagram of an example computer system usable with systems and methods according to embodiments of the present disclosure.
  • a “facility” may refer to a structure that houses and grows plants. Accordingly, “facility conditions” may refer to environmental conditions that affect properties of the facility e.g., a certain part of the facility), as may be measured by one or more environmental sensors within the facility. Additionally, “facility controls” may refer to a set of one or more controls that alter the facility conditions.
  • a “plant module” may refer to a growing unit defining an array of slots for housing plants.
  • a '"variety'' may refer to a particular variety of plants cultivated within the facility that share similar characteristics and growth requirements.
  • a “growth input” may refer to factors that contribute to plant growth (e.g. , facilityconditions, water profile, or the like).
  • a “water profile” can correspond to an amount of water provided to a plant as wel l as the contents of the water, such as EC, pH, ORP, TOC, and nutrient concentration.
  • a “growth cycle” may refer to the growth of a variety from seed to maturity (e.g., a seedling stage, a sapling stage, a ripe stage ready for harvest). Accordingly, a “growth stage” may refer to any given stage along of a plant along its growth cycle.
  • a “harvest schedule” may refer to a predicted time for a plant to reach the various growth stages of the growth cycle until maturity. Accordingly, a “harvest lime” may refer to the time that a plant has reached maturity and is ready to harvest based on the harvest schedule.
  • a “plant characteristic” may refer to the characteristics of a plant, such as the yield quantity, size, height, shape, color, leaf density, target harvest time, or the like.
  • a “plant state'’’ may refer to one or more plant characteristics, e.g., a current growth stage and/or performance associated with the plant at a given time.
  • a “plant state” can include a classification determined from the plant characteristics.
  • a “performance” may refer to a quantitative or qualitative classification of plant characteristics of a plant, e.g., how closely the plant characteristics track a target set of plant characteristics of the plant at different growth stages of a growth cycle, which may be according to a harvest schedule.
  • Target characteristics may come from external sources, e.g., customers or standards in the field, or from internal sources, e.g., historical results or a broader predictive model.
  • a broad predictive model may provide expectations for basil growth, and a specific predictive model can be ran on a specific basil plant (e.g., based on current plant state and current growth inputs), which predicts a performance relative to that broader model.
  • Optimal performance may refer to a plant that has plant characteristics corresponding to the predicted plant characteristics at a growth stage and/or according to a harvest schedule. Additionally, “sub-optimal performance” or “underperforming” may refer to a plant that has plant characteristics that do not correspond to the predicted plant characteristics of a growth stage and/or a harvest schedule.
  • a “moder may refer to software (e.g,, machine learning software) that provides a relationship between inputs and output(s). Examples of a model include unsupervised learning, supervised learning, reinforcement learning, and/or statistical techniques (e.g., regression analy sis, least square error analysis), which can be trained to recognize certain patterns.
  • a “plant moder is a model trained to recognize patterns between growth inputs, and possibly plant states, to predict a plant performance at a future time, a plant performance at a future time.
  • a “facility model” is a model trained to recognize paterns between current facility conditions, current outside environmental sensor measurements, current settings of environmental actuators, historical settings of environmental actuators, and forecasted outside environmental sensor measurements to predict facility conditions at a future time.
  • Die present disclosure relates generally to the field of plant growth and harvesting in a facility- .
  • the present disclosure relates to predicting a better or optimal location for a plant based on a plant model that uses growth inputs (which may be predicted growth inputs) to predict growth performance, so that performance is improved.
  • the growth inputs may be predicted based on a facility model that predicts facility conditions in future periods.
  • Some embodiments can use predicted facility conditions to optimize the locations of plants within a facility over time, which may result in further improved plant performance.
  • Predicting plant performance using a single plant model that assumes the same facility conditions throughout a facility would not identify improved locations. Further, using static facility conditions does not account for different changes at different locations, e.g., due to seasonal patterns or movement of the sun during the day. If those facility conditions change, the predicted plant performances would be rendered inaccurate.
  • facility conditions may be affected by changes in the environmental conditions outside the facility (e.g., changing humidity or temperature outside the facility' may change the humidity or temperature within the facility).
  • changes in the environmental conditions outside the facility e.g., changing humidity or temperature outside the facility' may change the humidity or temperature within the facility.
  • the facility will also likely change. Therefore, the use of static facility conditions to predict plant performances will likely be inaccurate after some time, rendering the predicted plant performances inaccurate.
  • This inaccuracy may be particularly important when relocating plants in a facility. For example, plants may be moved from a first location in a facility to a second location when a system detects that the current growth inputs (e.g., temperature, humidity, light, or the like) at the first location would lead to a suboptimal performance (e.g., that the predicted yield of those plants is less than an optimal or target yield). Accordingly, failure to take into account these changing growth inputs may lead to an increased risk of moving plants to a location that worsens the plant’s performance or of moving plants from a location having growth inputs that later change to be optimal for the plants.
  • the current growth inputs e.g., temperature, humidity, light, or the like
  • some embodiments can predict facility conditions using a facility model.
  • the facility model may be determined by taking into account past environmental sensor measurements outside of the facility and past facility conditions to find patterns between the outside environmental sensor measurements (e.g,, temperature, humidity, rainfall, sunlight levels, etc.) and facility conditions (e.g., environmental sensor measurements within the facility).
  • the facility models may then predict facility' conditions at a later date based on measurements of at least one of current facility conditions, current outside environmental sensor measurements, and/or forecasted outside environmental sensor measurements. These predicted facility conditions can accurately represent facility conditions over a period of time and, when used as an input in a plant model, can accurately predict plant performances. This increased accuracy, in turn, allows for the plants to be more optimally positioned in a facility to optimize plant performance.
  • the agricultural facility 100 may be a structure that houses plants for growth at various locations within tire facility and at various stages within tire plants’ harvest schedule.
  • FIG. 1 is a schematic representation of the layout of an example of an agricultural facility 7 100 in which some embodiments disclosed herein can be used. It is to be understood that the agricultural facility 100 is set forth herein for illustrative purposes only and that embodiments of the inventions disclosed herein may be used in agricultural facility 100 as w ell as many other types of agricultural facilities.
  • the agricultural facility 100 which may include one or more greenhouses in which different portions of tire agricultural facility 100 reside, includes one or more growing blocks 1 10 along with one or more processing bays 120.
  • the growing blocks 110 and processing bays 120 may be connected to each other, for example by hallways and/or common doors, so that plants, equipment, materials, personnel and other items may move between the growing blocks 110 and processing bays 120 efficiently and without exiting the agricultural facility 100.
  • mover devices 124 may be provided that may be programmed or otherwise configured to autonomously move plants within agricultural facility 100 including moving plants within the various growing blocks 110, within the processing bays 120 and/or between the growing blocks 110 and the processing bays 120 without exiting the facility.
  • Each mover device 124 may be an autonomous robot, such as described in U.S. Patent No, 10,813,295, entitled “System and Method for Automating Transfer of Plants Within an Agricultural Facility” and U.S. Patent No. 10,716,265 entitled “Method for Automatically Redistributing Plants Throughout an Agricultural Facility”, which are incorporated by reference herein in their entirety.
  • each processing bay 120 may include multiple stations (represented by various geometric shapes in FIG. 1 within the bays 120) in which various stages of tire harvest schedule occur.
  • a given processing bay 120 may include separate stations that seed, germinate, pot, harvest, and/or package plants.
  • each processing bay 120 may function as an autonomous assembly line in which the multiple stations are automated and connected by conveyors and/or an autonomous mover device 124. The multiple automated stations may cooperate to seed, germinate, pot, harvest, and package plants with minimal human intervention or without any need for a human laborer to handle the plants during those processes.
  • the processing bay 120 may additionally include a culling station, where plants may be transferred to for culling.
  • the processing bay 120 may further include a transfer station where plants may 7 be transferred from one plant module 112 to another.
  • Plants may be automatically transported to the growing block 110 (e.g., by a mover device 124) after being initially propagated from a seed and planted to a seedling in a plant module 112 in one of the processing bays 120 (e.g., in a propagation system 122).
  • FIG, 2A depicts example plant modules 112 and grow locations 150 housed within the facility of FIG. 1 .
  • the growing blocks 1 10 may define grow locations 150 that are configured to receive a plant module 112.
  • Each grow location 150 may be a designated location within the facility sized to receive a plant module 112.
  • the plant modules 1 12 may 7 be relocated within the facility 7 from one grow 7 location 150 to another, or from one grow 7 location to a different station within the facility.
  • the grow 7 location 150 may be positioned adjacent facility sensors for sensor measurements regarding the grow location 150.
  • the grow 7 location 150 may 7 be a six feet by six feet area, however, in other embodiments, the grow 7 location 150 may be larger or smaller (e.g., a one-by-one foot area to a ten-by-ten feet area, or any oilier size to receive a plant module 112). Further, in other embodiments, the grow location 150 may not be rectangular in shape and may be circular, triangular, or the like.
  • FIG. 2A depicts the plant modules 112 as growing eight plants, in other embodiments, the plant module 1 12 may include any number of plants. Further, although FIG. 2 depicts a pair of sensors 160 monitoring grow locations 150 and plant modules 112, there may be any number of sensors 160 (e.g., only one sensor, three sensors, or the like). For example, rather than the pair of sensors 160 monitoring multiple grow locations 150 and plant modules 112, there may be one of more sensors 160 corresponding to each grow location 150.
  • the plant modules 112 may 7 include a set of hydroponic trays (or hydroponic tubes), each defining a (linear) array of plant, slots, wherein each plant, slot is configured to receive and retain one plant (or one cluster of multiple plants).
  • a carriage or frame may support the set of hydroponic trays at an angle.
  • a reservoir may be fluidly coupled to the set of hydroponic trays and configured to collect water flowing out of the hydroponic trays and a pump configured to cycle water from the reservoir back through the set of hydroponic trays.
  • Tire plant module 112 can additionally or alternatively be configured to transiently connect to a water supply line and to a water return line in the facility, which can provide a supply of water and nutrients to plants in this plant module 112 at a particular frequency 7 (e.g., a constant or intermittent supply).
  • a particular frequency 7 e.g., a constant or intermittent supply
  • the plant module 112 can also include at least one of one optical fiducial at the front of each hydroponic tray, optical fiducials at the end of each hydroponic tray, one optical fiducial adjacent each plant slot along each hydroponic tray, optical fiducials at the corners of the plant modules 112, or the like.
  • the plant modules 112 may also include an open tray configured to contain a standing volume of water and nutrients.
  • a cover may be arranged over the open tray and including a set of perforations, wherein each perforation defines a plant slot configured to receive and retain one plant (or one cluster of plants).
  • a stand may be configured to support, the tray off of the ground.
  • the lid can include: a rigid panel (e.g., nylon or aluminum sheet) defining an array (e.g., a linear grid array, a close-pack array) of plant slots; and floats extending across the underside of the rigid panel and exhibiting sufficient buoyancy and/or height to maintain an air gap between the top surface of water in the tray and the bottom surface of the lid w hen the array of plant slots in the lid are filled with plants, thereby maintaining exposure to air — and therefore oxygen — for upper root systems of these plants.
  • the lid floats on the water in the tray, the lid can ensure that roots of these plants remain in contac t with water in the tray despite changes to the water level in the tray.
  • the plant module 1 12 can include a set of optical fiducials arranged on the top surface of the lid and/or the tray and configured to indicate position, orientation, distance, ty pe, and/or unique identity of the plant module 112.
  • the plant module 112 can include at least one of a optical fiducial (e.g., a unique barcode or quick-response code) arranged at each of three or four comers on the lid, three (identical) colored dots (e.g., yellow for nursery stage, red for finishing stage) arranged at corners of the lid or tray, one optical fiducial adjacent each plant slot on the lid (e.g., a colored circle, square, or polygon of known geometry and dimension encircling each plant slot), or the like.
  • a optical fiducial e.g., a unique barcode or quick-response code
  • three (identical) colored dots e.g., yellow for nursery stage, red for finishing stage
  • one optical fiducial adjacent each plant slot on the lid e.g., a colored circle, square, or polygon of known geometry and dimension encircling each plant slot
  • the plant module 112 can include an open tray with a fixed lid.
  • the tray and fixed lid can define geometries and features similar to those in the foregoing implementation but with the lid fixedly coupled to the rim of the tray, such as sealed against the rim of the tray to prevent water from splashing out of the tray when the plant module 1 12 is moved by the mover.
  • the plant module 112 can define any other structure or geometry and can define any other number or arrangement of plant slots.
  • FIG, 2B depicts an example mover device 124.
  • the mover device 124 may be in communication with a computer system and configured to autonomously navigate the facility 100 and to move the plant modules 112.
  • the mover device 124 can be configured to automatically navigate throughout the facility to a particular location under or near a plant module 112.
  • the mover device 124 may couple to or lift the plant module 112 and navigate — with the plant module 112 — to another location within the facility, and to release (or “deposit”) the plant module 112 at that location. While moving historical other modules on its way to collecting a particular module for delivery, the mover can also collect optical and water profile sensor measurement from these other modules, as will be discussed below.
  • the mover device 124 may include a gantry or boom. To engage a plant module 112, the mover device 124 can navigate to and align itself to plant module 112, such as based on optical fiducials applied to the plant module 112. The mover device 124 may extend the boom into contact with the plant module 112 and trigger a latch on the boom to engage the plant module 1 12 and then retract the boom to lift the module.
  • plant module 1 12 in the facility can include casters such that, the mover device 124 can navigate up to and align itself with the plant module 112, trigger a latch to engage the plant module 1 12, and then push or pull the plant module 112 — on its casters — to another location within the facility before releasing the latch to disengage the plant module 112.
  • the mover device 124 can also include a downward-facing optical sensor. As the mover device 124 approaches a plant module 112, the mover device 124 can detect an optical fiducial (e.g., located on the plant module 112) m the field of view of the downward-facing optical sensor. The mover device 124 may navigate toward the plant module 1 12 to locate this optical fiducial in a target position and/or orientation in the field of view' of the downward-facing optical sensor in order to align itself to the plant module 112 before triggering the boom or latch to engage the plant module 1 12. However, the mover device 124 can implement any other method or technique to engage and manipulate a plant module 1 12.
  • an optical fiducial e.g., located on the plant module 112
  • the mover device 124 may navigate toward the plant module 1 12 to locate this optical fiducial in a target position and/or orientation in the field of view' of the downward-facing optical sensor in order to align itself to the plant module 112 before triggering the boom or latch to engage the plant module 1 12.
  • the mover device 124 may include sensors that collect optical sensor measurements from individual plants or groups of plants in a single module and to collect w ater profile sensor measurement from these modules a particular frequency, such as once per day or every other day.
  • the mover device 124 may additionally collect, other sensor measurement, such as environmental sensor measurements (e.g., sensor measurements that directly affect the facility, such as local air temperature and humidity) as well as non-environmental sensor measurements (e.g., sensor measurements that do not directly affect tire facility, such as dissolved oxygen and water temperature).
  • environmental sensor measurements e.g., sensor measurements that directly affect the facility, such as local air temperature and humidity
  • non-environmental sensor measurements e.g., sensor measurements that do not directly affect tire facility, such as dissolved oxygen and water temperature.
  • the mover device 124 may move the plant module 112 to a location in the facility (e.g., a transfer station in the processing bay 120) to transfer plants from the plant module 1 12 to a different plant module 112.
  • the mover device 124 may act as a manipulator and transfer the plants by itself.
  • a manipulator e.g., a robotic manipulator, as discussed below
  • FIG. 2C depicts a robotic manipulator 130 that can transfer plants from one plant module 112a to another plant module 1 12b or one location to another.
  • Tire robotic manipulator 130 may be in communication with a computer system to autonomously function.
  • the robotic manipulator 130 may be a multi-link robot that is sufficiently mobile to reach each plant slot in a plant module 1 12 temporarily positioned adjacent the robotic manipulator 130.
  • the robotic manipulator 130 may include an end effector configured to engage plant cups supporting plants in this plant module 112a and/or including an optical sensor (e.g., a multi-spectral camera, or a stereoscopic camera, etc.) configured to record plant-specific images of plants in these plant modules 112a, 112b and weight sensor (e.g., a strain gauge) to collect weight sensor measurements while transferring the plants.
  • an optical sensor e.g., a multi-spectral camera, or a stereoscopic camera, etc.
  • weight sensor e.g., a strain gauge
  • the robotic manipulator 130 can be configured to collect optical, weight, and/or other sensor measurements from individual plants while moving plants between plant modules 112a, 112b.
  • Tire robotic manipulator 130 may additionally work in tandem with the mover device 124.
  • the mover device 124 can arrange both plant modules 112a, 1 12b adjacent the robotic manipulator 130 in order to enable the robotic manipulator to navigate its end effector across both the full extent of plant slots for both plant modules 112a, 112b.
  • the growing blocks 110 may then function as longer-term holding bays for plants between the potting and harvest schedule stages.
  • Each growing block 110 may be configured as an enclosed, environmentally-controlled section of the facility in which plants, after being transferred from the processing bay 120 at an intermediate stage of growth, are provided with nutrients and light that they require to mature until the harvesting stage. Thus, a given plant may spend the majority of their harvest schedule in one of the growing blocks 110.
  • the growing blocks 1 10 may include controls and equipment to autonomously control growth input parameters (e.g., light levels, temperature, nutrients, etc.) at any location within the facility to grow the plants under various conditions.
  • the growing blocks 110 may include one or more environmental actuators to autonomously control facility conditions within the growing blocks 110, such as actuators to control shades for sun light and light for artificial lighting, humidifiers for humidity, heating, ventilation and air conditioning (“HVAC”) units for temperature and ai r flow, or the like. These actuators may be adjusted to achieve a desired facility condition (e.g., to achieve a certain temperature, humidity, air flow', or light level) for any location within the facility.
  • HVAC heating, ventilation and air conditioning
  • the actuators may adjust the facility conditions of each growing blocks 110 to have faci lity conditions that are optimal for the plant modules 112 corresponding to each of those growing blocks 1 10.
  • the actuators may adjust the facility conditions of each grow' location to have facility conditions that are optimal for the plant module 112 corresponding to each grow location.
  • the plants may be grown within growing blocks 110 in plant modules 112 that are distributed across the growing block 110 and separated by aisles 114 accessible by tire autonomous mover devices 124.
  • the growing blocks 110 may define grow locations (such as grow location 150, shown in FIG. 2) configured to receive the plant modules 1 12.
  • Tire plant modules 112 may be moved from one grow location to another, or to and from the processing bay 120. In this manner, as described further below, the plant modules 112 may be optimally relocated throughout the facility to increase plant yield and reduce resource waste.
  • the plant modules 112 are distributed throughout the growing block 110 in a horizontal arrangement so that the plants in each module have full access to natural light that enters the growing block through greenhouse windows around the sides and roof of the growing block.
  • each plant module 1 12 may be a container that holds the plants and includes means of providing various growth inputs to the plants.
  • each plant module 112. may include multiple rafts that float or partially float on a bed of nutrient-rich water within the module.
  • the plant modules 1 12 may not include rafts (e.g., for fruit variety).
  • Each growing block 1 10 may also include, among other stations and/or equipment, a module imaging station 116 and a dosing station 118.
  • the module imaging station 116 may be configured to scan whole plant modules 112 (or individual plants within each plant module 112), or individual rafts or trays within a plant module 112, in the growing block, w bile the dosing station 118 may be configured to add water and nutrients to modules in the growing block.
  • the module imaging station 116 (or any other component of the facility with an optical sensor) may additionally scan individual features of the plants, such as the roots of the plant.
  • facility 100 is depicted in FIG. 1 as including eight separate growing blocks 110 and two propagation bays 120, it is to be understood that this is for illustrative purposes only. In other embodiments facility 100 may include fewer or more than eight growing blocks 110 and may include few er or more than two propagation bays 120. Additionally, while agricultural facility is depicted with a growing block to propagation bay ratio of 4: 1, this ratio is also to be understood as serving illustrative purposes only and other embodiments may include ratios lower than or higher than 4: 1 ,
  • the combination of growing blocks 1 10 and processing bays 120 allow' the processing bays 120 to function as the primary operating area of agricultural facility 100 with growing blocks 110 acting as automated greenhouses and functioning as infeed, outfeed, and holding zones for product flowing through the propagation bays.
  • the agricultural facility may include one processing bay 120 and a set of growing blocks 110 arranged radially about the processing bay, each connected to the processing bay 120 by a path traversable by the autonomous mover device 124 to transfer plants between the processing bay and the growing block.
  • Various sensors may be positioned throughout agricultural facility 100 to monitor all phases of and aspects of plant growth and facility conditions within the facility.
  • sensors may measure not just an intensity' of a particular environmental condition (e.g., a light level) but also a duration that environmental condition is provided (e.g., the number of hours that a light is provided, such as a photoperiod).
  • a particular environmental condition e.g., a light level
  • a duration that environmental condition is provided e.g., the number of hours that a light is provided, such as a photoperiod.
  • Non-limiting examples of such sensors may include: water profile sensors (e.g., sensors that monitor water temperature, water level, dissolved oxygen, pH, and/or nutrient concentration), environmental sensors (e.g., sensors that monitor environmental air temperature, air flowy light, level, relative humidity, carbon dioxide levels, oxygen levels, and the like), pest sensors, weight sensors (e.g., a scale or strain gauge located on a module 112 or a mover device 124 that handles the plants within the modules 1 12), optical sensor (e.g., a multi -spectral camera,
  • the water profile sensors may include a pH sensor that outputs a signal representing pH of a water sample contained in the sample reservoir; an electrical conductivity sensor (e.g., including a pair electrodes) that outputs a signal representing nutrient concentration present in the water sample; a temperature sensor that outputs a signal corresponding to a temperature of the w ater; a turbidity sensor that outputs a signal representing suspended solids in the water sample; an oxygen-reduction potential (or “ORP”) sensor that outputs a signal representing a level of oxidation/reduction reactions occurring in the water sample; a chlorine residual sensor that outputs a signal representing total chlorine in the water sample; and/or a total organic carbon (or “TOC”) sensor that outputs a signal representing a carbon content of the water sample.
  • a pH sensor that outputs a signal representing pH of a water sample contained in the sample reservoir
  • an electrical conductivity sensor e.g., including a pair electrodes
  • a temperature sensor that outputs a signal corresponding to
  • Tire environmental sensors may include a temperature sensor that outputs temperature measurements of the air, optical sensors that outputs light level measurements (e.g., UV, infrared, near-infrared, or visible light level), humidity sensors that outputs humidity measurements, air flow sensors that outputs air flow measurements (e.g., air speed), air quality sensors that outputs measurements regarding the level of carbon dioxide or oxy gen in the air, and ground sensors that outputs soil measurements (e.g., how much moisture or water saturation there is in the soil).
  • light level measurements e.g., UV, infrared, near-infrared, or visible light level
  • humidity sensors that outputs humidity measurements
  • air flow sensors that outputs air flow measurements (e.g., air speed)
  • air quality sensors that outputs measurements regarding the level of carbon dioxide or oxy gen in the air
  • ground sensors that outputs soil measurements (e.g., how much moisture or water saturation there is in the soil).
  • the sensors may perform measurements once per unit time (e.g., per second, minute, 10 minutes, or hour) to provide near real-time sensor measurements. However, in other embodiments, the sensors may perform the sensor measurements at any frequency (e.g,, twice per minute, once per hour, or the like). In a yet further embodiment, each sensor may- each perform the sensor measurements at different frequencies than the other sensors.
  • the sensors may be static and/or mobile. For example, static sensors may be fixed to a particular location within the facility to monitor the plant modules 110 and grow locations (e.g., at a transfer station). Mobile sensors may be affixed to a moving object within the facility, such as a mover device 124.
  • Data from the sensors may be collected, analyzed and used, in conjunction with the automated features of the agricultural facility, to ensure that each individual plant receives the optimal levels of sunshine, water, and nutrients. Additionally, the data that may be continually collected from the plants grown within tire facility may be used to constantly refine the growth and harvesting processes and improve both plant quality and quantity. For example, this data may be used to train various machine learning models to optimize plant performance, as discussed further below'.
  • a computer system may aggregate input data and output data and train a (e.g., using unsupervised learning, supervised learning, reinforcement learning techniques and/or other statistical techniques) to derive relationships between the input and output data. These relationships may be represented in a model (e.g., a plant model or a facility model) that predicts an outcome based on a given input data.
  • a model e.g., a plant model or a facility model
  • Examples of machine learning techniques include hidden Markov models, convolutional neural networks, polynomial regressions, and cluster analysis.
  • One example of a trained model may include a plant model used to predict the performance and/or harvest schedule of a plant, such as the plant model.
  • FIG. 3 depicts an example training model 300 for training a plant model 330 and FIGS. 4-5 depict example data used to train the plant model 330.
  • growth input data 310 and resulting plant characteristic data 320 may be used to train a plant model 330.
  • One or more machine learning techniques may be applied to find relationships between the growth input data 310 and the plant characteristic data 320 to determine the plant model 330.
  • the growth input data 310 may include at least one of environmental and non- environmental sensor measurements ofa plant module, or measuremen t(s) of both types to represent the exposure of various growth inputs to plants (e.g., peak exposure, minimum exposure, and cumulative exposure over time).
  • environmental sensor measurements may be collected by various sensors and provided to a computer system.
  • the computer system can interface with sensors arranged in the facility — such as a camera arranged overhead a grow area and temperature, humidity, light level (e.g., UV, infrared, near-infrared, or visible light level), and wind speed sensors arranged in select locations throughout the grow locations.
  • the system including computer and sensors to collect relatively low-resolution optical sensor measurements (e.g., color photographic images) of a group of plant modules in the grow' area and environmental conditions nearby at relatively high frequency (e.g., once per minute).
  • Such measurements can enable the computer system to monitor plant states (using measured plants characteristics) and environmental conditions of plants in these plant modules in near-realtime.
  • Tire non-environmental sensor measurements may be provided by one or more sensors near a plant module, such as water level or water profile (e.g., electrical conductivity, pH, ORP. TOC and nutrient concentration).
  • Hie plant characteristic data 320 may include characteristics derived from an optical sensor measurement (e.g., color photographic images) taken by an optical sensor near the plant modules. This optical sensor measurement may be taken at a relatively high frequency to monitor high-level visual conditions of the plants in the plant modules in near-real-time.
  • an optical sensor measurement e.g., color photographic images
  • various computer vision techniques may be used to extract the plant characteristics from the optical sensor measurements.
  • the computer system can also interface with an autonomous mover (e.g., the mover device 12.4) that is configured to autonomously navigate to plant modules throughout the facility and to record plant module-specific sensor measurements of singular adjacent plant modules through a suite of integrated mobile sensors — such as a mobile camera and mobile temperature, humidity, light level, wind speed, water temperature, pH, and dissolved oxygen sensors.
  • the computer system can collect moderate-resolution optical and environmental sensor measurements for all plants in one plant module at moderate frequency (e.g., once per day), thereby enabling the computer system to intermittently monitor visual and environmental conditions of multiple plants in a singular plant module (e.g., daily).
  • the computer system can interface with a robotic manipulator (e.g., manipulator 130) and/or at a fixed location within the facility to collect weight sensor measurements and high-resolution optical sensor measurements of a singular plant extracted from a plant module when the mover delivers this plant module to the robotic manipulator. such as once per two-week interval.
  • a robotic manipulator e.g., manipulator 130
  • the mover delivers this plant module to the robotic manipulator.
  • the computer system can also selectively flag a subset of plants (e.g., one plant per ten plant modules) at harvest time for further testing, such as for nutrient composition or taste testing at an external facility or manual labeling of the plant’s visual appeal by a human grower.
  • the computer system can thus interface with fixed infrastructure and mobile infrastructure to collect low- -re solution sensor measurements at high frequency, moderateresolution sensor measurements at moderate frequency, high-resolution sensor measurements at low- frequency, and select plant outcome sensor measurements on a limited basis.
  • the computer system can therefore monitor plants across groups of plant modules, sets of plants in singular plant modules, and singular plants growing within a facility — containing thousands or millions of plants in various stages of growth at any instant in time — based on sensor measurements collected by limited fixed and mobile infrastructure deployed within the facility, thereby balancing reaction times to complications, value of individual plants at various stages of growth, cost of infrastructure, and cost of third-party plant testing.
  • Growth input data 310 and resulting plant characteristic data 320 can comprise training data that is used to tram plant model 330 to predict plant characteristics (e.g., growth performance) for a given set of growth input data, which may vary over time.
  • a time series of growth input data can be fed into the plant model, thereby providing a final growth performance, such as growth stage, yield, etc., or intermediate predicted measures of growth.
  • FIGS. 4-5 depict an example set of growth inputs and plant characteristics for plant module for use m training the plant model 330.
  • FIG. 4 depicts an example growth input record 400.
  • the growth input record 400 may represent various growth inputs for the plant module 88677 taken at a time of 14:51 :20.
  • the plant record 400 may be used as one growth input data point in training a plant model.
  • the plant record 400 may include, for example, tire facility conditions measured near the plant module 88677, such as temperature, air flow, and light level.
  • Non-environmental sensor measurements may include water temperature, water nutrients, and water pH.
  • the plant record 400 may include more or less growth inputs, such as including humidity for a facility condition. These sensor measurements may represent the sensor measurements most recently taken by sensors within the facility at 14:51 :20.
  • FIG. 5 depicts an example image 510 and characteristics record 520 derived from the image 410.
  • the image 510 may be an image of a plant housed within the plant module 88677 taken at a certain time (e.g., at or around 14:51 :20, the time the growth input record 300 was stored) from an optical sensor positioned on the facility, mover device, or robotic manipulator.
  • the image 510 may be taken at an intermediate growth stage, however, in other embodiments the image 510 may be taken at any stage of the harvest schedule.
  • the training data may also include data for a current state of the plant (e.g., the plant characteristics corresponding to the plant at a given time).
  • a current state of the plant e.g., the plant characteristics corresponding to the plant at a given time.
  • the characteristics record 520 corresponds to the image 510 taken at 14:51 :20.
  • the characteristics record 520 corresponds to state of the plant of the plant module 88677 at 14:51:20.
  • Hus may represent the current state of the plant if, for example, the image 510 is the most recent image of the plant.
  • Different plants will perform differently to different growth inputs depending on an state of the plant (e.g., a current state of the plant).
  • different models can exist for different states.
  • An state can be measured using one or more plants sensors.
  • a certain number of states can exist.
  • the state of a plant can include classifications of the plant being at different growth stages and/or levels of performing (e.g., underperforming, standard performance, or over performing) for a given growth stage.
  • the classifiers of the plant states may be provided as data to train the plant model 330 such that there is a different plant model 330 for each state of a particular plant variety.
  • the plant model 330 may be trained with the plant characteristics defining the plant states, rather than a classifier.
  • each plant can be monitored using plant sensors, e.g., optical sensors that can determine a characteristic of each plant (e.g., size of the plant and total amount of individual crop units for the plant), as well as color, which can relate to taste and plant health.
  • plant sensors e.g., optical sensors that can determine a characteristic of each plant (e.g., size of the plant and total amount of individual crop units for the plant), as well as color, which can relate to taste and plant health.
  • the size can be determined using object recognition software, e.g., trained to identify individual crop units (e.g., berry, tomato, squash, etc.) and determine size based on calibrated distance and image resolution.
  • Tire color can be determined based on a color image using a color camera. A predetermined number of color states can be used.
  • the same plant sensors can be used to monitor the plant, over time so that an actual performance (e.g., accumulated size at one or more times or difference of measured color from optimal color) can be determined, where such actual performance is used in the training data.
  • the resolution of the image 510 may correspond to the optical sensor used to capture the image 510.
  • the image 510 may be a low-resolution image collected by a fixed optical sensor positioned along the facility, a moderate-resolution image collected by' an optical sensor positioned on the mover device, or a high-resolution image collected by tin optical sensor positioned on a robotic manipulator.
  • any optical sensor within the facility may collect any resolution for the image 510.
  • the image 510 may be one of multiple images collected by the optical sensor at various frequencies. For example, a low-resolution image 510 may be collected at a high frequency, a moderate-resolution image 510 may be collected at a moderate frequency, and a high-resolution image may be collected at a low frequency. However, in other embodiments, the image 510 may be collected at any frequency without regard to the resolution of the image 510,
  • the characteristics record 520 may include various plant characteristics, such as a yield quantity, yield volume, yield mass, staging days, pest resistance, disease resistance, canopy density/coverage, leaf attributes (e.g., leaf density, size, shape, color, visual appeal, etc.) overall plant attributes (e.g., overall plant height, size, shape, color, visual appeal, etc.), stem/petiole attributes (e.g., lengths, thickness, counts, color, etc.), uniformity 7 , anomalies (e.g., signs of browning, nutrient deficiency, or other anomalies), disease and pest presence, and visual appeal based on the image 510.
  • the color input to the plant module may include a comparison of color of the leaves, stem, and roots.
  • the color input may include average color, standard deviation of color, ratios between different color channels, or the like. Similar types of inputs may be provided for the leaf attribute (e.g., leaf size), overall plant, attribute (e.g., plant height), or any other of the types of plant characteristics noted above.
  • leaf attribute e.g., leaf size
  • overall plant e.g., plant height
  • plant height e.g., plant height
  • the characteristics record 520 may additionally or alternatively include data computed via manually-derived heuristics or via a machine learning model based on training data.
  • one or more computer vision techniques may be implemented on the image 510 to derive the plant characteristics (e.g., detecting a ratio of green pixels to other pixels to determine a visual appeal or detecting dark pixels to determine the presence of pests).
  • plant characteristic extraction methods discussed below are directed to plant-level images (e.g., the image 510), in other embodiments, similar methods may be applied for module-level images (e.g., an image including all the plants in the plant module 88677).
  • the plant characteristics derived for a module-level image may include an average of all the plant characteristics determined for each plant-level image of the module.
  • the plant characteristics derived for a module -level image may include an image including all the plants in the module using the below' methods.
  • a computer system may implement edge detection or blob detection to identify a perimeter of the plant in the image 510 and count a number of pixels in the image 510 that exceed a threshold intensify or brightness in a particular color channel (e.g., green). Additionally or alternatively, the computer system may determine a size of the plant by identifying a cluster of pixels “likely to represent plant matter’ (e.g., a cluster of green pixels exceeding a threshold intensity or brightness in the green color channel in the image) radiating from the approximate center of the first plant slot located in the image 510 and associating this cluster of pixels with a plant.
  • a cluster of pixels “likely to represent plant matter’ e.g., a cluster of green pixels exceeding a threshold intensity or brightness in the green color channel in the image
  • the computer system may estimate a size of the first plant based on a size and geometry of this cluster of pixels.
  • the computer system may determine a center of the plant slot by identifying an optical fiducial (e.g., a unique barcode or quick-response code) in the image 510 and aligning a preexisting layout of a plant slot to that optical fiducial.
  • the computer system may use depth sensor for three-dimensional size measurements of the plant.
  • color calibration can be performed on certain colors (e.g., green) based on a known color m the area.
  • the computer system may implement a color classifier to classify a likelihood that pixels in the image 510 that are likely to represent plant matter (e.g., classifying one or more shades of green as being likely' to represent plant matter). Tire computer system may then count the number of pixels in the image 510 based on that classification and compare this count to the total pixel count to determine a proportion of foliage or leaf cover in the image 510, which may be indicative of a plant’s health.
  • a color classifier to classify a likelihood that pixels in the image 510 that are likely to represent plant matter (e.g., classifying one or more shades of green as being likely' to represent plant matter).
  • Tire computer system may then count the number of pixels in the image 510 based on that classification and compare this count to the total pixel count to determine a proportion of foliage or leaf cover in the image 510, which may be indicative of a plant’s health.
  • the computer system may implement a color classifier as discussed above for each color hi the image 510 such that the computer system merges classifications for corresponding pixels in each color channel, counts a number of pixels in a composite color space that are “likely to represent plant matter,” and identifies clusters of pixels “likely to represent plant matter.”
  • the computer system may also detenu me a health of the plant based on a total leaf area of the plant.
  • Tire total leaf area may be based on a quantity of green pixels (or a quantity of pixels likely to represent plant matter) in the image 510.
  • the computer system may access a scalar value based on a known offset from the optical sensor (e.g., a camera) to the plant slot containing the plant when the high-resolution image of the plant was recorded and then multiply the quantity of green pixels in the image by this scalar value to estimate a total leaf area of the plant.
  • the computer system can then calculate a foliage density of the plant based on a ratio of this leaf area to the estimated size of the plant described above, which may correlate to health or viability of the plant.
  • the computer system may identify portions of tire image 510 that indicate the plant is unhealthy based on the proportion of other colors around the colors indicated as likely to represent plant matter (e.g., the green colors).
  • the computer system may implement template matching or object recognition techniques to identify leaves (e.g., the green colors classified as likely to represent plant matter) in the cluster of pixels associated with the first plant in the module-level image, such as based on template images or models of leaves of plants of the same type and at a similar growth stage as the plant in tire image 510.
  • the computer system can then correlate light-colored (e.g., light yellow, light tan, light brown) regions around perimeters of these leaves with unhealthy traits (e.g., nutrient deficiency, chemical burns, over- or under-exposure to temperature, humidity, or tire like).
  • unhealthy traits e.g., nutrient deficiency, chemical burns, over- or under-exposure to temperature, humidity, or tire like.
  • the computer system can also correlate darker-colored (e.g., dark y ellow, dark brown, or black) regions with other unhealthy traits, such as disease or pest damage (e.g,, caused by fungi, bacteria, and insects, such as nematodes, thrips, aphids, flies, moths, or caterpillars or the like).
  • Examples of such darker regions may include, leaf spot, scars, chewed leaves, dieback, distortion, mines, holes, or other like. Based on the proportion of these light- or dark-colored regions to the leaves, the computer system may estimate the amount and degree of the unhealthy trait(s).
  • the computer system may identify dark-colored (e.g., dark yellow, dark brown, or black) round or lozenge-shaped spots (e.g,, spots between a minimum and maximum dimension or area) on the portions identified as “likely to present plant matter” within the image 510.
  • the computer system may count the number of such spots and flag this plant as infected by a pest and/or having a disease if the final value of this counter exceeds a threshold value.
  • the system can implement similar methods and techniques to detect parasites (e.g., chiggers, ticks, nematodes, or mites) and/or gastropods (e.g., slugs) on leafy regions of plants shown in the image.
  • parasites e.g., chiggers, ticks, nematodes, or mites
  • gastropods e.g., slugs
  • the system scans the image for dark, discolored leaf regions that may indicate a thrip infestation.
  • the system detects any such dark, discolored leaf region in the image of a plant or calculates that a proportion of the leaf area in the plant is so discolored, the system can flag the plant as infected by such a pest.
  • the system can implement any other methods or techniques to detect pests directly or to infer the presence of pests in plants in the first module from color data, three-dimensional geometry data, and multispectral data contained in one or a sequence of images of the first module.
  • the computer system may determine the presence of pests based on a perceived movement of those spots over a sequence of images.
  • the image 510 may be one image of a sequence of images taken over a period of time (e.g., over a five second period).
  • the computer system may repeat the foregoing methods and techniques to identify such spots in each image in this sequence, implement object tracking techniques to track motion of these spots across these images, confirm that these spots represent insects if these spots are determined to have moved throughout this sequence of images, and then flag the plant as infected by this accordingly.
  • the computer system can implement any other method or technique to estimate the plant characteristics of the plant. Furthermore, the computer system can extract, characterize, and/or label any other singular features or multi-dimensional feature sets from an image of a plant and write these data to the characteristics record 520.
  • the characteristic records 520 may include plant characteristics not associated with the image 510, such as the weight of one or more plants in the plant module 520. Additionally, the characteristics records 520 may include information stored regarding the plant module, such as the seed type of the plants in the plant modules. Although not shown, the image 510 may include the images of all the other plants within the plant module 88677 such that the characteristics record 520 may represent the plant characteristics of the plant module 88677.
  • the data stored in the records 400,520 may be used as one data point to train the plant model 330.
  • the growth inputs stored in the plant record 400 may be used as the growth input data 310 for training the plant model 330.
  • the plant characteristics stored in the characteristics record 520 may be used as one data point of the plant characteristic data 320 for training the plant model 330.
  • the plant record 400 maybe one of a larger set of plant records used as growth input data 310, and the characteristic record 52.0 may be one of a larger set of characteristic records used as plant characteristic data 320, to train the plant model 330.
  • Each of the data provided to the plant model 330 maybe time-stamped so that patterns between the data may be determined over a timeseries.
  • Various machine learning and statistical techniques may be implemented to determine paterns between the growth inputs in the growth input record 400 and the plant characteristics in the characteristics record 520. For example, the techniques may determine a pattern between a certain temperature and a certain size of the plant. During training, the techniques may additionally account for how the adjustment of one growth input affects another (e.g., how- changing the air or water temperature may change the nutrient profile of the water).
  • Training the plant model 330 may include using data related to the costs associated with the growth inputs. Such costs may include, for example, the financial costs, energycosts, and/or costs related to the wear and tear associated with various facility components. Even further, training the plant model 330 may include using data related to the sales price of the plant at various levels of plant characteristics. Training
  • the plant model can be trained using a variety of different optimization techniques to optimize a loss function so that the plant model output closely tracks the actual measured plant characteristics of the training set.
  • optimization techniques can include gradient descent, backpropagation, conjugate gradient, other gradient techniques, or hessian techniques, such as Newton methods.
  • Tire loss function can be a difference of one or more of the actual measured plant characteristics and the predicted plant characteristics at one or more points in time.
  • Examples of the plant characteristics include those discussed above for characteristics record 520. For example, this may include a yield, a color, an average size of crop units (e.g., size of berries or tomatoes), and a target harvest time. Each predicted characteristic can be compared to a corresponding measured characteristic and the differences can be summed, which may include a weighted sum.
  • Training the plant model 330 may include using various techniques, such as unsupervised learning, supervised learning, reinforcement learning techniques, and/or statistical techniques, to find patterns between how the growth inputs of the growth input data 310 affects the plant characteristics of the plant characteristic data 320 as the plants grow from one stage to another. Training the plant model 330 may include using regression techniques to determine the strength of patterns between the data 310,320 and plant states. For example, this may include correlating how a given plant state may affect a given outcome (e.g., a correlation between a leaf color at an intermediate growth stage with plant performance, such as at least one of a leaf color at a harvest time, a predicted harvest time, and plant yield).
  • a given outcome e.g., a correlation between a leaf color at an intermediate growth stage with plant performance, such as at least one of a leaf color at a harvest time, a predicted harvest time, and plant yield.
  • this may include determining how changing certain growth inputs may affect the plant characteristics over time for a given plant state(e,g., determining how increasing the temperature to 30 ° C over a period of time provides a different yield or growth speed of a plant module compared to the yield or growth speed with the previous temperature).
  • the training may determine patterns between the impacts of changing growth inputs for a first plant module on the plant characteristics of a second, adjacent plant module (e.g., determining how decreasing the humidity for a strawberry variety may affect an adjacent blueberry'- variety that has different humidity requirements than the strawberry variety).
  • the plant model can be used for a plant module as opposed to on individual plants.
  • the plant model 330 may also be trained to recognize whether a plant module is particularly sensitive to a growth input. For example, the plant model 330 may recognize that the lettuce varieties in their third and fourth week of growth have an acceptable temperature range of 20-22 ° C for the lettuce variety to reach its optimal growth. The plant model 330 may recognize this sensitivity based on determining correlations of grow th input data 310 outside of that acceptable temperature range for lettuce varieties in their third and fourth week of growth and poor performance of those lettuce varieties. As described later, the computer system may place plant modules of these sensitive varieties within grow locations that reduce growth input variance (e.g., through predicted growth inputs). Conversely, the plant model 330 may recognize varieties that are not particularly sensitive to growth inputs at various stages of their growth.
  • the plant model 330 may be trained to determine a target harvest window. For example, the plant model 330 may recognize a range of times (e.g., three to five days) at which the plant module may be harvested to have near-optimal performance (e.g.. a yield within 5% of an optimal weight or quantity).
  • the computer system may use the plant model to predict different growth performance outputs based on different plant characteristics at various stages of plant growth. Based on those different growth performance outputs, the plant model may predict an optimal growth performance at a harvest time (and other growth performances) within an acceptable margin of those growth optimal growth performance at other harvest times. The computer system may then label those other harvest times as a target harvest window.
  • the plant model 330 may be trained to provide a weight for each growth input corresponding to how each input impacts each type of plant performance, for a given variety' and state. For example, the plant model 330 may’ be trained to recognize how much temperature affects the growth of strawberries at a given state compared to humidity.
  • the plant model 330 may be trained to assign a weight to that type of growth input as a part of a weighted function for all growth inputs.
  • Tire computer system may additionally be trained in a similar manner regarding the changes in predicted performance based on holding the growth input for a period of time (e.g., a change in temperature over a week).
  • Tire plant model 330 may be trained to recognize patterns corresponding to the changes between various growth inputs and between various types of predicted performances (e.g., each of yield quantity’, size, shape, harvest time) compared to changes in other, different types of predicted performance for a particular plant variety and state. For example, the computer system may determine that, for a strawberry plant module having a particular set of plant characteristics, a change in 5 ° C leads to a predicted increase in harvest yield of 2 pounds and a decrease in harvest time of 10 days. Accordingly, the plant model 330 may be trained to recognize how growth inputs affect each type of plant performance.
  • various types of predicted performances e.g., each of yield quantity’, size, shape, harvest time
  • the plant model 330 may additionally be trained to predict a confidence that a plant module will achieve a given predicted performance. For example, the plant model 330 may compare historical plant performance predictions with historical measured plant performances to determine how likely providing a growth input to a plant module at a particular state and variety will result in a particular performance. Accordingly, the plant model 330 may provide a confidence that a plant module will achieve the predicted performance.
  • the plant model 330 may be associated with one specific variety. For example, there may be a specific plant model trained to predict the performance for lettuce plants and another plant model trained for strawberry varieties, and so on. These specific plant models may be incorporated into a broader plant model for sections of the facility. For example, there may be a broader plant model trained to predict the performance for all plant modules within a growing block of the facility. This broader plant model may be based on the plant models specific to each variety corresponding to each of the plant modules in that growing block. In a yet further alternative embodiments, the broader plant model may be trained to predict the performance of all plant modules in the entire facility.
  • the plant model may include additional performance metrics than those described above.
  • the plant model may be trained to recognize predicted changes in one or more plant performances, e.g., yield and quality (as may be determined by shape and color). Multiple plant performance values can be combined (e.g., in a weighted sum) to provide a total performance (e.g., as a score).
  • the performance can be measured against a target performance (e.g., how closely the predicted performance aligns with, or deviates from, the target performance) for a given change in growth input (e.g., a change in harvest time that more closely aligns with a target harvest time).
  • the plant model 330 may be trained to have a weighting system for each growth input. In this manner, the plant model 330 may be trained to recognize how impactful each growth input may be on the performance of a given plant at of a given state and variety.
  • the plant model 330 may be implemented to predict a plant performance for a variety' at a given growth stage given a certain set of growth inputs. For example, given one or more growth inputs for a lettuce variety that was just planted (i.e., at the lettuce variety's seedling stage) as an input to the plant model 330 for a current state of the lettuce (e.g., the current plant characteristics of tire lettuce), the plant
  • the 7 model 330 may predict that the lettuce variety will have a certain harvest schedule (i.e., reach certain growth stages at certain times) and to have certain plant characteristics (e.g., yield quantify, size, height, shape, color, and/or leaf density) at each of those growth stages.
  • These growth inputs may include a facility condition (e.g., a certain temperature, humidity, light, level, and/or air flow) and/or one or more non-environmental sensor measurements (water level and water profile).
  • the plant model 330 can be used to further explore optimal inputs, e.g., for a given state of a plant.
  • the plant model 330 may be used to explore the growth inputs that best achieve a target growth criteria (or a target growth performance), such as a minimum yield, minimum quality, target leaf color, target leaf size, and/or maximum plant height.
  • a target growth criteria or a target growth performance
  • different growth inputs can be input to plant model 330 to obtain different predicted growth performance outputs.
  • Such a growth input space can be explored in various ways, e.g., by accepting any set of inputs that improve the output. While exploring this input space, a computer system may reiteratively compare those predicted growth performance outputs to the target growth performances to determine predicted performance outputs that most closely matches the target growth criteria.
  • the computer system can accept a new growth input when the difference between the predicted growth performance and the target growth performance decreases. Additionally, for each iteration, the computer system may reject each growth input that increases the difference between the predicted growth performance and the target growth performance. In this manner, a loss function defining the difference can be minimized.
  • Various solutions can be obtained (e.g., by choosing different starting points, as may be done using simulated annealing, Monte Carlo techniques, or other random selection techniques), and the most cost-effective solution (e.g., as determined using a cost function that depends on the growth inputs) can be selected.
  • a reinforcement learning model can be trained to provide one or more sets of growth inputs that satisfy one or more target growth criteria. Such growth inputs can be identified as target growth inputs.
  • the training can involve similar operation as the optimization described above, with the determination of whether the loss function decreases for a given change in the growth inputs being provided to the reinforcement learning model.
  • the plant model can be used to provide a training set to the reinforcement learning model, which can output growth inputs to try in the plant model to identify growth inputs that satisfy the target performance. This training can enable the reinforcement learning model to predict better changes for future use cases, potentially for plants in various plant states (i.e., having different plant characteristics).
  • the plant model 330 may be used to explore ranges of growth inputs (e.g., the ranges or values of growth inputs) to avoid for each plant state.
  • the plant model 330 may be used to explore the growth inputs that would lead to a plant performance that has poor performance (or avoidance plant performances), such as having plant characteristics that prevent the sale or use of the plants at the time of harvest.
  • the computer system may use the plant model to predict different growth performance outputs based on different growth inputs. The computer system may then compare those different predicted growth performance outputs with the avoidance plant performances to find the predicted growth performance outputs that fall within the avoidance plant performances to avoid. The computer system may then label the growth inputs that led to those predicted growth performance outputs as avoidance growth inputs.
  • Tire plant model 330 may additionally be used to determine a plant state that cannot be salvaged.
  • the plant model 330 may be used to explore plant states of a plant that cannot have a predicted performance satisfying one or more target criteria no matter what growth input is provided (e.g., there is no available growth input that can be provided to the plant such that the plant’s predicted performance satisfies the target criteria).
  • the computer system may use the plant model to predict different growth performance outputs based on different plant characteristics at various stages of plant growth.
  • the computer system may then compare those different predicted growth performance outputs with the target growth criteria to determine those plant characteristics at each stage of growth (i.e., those plant states) winch cannot have a predicted performance satisfying one or more target growth criteria by harvest time regardless of the growth input.
  • the computer system may then label the state having these plant characteristics as being unsalvageable.
  • Such uses of the plant model can be performed in a greenhouse model, e.g., as described herein.
  • FIG. 6 depicts an example training process 600 for training a facility model 530.
  • one or more machine learning techniques may be applied to find relationships between environmental data records (e.g., historical facility condition data 610 and historical outside environmental data 620) to determine the facility model 530.
  • Die historical facility condition data 610 may be facility conditions from previous environmental sensor measurements performed by sensors within the facility (e.g., historical sensor measurements of air flow, humidity, temperature, and/or light levels). Historical facility condition data 610 may be collected by various sensors and provided to a computer system. For example, as discussed above, the computer system can interface with fixed sensors arranged in the facility in select locations throughout the facility (e.g., fixed temperature, humidity, light level, and air flow' sensors). These sensors may perform sensor measurements at a relatively high frequency (e.g., once per minute), thereby enabling the computer system to monitor facility conditions in near-real-time. Further, as discussed above tor the plant model, one or more of the mover devices and robotic manipulators may include sensors that provide historical facility conditions as historical facility condition data 610.
  • This historical facility' condition data 610 regarding the historical facility' conditions may be associated with any area within the facility.
  • this data may be localized to a particular grow location within the facility (e.g., grow location 150).
  • the data may be localized to multiple grow locations within the facility’ (e.g,, a growing block 110).
  • the data may be generalized to the entire agricultural facility.
  • the facility model 630 may be trained for any size of area of the facility.
  • Tire historical outside environmental data 620 may include historical environmental sensor measurements outside the facility.
  • outside environmental sensor measurements may include temperature, light level, photoperiod, humidity, wind speed and direction, rain fall, air quality (e.g., carbon dioxide levels), or the like.
  • the historical environmental sensor measurements may be one or more of sensor measurements performed by sensors outside the facility and/or historical weather reports reporting the environmental sensor measurements of the area around the facility.
  • the historical weather reports may include weather reports within a certain distance from the facility (e.g., one mile, five miles, twenty miles, or the like). Alternatively, the historical weather reports may include weather reports of the district, county, township, or state the facility resides within or adjacent to.
  • settings of environmental actuators can be included in the training data.
  • the environmental actuators settings may include, at a particular time, the output that the environmental actuator is set to output.
  • the current HVAC setting may include that the HVAC unit is set to 25 ° C.
  • a nearby temperature sensor may detect that the actual temperature in the area the HVAC unit is aimed at is 22 ° C.
  • predictions of the facility conditions can be determined based on the outside conditions and energy imparted to the environmental actuators (e.g., the effect that that outside environmental conditions may have on an environmental actuator achieving a desired facility condition).
  • predictions can be made for interior conditions or a location for a specified energy use.
  • the historical facility condition data 610, historical outside environmental data 520, and environmental actuators setting may vary over time.
  • a time series of growth input data can be fed into the facility model to provide predictions on how facility conditions change over time.
  • the facility model can be trained using a variety 7 of different optimization techniques to optimize a loss function so that the facility conditions output closely tracks the actual measured facility conditions of the training set.
  • optimization techniques can include gradient descent, backpropagation, conjugate gradient, other gradient techniques, or hessian techniques, such as Newton methods.
  • the loss function can be a difference of one or more of the actual measured facility conditions and the predicted facility conditions at one or more points in time.
  • Hie facility model 630 may be trained to have a weighting system for each growth input.
  • Training the facility model 630 may include using machine learning techniques to find patterns between data 610,62.0. For example, this may include determining how much an increase in temperature outside the facility affects the temperature within the facility. Further, this may also include determining how much an increase in temperature a certain distance away from the facility (e.g., ten miles away) from the facility affects the temperature within the facility. As such, training the facility model 630 may include finding the patterns between historical environmental sensor measurements changes and facility condition changes.
  • training the facility model 630 may include determining how facility condition changes in one grow location may affect the facility conditions of another grow location. For example, if the carbon dioxide levels of a first grow location increases from 400 ppm of carbon dioxide to 420 ppm, training the facility model 630 may include determining how much the carbon dioxide levels of a second grow' location adjacent to the first grown area is affected, if at all.
  • a facility model 630 trained for each setting of the environmental actuator based on the historical facility condition and outside environmental data 610.
  • the facility model 630 may be trained to determine relationships between how outside environmental conditions affect the ability of the environmental actuators to provide a particular facility' condition.
  • the facility model 630 may note that a HVAC unit set to provide a temperature of 25 ° C can only provide a real temperature of 22 ° C when the outside temperature is 35 ° C.
  • the facility model 630 may be implemented to predict the facility conditions at any location within the facility, e.g., for one or more settings of environmental actuators.
  • the facility' model 630 may' use one or more of current environmental sensor measurements and forecasted conditions, current facility' conditions, and simulated facility conditions (e.g., conditions that the computer system is considering providing to a plant module but has not yet provided) to predict facility 7 conditions at a future time.
  • the facility model 630 may' predict that the temperature of a grow location may change from 25 ° C to 27.5 ° C in five days due to a w eather forecast indicating that the outside temperature will increase from 30 ° C to 35 ° C.
  • the facility model 630 may provide a predicted setting of what an environmental actuator should be set to in order to achieve a particular facility' condition based on the current setting of the environmental actuator, current facility' conditions, simulated facility conditions, current outside environmental conditions, and forecasted weather reports. For example, at a given location, the facility model 630 may predict that a HVAC unit must be set to 20 ° C in two hours in order to achieve a temperature of 25 ° C in five hours when the current temperature is 33 ° C inside the facility and the outside temperature is 35 ° C.
  • the facility model 630 may be used to find grow locations that have a consistent growth input. For example, the facility model 630 may predict that a particular location will have a consistent temperature of 20 ° C in the next few weeks where the forecasted weather conditions are not expected to vary much. Tire computer system may relocate a plant module that requires this temperature for those next few weeks (e.g., to reach a target performance) to this location.
  • Tli is may be particularly usefill for plant modules that are sensitive to growth input fluctuations. For example, if a particular variety of plant module has an acceptable temperature range of 18-22 ° C during the first two weeks of that plant module’s growth and the facility model 630 predicts other locations to have a temperature fluctuation outside of that plant module’s acceptable range, the computer system may relocate that plant module to the location of the facility predicted to have a consistent temperature of 20 ° C. Other embodiments may include predicting for consistent or varying growth inputs other than temperature, such as light, humidity, or air flow'.
  • the predicted facility conditions for a grow location may then be provided to a plant model as a growth input, as described above.
  • This allows the plant model to more accurately predict the plant performance for a plant module located within that grow location, or for plant modules that may potentially be re-located to that grow location, because the predicted facility conditions more accurately represent how the facility conditions of that grow location will change in the future.
  • a plant model 230 may predict that a lettuce has the target growth performance (e.g., on track with an ideal harvest schedule) based on a current temperature of 23 ° C.
  • the facility model 630 may predict that the temperature of the grow' location for the lettuce will decrease to 20 ° C due to a cold front outside of the facility.
  • the plant model 230 may predict that the lettuce growth will have a smaller yield than the yield initially predicted using only the current temperature. As will be discussed further below, one or more adjustments may be made within the facility to address this difference in plant performance, e.g., moving the plant to a different location and/or changing one or more environmental actuators.
  • the computer system may additionally determine whether it is worthwhile to provide growth inputs to a plant module based on resource cost terms that are added to loss functions used in training the plant model and/or the facility model.
  • Resource costs may refer to the amount of negative impact that providing certain growth inputs would have on resources provided to the facility or equipment in the facility. For example, this may include energy costs, water costs, equipment wear and tear costs, nutrient costs, or the like.
  • the resource costs may be known quantities associated with regarding each change in input (e.g., increasing temperature requires a certain amount of energy, which can be converted as a certain amount of money).
  • the computer system may determine a resource cost model to predict a change in resource costs for a specified change in the growth input.
  • the resource cost models may be trained using unsupervised learning, supend sed learning, reinforcement learning, statistical techniques, or the like.
  • FIG. 7 depicts an exemplary training process 700 for a resource cost model 730.
  • the computer system may train the resource cost model 730 based on historical growth input data 710 (e.g., historical data on growth input changes or historical growth inputs) and historical resource cost data 720 for each location in a facility and each setting of an environmental actuator.
  • historical growth input data 710 e.g., historical data on growth input changes or historical growth inputs
  • historical resource cost data 720 for each location in a facility and each setting of an environmental actuator.
  • the resource cost model 730 may be trained to predict how a change in growth input or a change in environmental actuator setting (which in turn changes a growth input, such as temperature) affects a change in the resource usage for the facility (e.g., change in energy usage, water usage, and/or wear and tear on facility components).
  • the resource cost model 730 may receive (for a particular location), as an input, a change in growth input (e.g., a difference between an initial growth input and a second growth input, such as a predicted facility condition from a facility model) or change in environmental actuator setting. With this input, the resource cost model 730 may predict the change in resources (e.g., an increase or decrease in energy, water, and component wear and tear).
  • the computer system may note any negative change in resources as being a cost.
  • the historical growth input data 710 may include growth inputs, as discussed above, except including changes in the environmental actuators settings.
  • the historical resource costs data 720 may be supplied by a record of historical costs (e.g., records on a storage device) corresponding to each change in growth input, e.g., a cost associated with an environment actuator achieving a facility condition that is a desired growth input.
  • the historical resource cost data 720 may additionally or alternatively include data computed via manually-derived heuristics or via a machine learning model based on training data.
  • the computer system may train the resource cost model 730 to find patterns between changes in growth inputs (e.g., one or more of temperature, humidity, light level, air flow rate, water levels, and water profiles) and/or changes in environmental actuator setings at a particular location, and changes in resource cost.
  • changes in growth inputs e.g., one or more of temperature, humidity, light level, air flow rate, water levels, and water profiles
  • changes in environmental actuator setings e.g., one or more of temperature, humidity, light level, air flow rate, water levels, and water profiles
  • Each of the various resource costs e.g., energy costs, water costs, equipment wear and tear costs, nutrient costs
  • the resource cost model 730 may be trained to recognize patterns between changes in growth inputs and a resulting energy cost.
  • the computer system may determine how much energy usage changes as the settings of HVAC unit changes in temperature or how much energy usage changes as a mover moves from one location to another.
  • a computer sy stem may assign a resource cost to an increased change in energy cost.
  • the resource cost model 730 may be trained to recognize patterns between changes in growth inputs and a water cost.
  • the computer system may determine how much water usage changes as humidity level changes, for each setting of the humidifier.
  • a computer system may assign a resource cost to an increased change in water cost.
  • the resource cost model 730 may be trained to recognize patterns between changes in growth inputs, and wear and tear on various facility components.
  • the computer system may determine how much damage a HVAC unit undergoes as it changes temperature, for each setting of the HVAC unit, or how wear and tear is accumulated by a mover as it moves from one location to another.
  • a computer system may assign a resource cost to an increased change in w r ear and tear cost.
  • the resource cost model 730 may be trained to recognize patterns between changes in growth inputs and a probability of success that an environmental actuator may provide a desired facility condition.
  • the computer system may determine how likely an artificial light is able to provide a specific light level (e.g., a particularly bright or high -intensity light) given the physical limitations of the artificial light.
  • a computer system may assign a resource cost to a decreased in the probability of success.
  • the resource cost model 730 may be trained to recognize patterns between changes in growth inputs and nutrient costs. For example, the computer system may determine how much additional nutrients must be provided to a plant module based on changes in water level. A computer system may assign a resource cost to an increased change in nutrient cost. Resource cost model uses
  • the resource cost model 730 may be trained to predict changes or values in resource cost based on changes or values in growth inputs. To provide this output, the resource cost model 730 may be trained to have a weighting system for each growth input. In this manner, the resource cost model 730 may be trained to recognize how impactfill changes in various growth inputs may have on the changes in resource cost. For example, the resource cost model 730 may assign the following exemplary weights: 0.2 for increasing the HVAC unit by 5 ° C when it is already set at 25 ° C, 0.3 for increasing carbon dioxide levels by 20 ppm when it is already set at 400 ppm, etc.
  • the cost model 730 may predict a change in the resource cost based on the weighting of each of the various growth inputs provided to the resource cost model 730.
  • Such inputs may include a change from an initial facility condition to a predicted facility condition provided by a facility model.
  • the computer system may determine whether it is worthwhile to provide growth inputs to a plant module based at least one of the predicted changes to plant performance from the plant model and resource cost from the resource cost model.
  • the computer system may determine a greenhouse model that uses the predicted performance and resource costs as inputs to predict a greenhouse score based on the change in predicted performance and resource cost.
  • Tire greenhouse score may correspond to a weighted sum of terms from in plant performance and resource cost for providing a growth input to one or more plant modules
  • a computer system may use the greenhouse model to identify growth inputs to provide to a plant module that will most closely align a predicted performance to a target performance while minimizing tire resource cost or decrease in performance associated with that growth mput(s) relative to other growth inputs.
  • the greenhouse model may be used to provide suggestions for future growth input changes by reiteratively comparing the predicted performances that most closely align with a target performance using a plant model and minimizing a resource cost using a resource cost model.
  • Hie objective function e.g., to be minimized
  • the greenhouse model may be trained using unsupervised learning, supervised learning, reinforcement learning, statistical techniques, or the like.
  • FIG. 8 depicts an exemplary training process 800 for a greenhouse model 830.
  • the computer system may train the greenhouse model based on plant performance data 810 and resource cost data 820, for each variety and at each state.
  • Tire plant performance data 810 may be historical changes in plant performance and/or changes in predicted plant performance supplied by a plant model that determines growth performance.
  • the resource cost data 820 may be historical changes in resource cost and/or changes in predicted resource cost supplied by a resource cost model that determines a resource cost.
  • the greenhouse model may include a predetermined function (e.g., as an objective function to be minimized) that is specified with weights and targets.
  • a specified formula can be used for what is the objective function to be minimized based on the outputs of the plants model(s) and resource cost model(s).
  • the greenhouse model may use, as inputs, the outputs of the plant model(s) and the resource cost model(s).
  • the greenhouse model can then perform an optimization to identify optimal growth inputs that satisfy one or more criteria (e.g., a convergence criteria such as changes from one iteration to the next, an absolute value, or number of iterations).
  • the greenhouse model may be a machine learning model that is trained to provide an optimal growth input using current states of the plants, current facility conditions, and/or forecast facility conditions.
  • a greenhouse model can incorporate the plant model and the resource cost model.
  • an optimal growth input is the output of the greenhouse model, w'here a training sample of a specified growth input, current/forecasted states of plants and facility, and a label of the overall greenhouse score.
  • the greenhouse model can thus be trained to provide an optimal growth input based on the current/forecasted state inputs.
  • the computer system may tram the greenhouse model 830 to find one or more optimal growth inputs for a target plant module based on changes in resource costs and changes in performance from the plant model.
  • the computer system may provide various growth inputs for a plant model to a plant model to determine various predicted performances of the plant module.
  • the computer system may also provide various growth inputs to a resource cost model to determine various predicted changes in resource cost.
  • the greenhouse model 830 maybe trained to compare these various growth inputs and resource cost for the plant module, and provide a greenhouse score based on the change in predicted performance and change in resource cost tor the target plant module. The computer system may then use these results to find the predicted performances (and the growth inputs for that predicted performance) that minimize resource cost.
  • the computer system may train the greenhouse model 830 to find one or more optimal growth inputs for a target plant module based on changes in a predicted performance for plant modules adjacent the target plant module.
  • the computer system may provide various growth inputs for a target plant model and adjacent plant modules (at a particular state and variety) to a plant model to determine various predicted performances of the adjacent plant modules at the provided facility condition, fire greenhouse model 830 may be trained to compare these various growth inputs and predicted performances. For example, increasing the artificial light directed to a target plant module, may increase the artificial light exposure for adjacent plant modules. In another example, changing the air flow to a target module may change the air flow for adjacent plant modules.
  • the greenhouse model 830 may sum all those changes in performances of the adjacent plant modules with the change in performance of the target plant module and provide a greenhouse score based on that sum.
  • the computer system may identify the growth inputs that led to the greenhouse score corresponding to the change in predicted performance of the target plant module that most closely aligns with the target plant performance while minimizing the change in the predicted plant performances of the adjacent plant modules that deviate from a target plant performance of those adjacent plant modules.
  • the greenhouse model 830 may also be trained using similar methods including the resource costs of all the adjacent plant modules in providing the greenhouse score such that the computer system may identify such growth inputs that also minimizes resource cost.
  • the computer system may train the greenhouse model 830 to find one or more optimal growth while relocating a plant module.
  • the computer system may determine tire distance that relocating the plant module would require (i.e., the distance from the initial location of a plant module to a second grow location) and determine a time involved in that relocation process. As the plant module may be provided less growth inputs during this time, the computer system may train the greenhouse module 830 to recognize how a decrease in growth inputs to the plant module corresponding to the distance the mover device travels (i.e., the time spent traveling) during relocation of the plant modules affects a change in predicted performance of the plant module (for a given variety and a given state).
  • the computer system may provide various growth inputs to a plant model corresponding to the initial location of the plant module and the location of the plant module as it. is being relocated.
  • the plant model may determine various predicted performance corresponding to those various growth inputs.
  • the computer system may identify the growth inputs that led to the to the greenhouse score corresponding to change in predicted performance of the plant module that most closely aligns with the target plant performance and provide a greenhouse score based on that change.
  • Tire greenhouse model 830 may also be trained using similar methods including the resource costs in providing the greenhouse score such that the computer system may identify such growth inputs that also minimizes resource cost.
  • the mover device is unable to move other plant modules such that there may be a delay in relocating other plant modules (tor a given variety and a given state) to receive other predicted growth inputs.
  • Tire computer system may tram the greenhouse model 830 to recognize how a change in growth inputs to other plant modules corresponding to the distance the mover device travels (i.e,, the time spent traveling) during relocation of the target plant, module affects a change in predicted performance of the other plant modules.
  • the computer system may provide various growth inputs to a plant model corresponding to the initial location of the other plant modules and the location of the other plant module had the mover device relocated them instead of the target plant module.
  • the plant model may determine various predicted performance corresponding to those various growth inputs.
  • the greenhouse model 830 maysum all those changes in performances of the other plant modules with the change in performance of the target plant module and provide a greenhouse score based on that sum.
  • the computer system may identify the growth inputs that led to the greenhouse score corresponding to the change in predicted performance of the target plant module that most closely- aligns with the target plant performance while minimizing the change in the predicted plant performances of the other plant modules that deviate from a target plant performance of those adjacent plant modules.
  • the greenhouse model 830 may also be trained using similar methods including the resource costs of all the other plant modules in providing the greenhouse score such that the computer system may identify- such growth inputs that also minimizes resource cost.
  • the computer system may determine how increasing the density- of plant modules through relocating a targe t plant module affects the predicted performance of tlie other plant modules (for a given variety and a given state) in that area. For example, such an increase in density- may increase humidity and temperature of the plant modules in that area.
  • the computer system may provide various growth inputs to a plant model corresponding to an area with plant modules before the target plant module is relocated there and the area after the target plant module is relocated there.
  • the plant model may- determine various predicted performance corresponding to those various growth inputs.
  • Tire greenhouse model 830 may sum all those changes in performances of the other plant modules with the change in performance of the target plant module and provide a greenhouse score based on that sum.
  • the computer system may identify the growth inputs that led to the to the greenhouse score corresponding to change in predicted performance of the target plant module that most closely aligns w ith the target plant performance while minimizing the change in the predicted plant performances of the other plant modules that deviate from a target plant performance of those adjacent plant modules.
  • the greenhouse model 830 may also be trained using similar methods including the resource costs of all the other plant modules in providing the greenhouse score such that the computer system may identify such growth inputs that also minimizes resource cost.
  • the computer system may also train the greenhouse model 830 to recognize how- changes in growth inputs from the mover device moving slow-er (i.e., taking more time) through the area with increased density- affects the predicted performances of other plant modules (for a given variety and a given state) the mover device was delayed in arriving to.
  • the computer system may provide various growth inputs to a plant model corresponding to an initial location of the plant modules and to the location of the modules the mover device would have moved those plant modules to if the mover device was not delayed by the increased plant module density.
  • the plant model may determine various predicted performance corresponding to those various growth inputs.
  • the greenhouse model 830 may sum all those changes in performances of the other plant modules wnth the change in performance of the target plan t mod ule and provide a greenhouse score based on that sum.
  • the computer system may identify the growth inputs that led to the to the greenhouse score corresponding to change in predicted performance of the target plant module that most closely aligns with the target plant performance while minimizing the change in the predicted plant performances of the other plant modules that deviate from a target plant performance of those adjacent plant modules.
  • the greenhouse model 830 may also be trained using similar methods including the resource costs of all the other plant modules in providing the greenhouse score such that the computer system may identify such growth inputs that also minimizes resource cost.
  • the computer system may train the greenhouse model 830 to recognize how changes in growth inputs for displacing the second plant module affects the predicted performances of the second plant module (for a given variety- 7 and a given state).
  • the computer system may provide various growth inputs to a plant model corresponding to an initial location of the second plant module and to a new location of the second plant module after being displaced. "Die plant model may determine various predicted performance corresponding to those various growth inputs.
  • the greenhouse model 830 may sum all those changes in performances of the other plant modules with the change in performance of the target plant module and provide a greenhouse score based on that sum.
  • the computer system may identity’ the growth inputs that led to the greenhouse score corresponding to the change in predicted performance of the target plant module that most closely aligns with the target plant performance while minimizing the change in the predicted plant performances of the second plant modules that deviate from a target plant performance of those adjacent plant modules.
  • the greenhouse model 830 may also be trained using similar methods including the resource costs of all the other plant modules in providing the greenhouse score such that the computer system may identify such growth inputs that also minimizes resource cost.
  • the greenhouse model 830 may be trained to provide a greenhouse score based on the changes in predicted performance and resource cost or actual values in predicted performance and resource cost. Any description herein of using changes in values also applies to using actual values.
  • the greenhouse model 830 may be trained to have a weighting system for each term noted above. In this manner, the greenhouse model 830 may be trained to recognize how impactful changes in various growth inputs may have on the changes (or actual values) in predicted performance of a plant module (for a given variety and a given state) and changes in resource cost. For example, the greenhouse model 830 may assign the following exemplary- weights: 0.
  • the greenhouse model 830 may provide a greenhouse score based on the weighting of each of tire various growth inputs provided to the greenhouse model 830.
  • Such inputs may- include a change from an initial facility 7 condition to a predicted facility condition provided by a facility model.
  • the greenhouse score may 7 be a negative score where the change in the predicted performance of the target plant module that is closer to its target performance is less than at least one of the overall deviation in total plant performance from target plant performance(s) and an increase m resource cost.
  • Hie greenhouse score may 7 be a neutral score where the change the predicted performance of the target plant module is offset by at least one of the overall deviation in total plant performance and an increase in cost.
  • the greenhouse score may be a positive score where the change the predicted performance of the target plant module is greater than at least one of the overall deviation in total plant performance and an increase in cost.
  • the greenhouse score may have any numerical value corresponding to plant performance and resource costs.
  • the computer system may optimize for the greatest score byproviding the greenhouse model 830 various predicted performances and corresponding resource costs to obtain various greenhouse scores. "Die computer system may 7 reiteratively compare these greenhouse scores to find the largest greenhouse score and then identify the growth inputs that led to this greenhouse score.
  • plants may be positioned according to a growth map determined through the plant and facility models.
  • the growth map may be a map of plant module placement that most closely matches the optimal growth inputs for multiple plant modules based on the predicted growth input of the grow locations.
  • FIG. 11 depicts an example flowchart 1100 performed by a computer system for determining the growth map.
  • the growth map may be based on simulations performed on a simulated map of the facility, which corresponds to a physical map of the facility .
  • the physical map may be a schematic representation of the physical layout of the facility, incl uding a schematic representation of the physical location of the plant modules and grow locations.
  • the physical map include information or representations of the sensor measurements for each grow location.
  • FIG, 10 depicts an exemplary physical map 1000 of a growing block of the facility having plant modules 1012 and grow areas 1050.
  • the grow locations 1050 and plant modules 1012 may have a reference system of numbers and letters as shown on the top and left sides of the simulated map 1100.
  • the grow locations 1050 of the left-most column may be referred to as the grow locations Al , A2, A3, A4, and A5.
  • Each particular grow' locations 1050 of the top-most row may be referred to as the grow' locations Al, Bl, Cl, DI, and El.
  • the plant modules 1012 may each have a label specific to each of the plant modules 1012 (e.g., the plant module M26, plant module M21 , plant module M02, etc.).
  • each plant module 1012 may be located by reference to a particular grow' location 1050.
  • the plant module M26 is located in in the grow location C3 and the plant module M46 is located in the grow location A3.
  • some grow locations 1050 do not include a plant module 1012.
  • the grow location El does not have a plant module 1012. How'ever, in other embodiments, all grow' locations 1050 may include plant modules 1012.
  • the grow' locations 1050 and plant modules 1012 may have any other reference system that allows for their location, such as having more or less numbers or letters, only being one of a letter or number, or the like.
  • the physical map 1000 shows twenty-five grow' locations 1050, in other embodiments, there may be more or less grow' locations 1050.
  • the physical map 1000 show's eighteen plant modules 1050, in other embodiments, there may be more or less plant modules 1012. Additionally, the physical map 1000 may represent the current plant locations of the modules 1012.
  • the computer system may receive a map of a facility having a plurality' of grow locations.
  • the plurality of grow locations may include a first set of grow locations and a second set of grow locations.
  • This map may be a simulated map of the physical map of the facility (e.g., the physical map 1000).
  • FIG. 1 1 depicts a simulated map 1100 received by a computer system that simulates the physical map 1000.
  • tire simulated map 1 100 may be a grid layout depicting various simulated grow locations 1 150 and simulated plant modules 1 1 12 of the facility.
  • Tire simulated plants are associated with plants in the facility. Specifically, each of the simulated plant modules 1112 respectively correspond with the plant modules 1012 and grow' areas 1050 of physical map 1000.
  • the simulated map 1000 includes simulated plant modules 1 1 12 and simulated grow' areas 1150 respectively corresponding to the plant modules 1012 and grow' areas 1050.
  • the simulated map 1100 may not necessarily be true to scale of the physical layout of the growing block. However, in other embodiments, the map may represent the actual spatial layout of the facility.
  • the simulated map 1100 may be provided with simulated plant modules 1 1 12 already placed in certain simulated grow locations 1 150 (i.e., the first set of grow' locations) to correspond to the grow' locations 1050 of the plant modules 1012 of the physical map 1000.
  • the second set of grow' locations may correspond to another set of grow' locations 1150 to receive the plant modules 1 112 (e.g., when re-arranging the plant modules 1112, as will be discussed further below').
  • the simulated map may include only information regarding the grow locations and with no plant modules placed in the grow locations.
  • the computer system may determine a growth map for a facility that does not already have plant modules within it (e.g., a new facility).
  • growth input data is not provided with the simulated map 1100.
  • growth input data of each grow location 1050 including predicted facility conditions, may be provided with the simulated map 1000.
  • the computer system may receive, at each of a plurality of times, sensor measurements for each of the grow locations from one or more sensors. This may include the sensor measurements of the grow locations 1050 most recently gathered at the time the simulated map 1100 was provided.
  • the sensor measurements include non-environmental sensor measurements, the non-environmental sensor measurements including at least one of a water level and water profile, the water profile including at least one of a EC, pH, ORP, and nutrient concentration.
  • this may include the most recent facility conditions (i.e., temperature, humidity, air flow, and light level measurements) of the grow locations 1050, as well as non-environmental sensor measurements.
  • settings of environmental actuators and external conditions e.g., measurements or forecasts of the outside environmental conditions can be received, as described herein.
  • the computer system may determine a facility model based on the sensor measurements.
  • Tire facility model can provide facility conditions at future times.
  • the predicted facility conditions may be based on knowledge of historical patterns of changes in the facility conditions.
  • the facility model can also provide predicted facility conditions based on forecast conditions of the external environment and for specified settings of one or more environmental actuators.
  • determining the facility model may include receiving environmental data records, the environmental data records including forecasted environmental sensor measurements outside of the facility, past environmental sensor measurements outside of the facility, past facility conditions, current facility conditions, past settings of environmental actuators, and current settings of the environmental actuators. Further, determining the facility may include determining, patterns between the sensor measurements and environmental data records, thereby providing facility conditions at the future times. Tills process may be similar to the process described above tor the facility model 630.
  • the facility model may be configured to determine the predicted settings of environmental actuators required to achieve the facility condition at the future time based on the sensor measurements and current settings of the environmental actuators.
  • the computer system may add one or more new simulated modules where there is a grow 7 location that does not yet have a plant module (i.e., a “gap grow location”).
  • This new simulated module may correspond to a plant module that has yet to be planted or is a plant module located in a different agricultural facility.
  • the computer system may identify the El grow location 1050 as a gap grow location.
  • the computer system may then assign the S57 new simulated module 1160 within the El simulated grow location 1150.
  • This new simulated module 1 160 may then be incorporated into the rest of the process as described below . Incorporating this new simulated module 1160 may assist in reducing unused space with tire facility.
  • there may be no new imulated modules where either there are no grow locations missing plant modules or there are no available plant modules for the gap grow locations.
  • the computer system may determine growth inputs based on a facility model. Such growth inputs may be provided as a map of growth inputs.
  • An exemplary'- map may be a map of predicted growth inputs based on the grow locations 1150 of the simulated map 1100.
  • the computer system may determine, based on the sensor measurements and the facility model, predicted growth inputs for a specified period of time for the plurality of grow locations.
  • the predicted growth inputs may include predicted facility conditions.
  • the first set of grow locations may be associated with a first set of predicted growth inputs of the predicted growth inputs.
  • the second set of grow locations may be associated with a second set of predicted growth inputs of the predicted growth inputs,
  • the computer system may predict growth inputs for the simulated grow locations 1150 based on the sensor measurements and facility model for a specified period of time (e.g., two weeks in the future).
  • the predicted growth inputs can include predicted facility conditions.
  • the computer system may use a facility model to determine a predicted growth input for each of the simulated grow locations 1150.
  • These predicted growth inputs may be positioned on a map corresponding to their respective simulated grow locations 1150.
  • FIG. 12 depicts an exemplary predicted input map 1200 of predicted growth inputs 1212 for simulated grow locations 1250 (corresponding to the grow locations 1050).
  • FIG. 12 depicts map 1200 showing only a temperature growth input. However, it is understood that the map 1200 is depicted as an example only and the growth inputs 1212 may include other growth inputs, such as humidity, light level, air flow, or the like.
  • the predicted growth inputs 1212 may be inclusive of all sets of grow locations.
  • Tire computer system may use a facility model to predict temperatures for each of the simulated grow locations 1250 at a future time.
  • a facility model may receive at least one of the current facility conditions of each grow- location 1050, the current environmental sensor measurements outside of the facility, forecasted environmental sensor measurements outside of the facility, and current and past settings for environmental actuators.
  • This forecasted environmental sensor measurements outside of the facility may be a weather report forecasting that the temperature will increase in certain areas outside of the facility.
  • the temperatures may increase in certain areas outside of the facility but adjacent to areas within the facility (e.g., the grow location Al, grow location E3, and grow location B5).
  • the facility model may then predict that the temperatures of various grow locations 1050 will increase from the current facility conditions due to this forecast temperature increase, as well as the current facility conditions and outside environmental sensor measurements, and provide the predicted temperature of each grow location 1050.
  • These predicted growth inputs 1212 may- be provided as the predicted input map 1200.
  • Each of the simulated plant modules 1112 may be associated with a target growth input corresponding to a target performance of the simulated plant modules 1112 by a plant model, e.g., for a current state of the plant.
  • a computer system may determine the target growth input by determining which growth inputs provide a predicted performance for the current state of the plant (using the plant model) that most closely matches a target performance (e.g., a minimum yield, minimum quality, target leaf color, target leaf size, and/or maximum plant height), possibly within constraints of energy usage of environment actuators or nutrient inputs.
  • the growth inputs may have been previously determined and stored in a memory storage device such that the computer system may retrieve the growth inputs from the memory storage device.
  • These target growth inputs may be positioned on a map corresponding to the positions of their respective simulated plant modules 1112.
  • FIG. 13 depicts a target input map 1300 depicting the target, growth inputs 1312 required for the target performance of the simulated plant modules 1112,1160.
  • the computer may the target growth inputs based on a plant model , In some embodiments, the target inputs may be an optimal growth input based on an optimal growth performance.
  • FIG. 13 depicts map 1300 showing only a temperature growth input. However, it is understood that the map 1300 is depicted as an example only and the growth inputs 1312 may include other growth inputs, such as humidity, light level, air flow 7 , or the like.
  • the simulated plant modules 1112,1160 may then be tested in various simulated grow' locations 1150 to determine a map that most closely aligns the target growth inputs 1312 and predicted growth inputs 1212 together. Each test may be performed with the simulated plant modules 11 12 in simulated grow locations 1 150 as one configuration. Tire computer system may test these different configurations simultaneously or sequentially (i.e., testing the simulated plant modules 1 112,1160 in a first configuration and then, after testing the first configuration, in a second configuration).
  • the computer system may test a plurality of simulated plants at the first set of grow locations in a first configuration for the specified period time. Each simulated plant may be associated with target growth inputs including target facility conditions. Testing may include determining a first score based on a first difference between the target growth inputs and the first set of predicted growth inputs.
  • the computer system may test the simulated plant modules 1 112, 1160 in a first configuration.
  • the computer system may also determine a difference score based on a first difference between the target growth inputs 1312 of the simulated plant modules 1112,1160 and the predicted growth inputs 1212 of the simulated grow' locations 1150 that the simulated plant modules 1112,1160 are positioned in.
  • the difference scores may be based on the difference in target temperatures as shown in the target input map 1300 and the predicted temperatures shown in the predicted input map 1200. However, the difference scores may additionally be based on other growth inputs not shown in the maps 1200,1300, such as humidity, air flow, and/or light level.
  • the location of the simulated plant modules 1 1 12,1 160 as shown in maps 1000,1 100,1200 may represent one configuration. In this configuration, the difference between the target growth input of the simulated plant module Al and the predicted growth input of the simulated growth area A l is depicted by the difference between the inputs 1212,1312 (i.e., 3° C).
  • the computer system determines the differences betw een each of the target growth inputs 1312 of all the simulated plant modules 1112 and the predicted growth inputs 1212 of all the simulated grow' locations 1 150.
  • the computer system may then assign a difference score for this configuration based on the sum total of the differences. For example, the difference score may be higher where the total difference is higher and the difference score may be lower where the total difference is lower. However, m other embodiments, the difference score may be higher where the total difference is lower and may be lower where the total difference is higher.
  • the computer system may test the plurality of simulated plants at the second set of grow locations in a second configuration by determining a second score based on a second difference between the target growth inputs and tire second set of predicted growth inputs.
  • the computer system may test the simulated plant modules 1112,1160 in a second configuration and determine a second score based on a second difference between the target growth inputs 1312 and the predicted growth inputs 1212, as described above.
  • the simulated plant modules 1112,1160 may be positioned in a different simulated grow location 1150 than their position in the simulated grow' locations 1 150 of every other configuration.
  • the computer system may test all configurations of the simulated plant modules 1 112,1160 within each of the simulated grow locations 1150 until all possible combination of positions have been tested.
  • the computer system may apply a weighted system in determining the difference scores.
  • tire computer system may weight certain growth inputs as having more of an impact on plant performance than others.
  • the difference in temperature may have a greater weight than the difference in humidity in determining the difference score as the difference m temperature may affect the performance of the simulated plant modules 1 1 12,1160 more than the difference in humidity.
  • the computer system may assign the simulated plants to grow' locations on the map according to the first or second configuration based on the first score and the second score, thereby determining a growth map. For example, after finding the difference score corresponding to the configuration having the lowest difference between the target and predicted growth inputs (e.g., the lowest difference score), the computer system may assign the simulated plant modules 1112,1160 to the simulated grow locations 1150 corresponding to that configuration in determining the growth map.
  • FIG, 14 depicts an exemplary growth map 1400 having simulated plant modules 1212,1460 (corresponding to the simulated plant modules 1 1 12,1 160) placed in simulated grow locations 14121450 according to the configuration the computer system tested as having the lowest difference score.
  • the computer system may assign the simulated plant modules 1112,1160 based on avoiding known growth inputs that would lead the plant modules 1012 to have a poor performance.
  • the computer system may consider the greenhouse score using the greenhouse model when determining the growth map (e.g., by minimizing the resource cost when testing configurations of tire simulated plant modules, as discussed below).
  • the computer system may determine which growth inputs to avoid, as discussed above. Where the target growth inputs correspond to a target performance for the simulated plants, the method may further comprise determining avoidance growth inputs to avoid.
  • the target performance may be determined by a plant model using the target growth inputs 1312 of the simulated plant modules 1112.
  • the simulated plants may be the simulated plant modules 1112, 1160.
  • Thi s includes determining a first predicted performance, using a plant model based on the first set of predicted growth inputs and the sensor measurements, for each of the simulated plants at the first set of grow' locations. This may include the predicted growth inputs 1312 corresponding to the simulated grow locations 1150.
  • Die computer system may determine a first performance score based on a first difference between the target performances and the first predicted performances.
  • the computer system may determine a second predicted performance, using the plant model based on the second set of predicted growth inputs and the sensor measurements, for each of the simulated plants at the second set of grow locations.
  • the second predicted performance may be based on the predicted growth inputs 1312 corresponding to the simulated grow locations 1 150.
  • the computer system may determine a second performance score based on a second performance between the target performances and the second predicted performances.
  • the computer system may determine the avoidance growth inputs based on the first and second performance scores. This may include growth inputs that change the predicted performance of the simulated plant modules 1 112,1160 to be further from the target performance relative to one or more other predicted performances. Assigning the simulated plants is additionally based on the avoidance growth inputs. As such, determining the growth map may be based on these avoidance growth inputs (e.g., by avoiding these growth inputs).
  • the plurality of grow locations include a plurality of current plant locations and the plurality of plants correspond to the plurality of simulated plants.
  • the grow locations 1050 depicted in the physical map 1000 may include the current locations of the plant modules 1012.
  • Testing the plurality of simulated plants in the first configuration includes determining a first distance score based on a first distance between the plurality' of current plant locations and the first set of grow locations and testing the plurality of simulated plants in the second configuration includes determining a second distance score based on a second distance between the plurality of current plant locations and the second set of grow locations.
  • testing the simulated plant modules 1 112, 1160 may include testing the distance between the current locations of the simulated plant modules 1112 that correspond to current locations of the plant modules 1012. Assigning the simulated plants on the map according to the first or second configurations may’ be additionally based on the first and second distance scores. In this manner, the computer may assign the simulated plants 1 1 12 to the growth rnap 1400 based on a distance score of each configuration that minimizes the distances required for relocation.
  • the plurality of simulated plants may include simulated plants that are not associated with the current plant locations.
  • this may the simulated plant module 1160.
  • the first and second set of predicted growth inputs includes growth inpu ts for gap grow' locations of the grow' locations that are not associated with the simulated plants corresponding to the current plant locations.
  • this may include growth inputs for the simulated grow' location El, as shown in FIG. 11.
  • groups of simulated plant modules 1012. may be grouped together by variety such that the areas of the facility occupied by each variety group of plant modules 1012 are directed to growing that particular variety.
  • testing the simulated plant modules 1112 may include testing the position of the simulated plant module 1112 of one variety group in an area directed to growing another variety group.
  • a simulated plant module 1112 from a strawberry group may be positioned in an area directed to growing letuce.
  • the growth map 1400 may include simulated plant modules 1212 of one variety group assigned to areas of the facility directed to another variety group.
  • [02021 Hie computer system may instruct a mover device to relocate the plants according to the growth map.
  • the computer system may instruct a mover device (e.g., the mover device 124) to relocate the plant modules 1012 to the grow locations 1050 according to the position of the simulated plant modules 1212 in the simulated grow locations 14121450 of the growth map 1400.
  • the computer system may additionally instruct a mover device to place a new plant module (e.g., a module of plant seedlings) corresponding to the new simulated module 1160 in the grow' location A2 corresponding to the new simulated module 1460 w ithin the simulated grow location A2 of the growth map 1400.
  • a new plant module e.g., a module of plant seedlings
  • the computer system may seek to reduce (e.g., minimize) the distance that the simulated plant modules 1 1 12 may have to travel from an initial current plant location (e.g., tire locations of the plant modules 1012 shown in the simulated map 1000). In this manner, w'hen testing the simulated plant modules 1112 in each configuration, the computer system may additionally determine a distance between the simulated grow locations 1150 (corresponding to the grow locations 1050) for each of the configurations. The computer system may then assign a distance score based on the sum total of the distances (e.g., a higher score for a higher total distance and a lower score for a lower total distance, or vice versa).
  • the computer system may account for the distance scores of each configuration when determining the growth map 1400. For example, where two configurations have difference scores that are close to each other, but one configuration has a much lower distance score than the other, the computer system may assign the simulated plant modules 1212 to the configuration with the lower distance score to prioritize reducing the amount of distance that relocation the plants 1012 may require.
  • the computer system may apply a weight to the distance and difference scores such that, when accounting tor both scores in determining the growth map, one of the distance and difference scores may be weighted more heavily than the oilier to signify the importance of that score. For example, the distance score may be weighted more heavily than the difference score to indicate that the distance score is a more important consideration than the different between target and predicted growth inputs.
  • the plurality of simulated plants may include a first plant module of corresponding to a first variety and a second plant module corresponding to of a second variety and testing the simulated plants in the first and second configurations includes determining the first and second scores by mixing the first and second plant modules.
  • the computer system may test the individual plants of each of the simulated plant modules 1112,1160 by switching one or more individual plants in one simulated plant module 1112, 1160 with the individual plants in another simulated plant module 1112, 1160.
  • the simulated plant modules 1112 may include target growth inputs specific to each simulated plant of the simulated plant modules 1 112.
  • the difference score determined by the computer system may additionally include a difference score based on the difference between the target growth inputs of each simulated plant and the predicted growth inputs 1212 of the simulated grow locations 1150 that the individual simulated plants are positioned in.
  • the resulting growth map 1400 may include individual simulated plants being positioned in plant modules with other plants of different varieties according to the configuration with the lowest difference score.
  • Tire computer system may then instruct a mover device to relocate the plant modules 1012 to the grow locations 1050 corresponding to the growth map 1400 as well as relocating individual plants wuthm each plant module 1012 to particular plant modules 1012 corresponding to the growth map.
  • the plant modules 1012 may no longer be specific to a particular variety but, instead, may have plants of multiple variety such that the plant modules 1012 may have a mix of varieties.
  • plant modules may be relocated according to a predicted performance of the plant modules.
  • the plant modules may be relocated where they are not predicted to satisfy a target performance.
  • the computer system may consider the greenhouse score using the greenhouse model when determining relocating the plant modules (e.g., by determining locations for relocation while minimizing the resource cost).
  • FIG. 15 depicts an example flowchart 1500 performed by a computer system for relocating a plant module when the plant module is underperforming.
  • the flow chart 1500 may be performed on the plant modules 1012 received on the physical map 1000, as shown in FIG. 10. The steps of the flowchart 1500 will be discussed further below.
  • the computer system may determine, using a plant model, a first predicted performance of a plant at a first location of a facility based on a first growth input associated with the first location.
  • Tire first growth input may include a predicted growth input at the first location, the predicted growth input including a predicted facility condition determined using a facility model. For example, this may include determining a predicted performance of the plant modules 1012 at the grow areas 1050. These predicted performances may be positioned on a map corresponding to their respective simulated grow locations 1050.
  • FIG, 16 depicts a predicted performance map 1600 having predicted performances 1612 corresponding to the plant modules 1012 of the physical map 1000.
  • the computer system may measure, using one or more plant sensors, current plant characteristics. These may include the most recent plant characteristics of the plant modules 1012. Determining the first predicted performance and the second predicted performance uses the current plant characteristics.
  • the computer system may determine the predicted performances 1612 of the plant module s 1012 based on at le ast one of sensor measurements or predicted growth inputs, including predicted facility' conditions from a facility model.
  • the predicted performances 1612 may be based on the predicted growth inputs 1312 of the predicted input map 1300.
  • the predicted performances 1612 depict only the predicted yield quantity (in pounds) of the plant modules 1012.
  • the predicted performances 1612 may additionally include any predicted plant characteristic.
  • the predicted performance map 1600 may be the plant characteristics for plant modules 1012 at any stage of growth. In some embodiments, the predicted performances 1612 may be for the plant characteristics of the plant modules 1012 at an intermediate stage of growth. In other embodiments, the predicted performances 1612 may be for the plant characteristics of the plant modules 1012 at a harvest time.
  • the predicted performance can be compared to a target performance for each of the plant modules 1012 to determine whether the plant modules 1012 should be moved.
  • the target performances may be positioned on a map corresponding to the positions of their respective plant modules 1012.
  • FIG. 17 depicts a target performance map 1700 having target performances 1712 corresponding to the plant modules 1012.
  • the target performances 1712 may be target performances set by a user or based on a prediction made by a plant model receiving target growth inputs (e.g., the target growth inputs 1212 depicted in the target input map 1200).
  • the target performances 1712 depict only the target yield quantity of the plant modules 1012.
  • the target performances 1712 may additionally include any target plant characteristic.
  • the target performances 1712 may be an optimal performance corresponding to the plant modules 1012.
  • the computer system may determine that the first predicted performance does not satisfy a target performance. For example, the computer system may compare the predicted performances 1612 to the target performances 1712 to determine whether the predicted performances 1612 satisfy the target performances 1712. In some embodiments, at least one of the predicted performances 1612 do not satisfy the target performance 1712.
  • the predicted performance B3 (corresponding to the plant module M55 in the grow 7 location B3 in physical map 1000) does not satisfy the target performance B3.
  • the predicted performance B3 200 pounds
  • the computer system may atempt to relocate the plant module M55 to another grow' location 1050 in order to have a predicted performance that is closer to the target performance B3 (i.e., closer to having a yield quantity of 500 pounds) than the predicted performance B3.
  • the computer system may determine a second growth input associated with a second location in the facility.
  • the second growth input may include one of a predicted growth input, a current facility condition, outside environmental measurement, and current setings of the environmental actuators.
  • the second growth input may include a predicted growth input at the second location, the predicted growth input including a predicted facility condition determined using a facility' model.
  • the computer system may select one of the predicted inputs 1312 at simulated grow locations 1 150 (corresponding to the grow locations 1050) as shown in the predicted input map 1300 as an input for a plant model.
  • Determining the second growth input includes determining, using a greenhouse model, that the second growth input is attainable at the second location by changing one or more environmental actuators of the facility.
  • the computer system may use the greenhouse model to determine that the second growth inputs are attainable (e.g., that changing to the predicted inputs 1312 would not be too costly).
  • the computer system may determine, using the plant model, a second predicted performance of the plant at the second location in the facility based on the second growth input.
  • the plant model may determine a predicted performance of the plant module M55 corresponding to that simulated grow location 1250.
  • the computer system may select the predicted input A5 at the simulated grow location A5.
  • the computer system may use the predicted input A5 as a growth input into a plant model to predict the performance of the plant module M55 at the grow location A5.
  • the plant model may predict that relocating the plant, module M55 to the grow location A5 would increase the yield of the plant module M55 to 400 pounds from the initial yield quantity of the plant module M55 of 200 pounds.
  • the computer system may determine whether this second predicted performance is closer to the target performance than the first predicted performance.
  • the computer system may determine, based on the simulation above, that the yield quantity of the plant module M55 at the grow location A5 is closer to the target performance of 500 pounds than the plant module M55 at its initial location of the grow location B3.
  • the second predicted performance satisfies the target performance.
  • the yield quantity of the plant module M55 at the grow location A5 may satisfy a target performance of 500 pounds.
  • the second predicted performance does not satisfy the target performance.
  • the yield quantity of the plant module M55 at the grow location A5 does not satisfy a target performance of 500 pounds.
  • the computer system may instruct a. mover device relocate the plant from the first location to the second location based on the second predicted performance being closer to the target performance than the first predicted performance.
  • the computer system may' instruct a mover device (e.g., the mover device 124) to relocate the plant module M55 from its current grow location B3 to the grow location A5.
  • the computer system may instruct the mover device to relocate the plant module when the predicted performance of the plant module exactly satisfies the target performance.
  • relocating the plant modules 1012 may include relocating the plant modules 1012 from one grow area directed to growing a group of plant modules 1012 of one variety to another grow area directed to growing a group of plant modules 1012 of another variety . In this manner, relocating the plant modules 1012 may include mixing plant modules 1012 within different variety' growing areas.
  • the computer system may select a predicted input 1312 corresponding to a grow location 1050 that already has a plant module 1012.
  • the computer system may account for the total difference between the predicted performances of all the plant modules 1012 from the initial location and the predicted performances of all the plant modules 1012 at a later location in determining whether to relocate the plant module 1012. For example, in determining a facility location to relocate the plant module M55, the computer system may select the simulated grow location (corresponding to the grow location B5) having the predicted growth input B5.
  • the computer may determine, using the plant model, that relocating the plant module M55 to the grow location B5 would increase the predicted performance of the plant module M55 from the initial yield quantity of the plant module M55 to a yield quantity of 500 pounds and satisfied the target performance of the plant module M55.
  • the computer system may' only instruct the mover device to relocate the plant module M55 if relocating the plant module M78 would not negatively offset the performance gains from relocating the plant module M55 (i.e., if relocating the plant module M78 would not decrease the predicted performance of the plant module M78 by more than 300 pounds relative to the current predicted performance of the plant module M78).
  • the computer system may determine, using a plant model based on the predicted inputs 1312, that there is no grow location 1050 that the plant module M78 may be moved to without decreasing the predicted performance of the plant module M78 by more than 300 pounds relative to its initial predicted performance. As this relative decrease in the predicted performance of the plant module M78 is greater than the relative increase in the predicted performance of the plant module M55, the computer system may not instruct the mover device to relocate the plant module M55 to the grow location B5. Instead, the computer system may continue seeking other grow locations 1050 for the plant module M55 or may instruct tire mover device to relocate the plant module M55 to the culling station, as discussed further below.
  • the computer system may determine that the plant module M78 may be moved to a different grow location 1050 without decreasing the overall predicted performance of the plant modules 810 (e.g., by using the greenhouse model). For example, the computer system may determine that relocating the plant module M78 to the grow location C5 would decrease the predicted performance of the plant module M78 by 100 pounds relative to its initial predicted performance. As there is a net gain of 200 pounds from relocating the plant module M55 to the grow location B5, the computer system may instruct the mover device to move the plant module M55 and plant module M78 accordingly.
  • the computer system may, in some embodiments, decide to relocate plants to a culling station for removal from the facility. For example, the below method steps mayreference the above first plant (e.g., plant module M55) and grow locations 1050 referenced above.
  • the computer system may determine using the plant model, a third predicted performance of a second plant at a third location of the facility based on a third growth input associated with the third location. For example, the computer system may determine the predicted performance of a performance for a different plant module of the plant modules 1012 that is not the plant module M55.
  • the computer system may determ ine that the third predicted performance does not satisfy the target performance.
  • the computer system may determine a fourth growth input associated with a fourth location in the facility.
  • This fourth growth input may be associated with one of the grow locations 1050.
  • the fourth growth input may include a predicted growth input at the fourth location, the predicted growth input including a predicted facility condition determined using the facility model. Additionally, determining the fourth growth input includes determining that the fourth growth input is attainable at the fourth location by changing one or more environmental actuators of the facility'. This may include using a greenhouse model to determine a resource cost to change to the fourth grow' input.
  • the computer system may determine using the plant model, a fourth predicted performance of the second plant at the fourth location in the facility based on the fourth growth input and determine that the fourth predicted performance is not closer to the target performance than the third predicted performance. For example, the computer system may determine that there is no predicted input 1312 corresponding to any grow locations 1050 that can be provided to the plant module M55 such that the predicted performance of the plant module M55 is closer to the target performance than the predicted performance of the plant module M55 at its initial location of the grow location B3.
  • the computer system may determine that all the other grow locations 1050 include predicted inputs 1312 that would result in the plant module M55 having a worse or same predicted performance as the predicted performance of the plant module M55 in its initial location of the grow location B3, Alternatively, the computer system may determine, using the facility model, that the plant module M55 requires a predicted growth input that is not feasibly attainable by changes in the facility’s environmental actuators.
  • the facility model can be used to determine the growth inputs cannot be attained, at least within specific constraints, e.g., energy usage of environmental actuators.
  • the computer system may instruct the mover device to relocate the second plant from the third location to a culling station. In such instances, the computer system may instruct the mover device to relocate the plant module M55 to a culling station (e.g., located in the processing bay 120). This may make room in the facility for other plants to occupy the grow location B3, such as new plants.
  • a similar method may be applied to multiple plant modules 1012 of a particular variety.
  • the computer system may determine that all strawberry plant modules 1012 in a given area or the facility are underperforming.
  • the computer system may additionally determine that either there are no other alternative grow locations 1050 having growth inputs for the straw berry plant modules 1012 that would lead to the strawberry' plant modules 1012 to have predicted performances that satisfy the target performance or that there is no growth input that is feasibly attainable to by the environmental actuators to provide such predicted performances.
  • the computer system may determine that all the strawberry plant modules 1012 of that given area or facility be culled, and for other plant modules to occupy the grow locations 1050 those strawberry plant modules 1012 previously occupied.
  • a computer system includes a single computer apparatus, where the subsystems can be the components of the computer apparatus.
  • a computer system can include multiple computer apparatuses, each being a subsystem, with internal components.
  • a computer system can include desktop and laptop computers, tablets, mobile phones and other mobile devices.
  • I/O controller 71 Peripherals and input/output (I/O) devices, which couple to I/O controller 71, can be connected to the computer system by any number of means known in the art such as input/output (170) port 77 (e.g., USB, FireWire®).
  • I/O port 77 or external interface 81 e.g., Ethernet, Wi-Fi, etc.
  • a wide area network such as the Internet, a mouse input device, or a scanner.
  • system bus 75 allows the central processor 73 to communicate with each subsystem and to control the execution of a plurality of instructions from system memory 72 or the storage device(s) 79 (e.g., a fixed disk, such as a hard drive, or optical disk), as well as the exchange of information between subsystems.
  • the system memory 72 and/or the storage device(s) 79 may embody a computer readable medium.
  • Another subsystem is a data collection device 85, such as a camera, microphone, accelerometer, and the like. Any of the data mentioned herein can be output from one component to another component and can be output to the user.
  • a computer system can include a plurality of the same components or subsystems, e.g., connected together by external interface 81, by an internal interface, or via removable storage devices that can be connected and removed from one component to another component.
  • computer systems, subsystem, or apparatuses can communicate over a network.
  • one computer can be considered a client and another computer a server, where each can be part of a same computer system.
  • a client and a server can each include multiple systems, subsystems, or components.
  • aspects of embodiments can be implemented in the form of control logic using hardware circuitry (e.g., an application specific integrated circuit or field programmable gate array) and/or using computer software stored in a memory' with a generally programmable processor in a modular or integrated manner, and thus a processor can include memory storing software instractions that configure hardware circuitry', as well as an FPGA with configuration instructions or an ASIC.
  • a processor can include a single-core processor, multi-core processor on a same integrated chip, or multiple processing units on a single circuit board or networked, as well as dedicated hardware. Based on the disclosure and teachings provided herein, a person of ordinary' skill in the art will know and appreciate other ways and/or methods to implement embodiments of the present disclosure using hardware and a combination of hardware and software.
  • Any of the software components or functions described in this application may be implemented as software code to be executed by a processor using any suitable computer language such as, for example, Java, C, C++, C#, Objective-C, Swift, or scripting language such as Perl or Python using, for example, conventional or object-oriented techniques.
  • the software code may be stored as a series of instructions or commands on a computer readable medium for storage and/or transmission.
  • a suitable non-transitory computer readable medium can include random access memory (RAM), a read only memory (ROM), a magnetic medium such as a hard-drive or a floppy disk, or an optical medium such as a compact disk (CD) or DVD (digital versatile disk) or Blu-ray disk, flash memory, and the like.
  • the computer readable medium may be any combination of such devices.
  • the order of operations may be re-arranged.
  • a process can be terminated when its operations are completed, but could have additional steps not included in a figure.
  • a process may correspond to a method, a function, a procedure, a subroutine, a subprogram, etc.
  • its termination may correspond to a return of the function to the calling function or the main function
  • Such programs may also be encoded and transmitted using carrier signals adapted for transmission via wired, optical, and/or wireless networks conforming to a variety of protocols, including the Internet.
  • a computer readable medium may be created using a data signal encoded with such programs.
  • Computer readable media encoded with the program code may be packaged with a compatible device or provided separately from other devices (e.g., via Internet download). Any such computer readable medium may reside on or within a single computer product (e.g., a hard drive, a CD, or an entire computer system), and may be present on or within different computer products within a system or network.
  • a computer system may include a monitor, printer, or other suitable display for providing any of the results mentioned herein to a user.
  • Any of the methods described herein may be totally or partially performed with a computer system including one or more processors, which can be configured to perform the steps. Any operations performed with a processor (e.g., aligning, determining, comparing, computing, calculating) may be performed in real-time.
  • the term “real-time” may refer to computing operations or processes that are completed within a certain time constraint.
  • the time constraint may be 1 minute, 1 hour, 1 day, or 7 days. In other embodiments, this may include operations or process completed as the same rate that data on which those operations or processes interact with are received.
  • embodiments can be directed to computer systems configured to perform the steps of any of the methods described herein, potentially with different components performing a respective step or a respective group of steps.
  • steps of methods herein can be performed at a same time or at different times or in a different order. Additionally, portions of these steps may be used with portions of other steps from other methods. Also, all or portions of a step may be optional. Additionally, any of the steps of any of the methods can be performed with modules, units, circuits, or other means of a system for performing these steps.

Abstract

A computer system may determine a. growth map of plant module placement that most closely matches target growth inputs for multiple plant modules based on the predicted growth input of the grow location, lire growth may be determined by testing simulated plant modules at various simulated locations to determine a score based, on a difference between the target growth input of those simulated plant modules and predicted growth inputs for the various simulated locations. The computer system may assign the grow locations according to those locations based, on the score to determine the growth map. In addition or alternatively, a plant may be relocated to a. new location based on improvement in the predicted growth performance for measured or predicted conditions at the new location.

Description

DISTRIBUTING PLANTS WITHIN AN AUTOMATED
AGRICULTURAL FACILITY
CROSS-REFERENCES TO RELATED APPLICATIONS
[0001] Hie present application claims priority from, and is a nonprovisional application of, U.S. Provisional Application No. 63/251,493, entitled “Method for Distributing Plants Within an Automated Agricultural Facility” filed October 1, 2021, the entire contents of which are herein incorporated by reference tor all purposes.
BACKGROUND
[0002] Global Warming is the long-term wanning of the planet’s overall temperature.
While this warming trend has been going on for a long time, scientists believe almost uniformly that its pace has increased in the last hundred years due to the burning of fossil fuels and other human-induced activities that generate gases which contribute to what scientists refer to as the “greenhouse effect”. Greenhouse gases form a layer in the upper atmosphere of the planet, that, is more transparent to visible radiation from the sun that to infrared radiation emitted from the planet’s surface. Thus, as the sun’s radiation warms the surface of the earth, the earth’s atmosphere prevents some of the heat from returning directly to space resulting in a warmer planet.
[0003] Climate change, which has resulted in changes in weather patterns and growing seasons around the world, is a direct result of global warming. The warming weather can generate extreme weather conditions, such as drought and fires in some areas, more frequent and stronger hurricanes in other areas, tornadoes, flooding and other extreme weather-related events across the globe. The changing weather patterns erm also result in adverse changes to our ecosystem. For example, milder winters can allow insects to survive in greater numbers in some areas and/or to emerge earlier in the spring putting additional pressure on trees and plants that can lead to die-off in some instances. As another example, warmer air and ocean temperatures can cause coral bleaching where corals lose their color and die potentially wiping out whole ecosystems that depend on the reefs for food and shelter. Thus, it is imperative that humans reduce, or even reverse, their impact on global warming by reducing their carbon footprint. [0004] Traditional farming techniques have a large impact on our overall carbon footprint. According to some studies, agriculture is the second-leading source of carbon dioxide (CO?.) emissions. For example, traditional farming relies on nitrogen fertilizers produced from manufacturing processes that generate a significant source of greenhouse gases. Crops typically use up only a portion of the nitrogen from fertilizers with the remainder getting broken down by microbes in the soil or finding their way via run off into waterways.
Additionally, most vegetable and fruit crops grown by traditional agriculture methods are far away from the ultimate location where they will be consumed. Not only does this require that the crops be trucked long distances, thus burning a lot of fossil fuel in the process, it can also require harvesting crops before they are actually ripe based on an estimated time to delivery lest crops be overly ripe and spoiled upon arrival. These and other factors combine to result in an undesirably high percentage of vegetables and fruit being not suitable for sale and being discarded.
[0005] Various efforts have been made to improve upon traditional fanning techniques. For example, some companies are growing fruits and vegetables locally, close to or within major population centers, using hydroponics and indoor vertical farming techniques. While these solutions may solve the transportation problem and reduce the amount of fertilizer required, indoor vertical farming is dependent on artificial LED lighting. Energy costs for such fanning can be very high, challenging profitability. Also, using fossil-fuel powered electricity undermines the potential environmental benefits of indoor vertical fanning. Thus, vertical indoor farming is not an ideal solution to the environmental challenges presented by traditional farming.
[0006] Accordingly, new and improved methods and techniques for growing high-quality fruits, vegetables, leafy greens, herbs, and other food in a sustainable, low-cost manner are desirabls
SUMMARY
[0007] According to some embodiments of the disclosure, a computer system may determine a growth map of plant module placement that most closely matches target growth inputs for multiple plant modules based on the predicted growth input of the grow locations. This growth map may be determined by testing simulated plant modules in various simulated grow' locations throughout the facility. Testing may include determining a score based on a difference between a target growth input associated with those simulated plants and predicted growth inputs for each of the simulated grow locations. Tire predicted growth inputs may be provided by a facility model trained to recognize patterns between current facility conditions, current outside environmental sensor measurements, current settings of environmental actuators, historical settings of environmental actuators, and forecasted outside environmen tal sensor measurements to predict facility conditions at a future time. The computer system may assign the grow locations to the configuration based on those scores to determine the growth map.
[0008] According to another embodiment, the computer system may a mover to relocate a plant such that the plant has a predicted performance closer to its target performance, The computer system may determine the predicted performance of the plant based on a growth input corresponding to the plant’s location. The plant’s performance may be predicted by a plant model trained to recognize patterns between growth inputs, and possibly plant states, to predict a plant performance at a future time. The computer system may determine that a first predicted performance of the plant at a first location (e.g., its initial location) does not satisfy a target performance, lire computer system may determine, using the plant model, a second growth input for a different location in the facility that would lead the plant to have a predicted performance closer to the target performance than the first predicted performance. The second growth input may be determined by inputting various growth inputs for various locations of the facility into a plant model and receiving various predicted performances corresponding to those various inputs. The computer system may identify a second predicted performance of those various predicted performances that is closer to the target performance than the first predicted performance and assign the growth inputs associated with the second predicted performance as the second growth input.
[0009] These and other embodiments of the disclosure are described in detail below. For example, other embodiments are directed to systems, devices, and computer readable media associated with methods described herein .
[0010] A better understanding of the nature and advantages of embodiments of the present disclosure may be gained with reference to the following detailed description and the accompanying drawings.
BRIEF DESCRIPTION OF THE DRAWINGS
[0011] FIG. 1 depicts an example facility, according to some embodiments. [0012] FIG. 2A depicts example plant modules and grow locations housed within the facility of FIG. 1.
[0013] FIG. 2B depicts an example mover device, according some embodiments.
[0014] FIG, 2C depicts an example robotic manipulator, according to some embodiments.
[0015] FIG. 3 depicts an example plant model training process, according to some embodiments.
[0016] FIG. 4 depicts an example plant record for use with the plant model training process of FIG. 4.
[0017] FIG. 5 depicts an example plant characteristic for use with the plant model training process of FIG. 4.
[0018] FIG. 6 depicts an example facility model training process, according to some embodiments.
[0019] FIG . 7 depicts an example resource cost model training process, according to some embodiments.
[0020] FIG. 8 depicts an example greenhouse model training process, according to some embodiments.
[0021] FIG. 9 depicts an example flowchart, according to some embodiments.
[0022] FIG. 10 depicts an example physical map of a facility, according to some embodiments.
[0023] FIG. 11 depicts an example simulated map including simulated plant modules and grow locations of the physical map of FIG. 10.
[0024] FIG. 12 depicts an example map of predicted growth inputs for the simulated plant modules of the simulated map of FIG. 11.
[0025] FIG. 13 depicts an example map of target growth inputs for the simulated grow areas of the simulated map of FIG. 11.
[0026] FIG. 14 depicts an example growth map, according to some embodiments.
[0027] FIG. 15 depicts an example flowchart, according to some embodiments. [0028] FIG. 16 depicts an example map of the predicted performance of the plant modules of the physical map of FIG. 10.
[0029] FIG. 17 depicts an example map of the target performance of the plant modules of the physical map of FIG. 10.
[0030] FIG . 18 shows a block diagram of an example computer system usable with systems and methods according to embodiments of the present disclosure.
TERMS
[0031] A “facility” may refer to a structure that houses and grows plants. Accordingly, “facility conditions” may refer to environmental conditions that affect properties of the facility e.g., a certain part of the facility), as may be measured by one or more environmental sensors within the facility. Additionally, “facility controls” may refer to a set of one or more controls that alter the facility conditions.
[0032] A “plant module” may refer to a growing unit defining an array of slots for housing plants.
[0033] A '"variety'' may refer to a particular variety of plants cultivated within the facility that share similar characteristics and growth requirements.
[0034] A “growth input” may refer to factors that contribute to plant growth (e.g. , facilityconditions, water profile, or the like). A “water profile” can correspond to an amount of water provided to a plant as wel l as the contents of the water, such as EC, pH, ORP, TOC, and nutrient concentration.
[0035] A “growth cycle” may refer to the growth of a variety from seed to maturity (e.g., a seedling stage, a sapling stage, a ripe stage ready for harvest). Accordingly, a “growth stage” may refer to any given stage along of a plant along its growth cycle.
[0036] A “harvest schedule” may refer to a predicted time for a plant to reach the various growth stages of the growth cycle until maturity. Accordingly, a “harvest lime” may refer to the time that a plant has reached maturity and is ready to harvest based on the harvest schedule.
[0037] A “plant characteristic” may refer to the characteristics of a plant, such as the yield quantity, size, height, shape, color, leaf density, target harvest time, or the like. A “plant state'’’ may refer to one or more plant characteristics, e.g., a current growth stage and/or performance associated with the plant at a given time. A “plant state” can include a classification determined from the plant characteristics.
[0038] A “performance” may refer to a quantitative or qualitative classification of plant characteristics of a plant, e.g., how closely the plant characteristics track a target set of plant characteristics of the plant at different growth stages of a growth cycle, which may be according to a harvest schedule. Target characteristics may come from external sources, e.g., customers or standards in the field, or from internal sources, e.g., historical results or a broader predictive model. For example, a broad predictive model may provide expectations for basil growth, and a specific predictive model can be ran on a specific basil plant (e.g., based on current plant state and current growth inputs), which predicts a performance relative to that broader model.
[0039] “Optimal performance” may refer to a plant that has plant characteristics corresponding to the predicted plant characteristics at a growth stage and/or according to a harvest schedule. Additionally, “sub-optimal performance” or “underperforming” may refer to a plant that has plant characteristics that do not correspond to the predicted plant characteristics of a growth stage and/or a harvest schedule.
[0040] A “moder may refer to software (e.g,, machine learning software) that provides a relationship between inputs and output(s). Examples of a model include unsupervised learning, supervised learning, reinforcement learning, and/or statistical techniques (e.g., regression analy sis, least square error analysis), which can be trained to recognize certain patterns. A “plant moder is a model trained to recognize patterns between growth inputs, and possibly plant states, to predict a plant performance at a future time, a plant performance at a future time. A “facility model” is a model trained to recognize paterns between current facility conditions, current outside environmental sensor measurements, current settings of environmental actuators, historical settings of environmental actuators, and forecasted outside environmental sensor measurements to predict facility conditions at a future time.
DETAILED DESCRIPTION
[0041] "Die present disclosure relates generally to the field of plant growth and harvesting in a facility- . In particular, the present disclosure relates to predicting a better or optimal location for a plant based on a plant model that uses growth inputs (which may be predicted growth inputs) to predict growth performance, so that performance is improved. The growth inputs may be predicted based on a facility model that predicts facility conditions in future periods. Some embodiments can use predicted facility conditions to optimize the locations of plants within a facility over time, which may result in further improved plant performance.
[0042] Predicting plant performance using a single plant model that assumes the same facility conditions throughout a facility would not identify improved locations. Further, using static facility conditions does not account for different changes at different locations, e.g., due to seasonal patterns or movement of the sun during the day. If those facility conditions change, the predicted plant performances would be rendered inaccurate.
[0043] For example, facility conditions may be affected by changes in the environmental conditions outside the facility (e.g., changing humidity or temperature outside the facility' may change the humidity or temperature within the facility). As these outside environmental conditions are likely to change over a long enough period of time, the facility’ conditions will also likely change. Therefore, the use of static facility conditions to predict plant performances will likely be inaccurate after some time, rendering the predicted plant performances inaccurate.
[0044] This inaccuracy may be particularly important when relocating plants in a facility. For example, plants may be moved from a first location in a facility to a second location when a system detects that the current growth inputs (e.g., temperature, humidity, light, or the like) at the first location would lead to a suboptimal performance (e.g., that the predicted yield of those plants is less than an optimal or target yield). Accordingly, failure to take into account these changing growth inputs may lead to an increased risk of moving plants to a location that worsens the plant’s performance or of moving plants from a location having growth inputs that later change to be optimal for the plants.
[0045] To account for temporal changes at different locations of a facility', some embodiments can predict facility conditions using a facility model. For example, the facility model may be determined by taking into account past environmental sensor measurements outside of the facility and past facility conditions to find patterns between the outside environmental sensor measurements (e.g,, temperature, humidity, rainfall, sunlight levels, etc.) and facility conditions (e.g., environmental sensor measurements within the facility).
The facility models may then predict facility' conditions at a later date based on measurements of at least one of current facility conditions, current outside environmental sensor measurements, and/or forecasted outside environmental sensor measurements. These predicted facility conditions can accurately represent facility conditions over a period of time and, when used as an input in a plant model, can accurately predict plant performances. This increased accuracy, in turn, allows for the plants to be more optimally positioned in a facility to optimize plant performance.
I. FACILITY OVERVIEW
[0046] The agricultural facility 100 may be a structure that houses plants for growth at various locations within tire facility and at various stages within tire plants’ harvest schedule. FIG. 1 is a schematic representation of the layout of an example of an agricultural facility7 100 in which some embodiments disclosed herein can be used. It is to be understood that the agricultural facility 100 is set forth herein for illustrative purposes only and that embodiments of the inventions disclosed herein may be used in agricultural facility 100 as w ell as many other types of agricultural facilities.
[0047] As shown m FIG. 1, the agricultural facility 100, which may include one or more greenhouses in which different portions of tire agricultural facility 100 reside, includes one or more growing blocks 1 10 along with one or more processing bays 120. The growing blocks 110 and processing bays 120 may be connected to each other, for example by hallways and/or common doors, so that plants, equipment, materials, personnel and other items may move between the growing blocks 110 and processing bays 120 efficiently and without exiting the agricultural facility 100. To enable automation in the growth and harvesting of plants within facility 100, in some embodiments, mover devices 124 (e.g., autonomous vehicles) may be provided that may be programmed or otherwise configured to autonomously move plants within agricultural facility 100 including moving plants within the various growing blocks 110, within the processing bays 120 and/or between the growing blocks 110 and the processing bays 120 without exiting the facility. Each mover device 124 may be an autonomous robot, such as described in U.S. Patent No, 10,813,295, entitled “System and Method for Automating Transfer of Plants Within an Agricultural Facility” and U.S. Patent No. 10,716,265 entitled “Method for Automatically Redistributing Plants Throughout an Agricultural Facility”, which are incorporated by reference herein in their entirety.
[004§] Generally, each processing bay 120 may include multiple stations (represented by various geometric shapes in FIG. 1 within the bays 120) in which various stages of tire harvest schedule occur. For example, a given processing bay 120 may include separate stations that seed, germinate, pot, harvest, and/or package plants. In some embodiments, each processing bay 120 may function as an autonomous assembly line in which the multiple stations are automated and connected by conveyors and/or an autonomous mover device 124. The multiple automated stations may cooperate to seed, germinate, pot, harvest, and package plants with minimal human intervention or without any need for a human laborer to handle the plants during those processes. The processing bay 120 may additionally include a culling station, where plants may be transferred to for culling. The processing bay 120 may further include a transfer station where plants may7 be transferred from one plant module 112 to another.
[0049] Plants may be automatically transported to the growing block 110 (e.g., by a mover device 124) after being initially propagated from a seed and planted to a seedling in a plant module 112 in one of the processing bays 120 (e.g., in a propagation system 122).
[0050] FIG, 2A depicts example plant modules 112 and grow locations 150 housed within the facility of FIG. 1 . In FIG. 2A, the growing blocks 1 10 may define grow locations 150 that are configured to receive a plant module 112. Each grow location 150 may be a designated location within the facility sized to receive a plant module 112. In this manner, the plant modules 1 12 may7 be relocated within the facility7 from one grow7 location 150 to another, or from one grow7 location to a different station within the facility. Additionally, the grow7 location 150 may be positioned adjacent facility sensors for sensor measurements regarding the grow location 150. In one example, the grow7 location 150 may7 be a six feet by six feet area, however, in other embodiments, the grow7 location 150 may be larger or smaller (e.g., a one-by-one foot area to a ten-by-ten feet area, or any oilier size to receive a plant module 112). Further, in other embodiments, the grow location 150 may not be rectangular in shape and may be circular, triangular, or the like.
[0051] Although FIG. 2A depicts the plant modules 112 as growing eight plants, in other embodiments, the plant module 1 12 may include any number of plants. Further, although FIG. 2 depicts a pair of sensors 160 monitoring grow locations 150 and plant modules 112, there may be any number of sensors 160 (e.g., only one sensor, three sensors, or the like). For example, rather than the pair of sensors 160 monitoring multiple grow locations 150 and plant modules 112, there may be one of more sensors 160 corresponding to each grow location 150.
[0052] In some embodiments, the plant modules 112 may7 include a set of hydroponic trays (or hydroponic tubes), each defining a (linear) array of plant, slots, wherein each plant, slot is configured to receive and retain one plant (or one cluster of multiple plants). A carriage or frame may support the set of hydroponic trays at an angle. A reservoir may be fluidly coupled to the set of hydroponic trays and configured to collect water flowing out of the hydroponic trays and a pump configured to cycle water from the reservoir back through the set of hydroponic trays. Tire plant module 112 can additionally or alternatively be configured to transiently connect to a water supply line and to a water return line in the facility, which can provide a supply of water and nutrients to plants in this plant module 112 at a particular frequency7 (e.g., a constant or intermittent supply).
[0053] In this embodiment, the plant module 112 can also include at least one of one optical fiducial at the front of each hydroponic tray, optical fiducials at the end of each hydroponic tray, one optical fiducial adjacent each plant slot along each hydroponic tray, optical fiducials at the corners of the plant modules 112, or the like.
[0054] In another embodiment, the plant modules 112 may also include an open tray configured to contain a standing volume of water and nutrients. A cover may be arranged over the open tray and including a set of perforations, wherein each perforation defines a plant slot configured to receive and retain one plant (or one cluster of plants). A stand may be configured to support, the tray off of the ground. For example, the lid can include: a rigid panel (e.g., nylon or aluminum sheet) defining an array (e.g., a linear grid array, a close-pack array) of plant slots; and floats extending across the underside of the rigid panel and exhibiting sufficient buoyancy and/or height to maintain an air gap between the top surface of water in the tray and the bottom surface of the lid w hen the array of plant slots in the lid are filled with plants, thereby maintaining exposure to air — and therefore oxygen — for upper root systems of these plants. Furthermore, in this example, because the lid floats on the water in the tray, the lid can ensure that roots of these plants remain in contac t with water in the tray despite changes to the water level in the tray.
[0055] Furthermore, in this implementation, the plant module 1 12 can include a set of optical fiducials arranged on the top surface of the lid and/or the tray and configured to indicate position, orientation, distance, ty pe, and/or unique identity of the plant module 112. For example, the plant module 112 can include at least one of a optical fiducial (e.g., a unique barcode or quick-response code) arranged at each of three or four comers on the lid, three (identical) colored dots (e.g., yellow for nursery stage, red for finishing stage) arranged at corners of the lid or tray, one optical fiducial adjacent each plant slot on the lid (e.g., a colored circle, square, or polygon of known geometry and dimension encircling each plant slot), or the like.
[0056] Alternatively, the plant module 112 can include an open tray with a fixed lid. For example, the tray and fixed lid can define geometries and features similar to those in the foregoing implementation but with the lid fixedly coupled to the rim of the tray, such as sealed against the rim of the tray to prevent water from splashing out of the tray when the plant module 1 12 is moved by the mover.
[0057] However, the plant module 112 can define any other structure or geometry and can define any other number or arrangement of plant slots.
[0058] FIG, 2B depicts an example mover device 124. The mover device 124 may be in communication with a computer system and configured to autonomously navigate the facility 100 and to move the plant modules 112. In particular, the mover device 124 can be configured to automatically navigate throughout the facility to a particular location under or near a plant module 112. The mover device 124 may couple to or lift the plant module 112 and navigate — with the plant module 112 — to another location within the facility, and to release (or “deposit”) the plant module 112 at that location. While moving historical other modules on its way to collecting a particular module for delivery, the mover can also collect optical and water profile sensor measurement from these other modules, as will be discussed below.
[0059] In one implementation, the mover device 124 may include a gantry or boom. To engage a plant module 112, the mover device 124 can navigate to and align itself to plant module 112, such as based on optical fiducials applied to the plant module 112. The mover device 124 may extend the boom into contact with the plant module 112 and trigger a latch on the boom to engage the plant module 1 12 and then retract the boom to lift the module. Alternatively, plant module 1 12 in the facility can include casters such that, the mover device 124 can navigate up to and align itself with the plant module 112, trigger a latch to engage the plant module 1 12, and then push or pull the plant module 112 — on its casters — to another location within the facility before releasing the latch to disengage the plant module 112.
[0060] For the mover device 124 that is configured to autonomously navigate over a plant module 1 12, the mover device 124 can also include a downward-facing optical sensor. As the mover device 124 approaches a plant module 112, the mover device 124 can detect an optical fiducial (e.g., located on the plant module 112) m the field of view of the downward-facing optical sensor. The mover device 124 may navigate toward the plant module 1 12 to locate this optical fiducial in a target position and/or orientation in the field of view' of the downward-facing optical sensor in order to align itself to the plant module 112 before triggering the boom or latch to engage the plant module 1 12. However, the mover device 124 can implement any other method or technique to engage and manipulate a plant module 1 12.
[0061] The mover device 124 may include sensors that collect optical sensor measurements from individual plants or groups of plants in a single module and to collect w ater profile sensor measurement from these modules a particular frequency, such as once per day or every other day. The mover device 124 may additionally collect, other sensor measurement, such as environmental sensor measurements (e.g., sensor measurements that directly affect the facility, such as local air temperature and humidity) as well as non-environmental sensor measurements (e.g., sensor measurements that do not directly affect tire facility, such as dissolved oxygen and water temperature).
[0062] The mover device 124 may move the plant module 112 to a location in the facility (e.g., a transfer station in the processing bay 120) to transfer plants from the plant module 1 12 to a different plant module 112. In some embodiments, the mover device 124 may act as a manipulator and transfer the plants by itself. However, in other embodiments, a manipulator (e.g., a robotic manipulator, as discussed below) may transfer the plants (e.g., from a high- density plant module to a low-density plant module, from one mover to another mover, or one location to another location, if the manipulator is large enough).
[0063 ] FIG. 2C depicts a robotic manipulator 130 that can transfer plants from one plant module 112a to another plant module 1 12b or one location to another. Tire robotic manipulator 130 may be in communication with a computer system to autonomously function. The robotic manipulator 130 may be a multi-link robot that is sufficiently mobile to reach each plant slot in a plant module 1 12 temporarily positioned adjacent the robotic manipulator 130. The robotic manipulator 130 may include an end effector configured to engage plant cups supporting plants in this plant module 112a and/or including an optical sensor (e.g., a multi-spectral camera, or a stereoscopic camera, etc.) configured to record plant-specific images of plants in these plant modules 112a, 112b and weight sensor (e.g., a strain gauge) to collect weight sensor measurements while transferring the plants.
[0064] The robotic manipulator 130 can be configured to collect optical, weight, and/or other sensor measurements from individual plants while moving plants between plant modules 112a, 112b. Tire robotic manipulator 130 may additionally work in tandem with the mover device 124. Specifically, the mover device 124 can arrange both plant modules 112a, 1 12b adjacent the robotic manipulator 130 in order to enable the robotic manipulator to navigate its end effector across both the full extent of plant slots for both plant modules 112a, 112b.
[0065] The growing blocks 110 may then function as longer-term holding bays for plants between the potting and harvest schedule stages. Each growing block 110 may be configured as an enclosed, environmentally-controlled section of the facility in which plants, after being transferred from the processing bay 120 at an intermediate stage of growth, are provided with nutrients and light that they require to mature until the harvesting stage. Thus, a given plant may spend the majority of their harvest schedule in one of the growing blocks 110.
[0066] In some embodiments, the growing blocks 1 10 may include controls and equipment to autonomously control growth input parameters (e.g., light levels, temperature, nutrients, etc.) at any location within the facility to grow the plants under various conditions. For example, the growing blocks 110 may include one or more environmental actuators to autonomously control facility conditions within the growing blocks 110, such as actuators to control shades for sun light and light for artificial lighting, humidifiers for humidity, heating, ventilation and air conditioning (“HVAC”) units for temperature and ai r flow, or the like. These actuators may be adjusted to achieve a desired facility condition (e.g., to achieve a certain temperature, humidity, air flow', or light level) for any location within the facility. For example, the actuators may adjust the facility conditions of each growing blocks 110 to have faci lity conditions that are optimal for the plant modules 112 corresponding to each of those growing blocks 1 10. In a yet further example, the actuators may adjust the facility conditions of each grow' location to have facility conditions that are optimal for the plant module 112 corresponding to each grow location.
[0067] The plants may be grown within growing blocks 110 in plant modules 112 that are distributed across the growing block 110 and separated by aisles 114 accessible by tire autonomous mover devices 124. The growing blocks 110 may define grow locations (such as grow location 150, shown in FIG. 2) configured to receive the plant modules 1 12. Tire plant modules 112 may be moved from one grow location to another, or to and from the processing bay 120. In this manner, as described further below, the plant modules 112 may be optimally relocated throughout the facility to increase plant yield and reduce resource waste. [0068] In some embodiments, the plant modules 112 are distributed throughout the growing block 110 in a horizontal arrangement so that the plants in each module have full access to natural light that enters the growing block through greenhouse windows around the sides and roof of the growing block. In some implementations, each plant module 1 12 may be a container that holds the plants and includes means of providing various growth inputs to the plants. For example, each plant module 112. may include multiple rafts that float or partially float on a bed of nutrient-rich water within the module. However, in other embodiments, the plant modules 1 12 may not include rafts (e.g., for fruit variety).
[0069] Each growing block 1 10 may also include, among other stations and/or equipment, a module imaging station 116 and a dosing station 118. The module imaging station 116 may be configured to scan whole plant modules 112 (or individual plants within each plant module 112), or individual rafts or trays within a plant module 112, in the growing block, w bile the dosing station 118 may be configured to add water and nutrients to modules in the growing block. The module imaging station 116 (or any other component of the facility with an optical sensor) may additionally scan individual features of the plants, such as the roots of the plant.
[0070] While agricultural facility 100 is depicted in FIG. 1 as including eight separate growing blocks 110 and two propagation bays 120, it is to be understood that this is for illustrative purposes only. In other embodiments facility 100 may include fewer or more than eight growing blocks 110 and may include few er or more than two propagation bays 120. Additionally, while agricultural facility is depicted with a growing block to propagation bay ratio of 4: 1, this ratio is also to be understood as serving illustrative purposes only and other embodiments may include ratios lower than or higher than 4: 1 ,
[0071] Further, instead of having a set of greenhouses defining primary operating areas within a facility, the combination of growing blocks 1 10 and processing bays 120 allow' the processing bays 120 to function as the primary operating area of agricultural facility 100 with growing blocks 110 acting as automated greenhouses and functioning as infeed, outfeed, and holding zones for product flowing through the propagation bays. For example, the agricultural facility may include one processing bay 120 and a set of growing blocks 110 arranged radially about the processing bay, each connected to the processing bay 120 by a path traversable by the autonomous mover device 124 to transfer plants between the processing bay and the growing block. [0072] Various sensors may be positioned throughout agricultural facility 100 to monitor all phases of and aspects of plant growth and facility conditions within the facility. These sensors may measure not just an intensity' of a particular environmental condition (e.g., a light level) but also a duration that environmental condition is provided (e.g., the number of hours that a light is provided, such as a photoperiod). Non-limiting examples of such sensors may include: water profile sensors (e.g., sensors that monitor water temperature, water level, dissolved oxygen, pH, and/or nutrient concentration), environmental sensors (e.g., sensors that monitor environmental air temperature, air flowy light, level, relative humidity, carbon dioxide levels, oxygen levels, and the like), pest sensors, weight sensors (e.g., a scale or strain gauge located on a module 112 or a mover device 124 that handles the plants within the modules 1 12), optical sensor (e.g., a multi -spectral camera, a stereoscopic camera, light detection and ranging (LIDAR) sensors, time of flight, or other depth sensors), among others. For example, the water profile sensors may include a pH sensor that outputs a signal representing pH of a water sample contained in the sample reservoir; an electrical conductivity sensor (e.g., including a pair electrodes) that outputs a signal representing nutrient concentration present in the water sample; a temperature sensor that outputs a signal corresponding to a temperature of the w ater; a turbidity sensor that outputs a signal representing suspended solids in the water sample; an oxygen-reduction potential (or “ORP”) sensor that outputs a signal representing a level of oxidation/reduction reactions occurring in the water sample; a chlorine residual sensor that outputs a signal representing total chlorine in the water sample; and/or a total organic carbon (or “TOC”) sensor that outputs a signal representing a carbon content of the water sample. Tire environmental sensors may include a temperature sensor that outputs temperature measurements of the air, optical sensors that outputs light level measurements (e.g., UV, infrared, near-infrared, or visible light level), humidity sensors that outputs humidity measurements, air flow sensors that outputs air flow measurements (e.g., air speed), air quality sensors that outputs measurements regarding the level of carbon dioxide or oxy gen in the air, and ground sensors that outputs soil measurements (e.g., how much moisture or water saturation there is in the soil).
|0073J The sensors may perform measurements once per unit time (e.g., per second, minute, 10 minutes, or hour) to provide near real-time sensor measurements. However, in other embodiments, the sensors may perform the sensor measurements at any frequency (e.g,, twice per minute, once per hour, or the like). In a yet further embodiment, each sensor may- each perform the sensor measurements at different frequencies than the other sensors. [0074] The sensors may be static and/or mobile. For example, static sensors may be fixed to a particular location within the facility to monitor the plant modules 110 and grow locations (e.g., at a transfer station). Mobile sensors may be affixed to a moving object within the facility, such as a mover device 124.
[0075] Data from the sensors may be collected, analyzed and used, in conjunction with the automated features of the agricultural facility, to ensure that each individual plant receives the optimal levels of sunshine, water, and nutrients. Additionally, the data that may be continually collected from the plants grown within tire facility may be used to constantly refine the growth and harvesting processes and improve both plant quality and quantity. For example, this data may be used to train various machine learning models to optimize plant performance, as discussed further below'.
IL TRAINED MODELS
[0076] Various models may be trained for use in the present disclosure. For example, a computer system may aggregate input data and output data and train a (e.g., using unsupervised learning, supervised learning, reinforcement learning techniques and/or other statistical techniques) to derive relationships between the input and output data. These relationships may be represented in a model (e.g., a plant model or a facility model) that predicts an outcome based on a given input data.
[0077] Examples of machine learning techniques include hidden Markov models, convolutional neural networks, polynomial regressions, and cluster analysis.
A. Plant model
[0078] One example of a trained model may include a plant model used to predict the performance and/or harvest schedule of a plant, such as the plant model. FIG. 3 depicts an example training model 300 for training a plant model 330 and FIGS. 4-5 depict example data used to train the plant model 330.
1. Training data
[0079] In FIG. 3, growth input data 310 and resulting plant characteristic data 320 may be used to train a plant model 330. One or more machine learning techniques may be applied to find relationships between the growth input data 310 and the plant characteristic data 320 to determine the plant model 330, [0080] The growth input data 310 may include at least one of environmental and non- environmental sensor measurements ofa plant module, or measuremen t(s) of both types to represent the exposure of various growth inputs to plants (e.g., peak exposure, minimum exposure, and cumulative exposure over time). For example, environmental sensor measurements may be collected by various sensors and provided to a computer system. For example, the computer system can interface with sensors arranged in the facility — such as a camera arranged overhead a grow area and temperature, humidity, light level (e.g., UV, infrared, near-infrared, or visible light level), and wind speed sensors arranged in select locations throughout the grow locations. In some implementations, the system (including computer and sensors) to collect relatively low-resolution optical sensor measurements (e.g., color photographic images) of a group of plant modules in the grow' area and environmental conditions nearby at relatively high frequency (e.g., once per minute). Such measurements can enable the computer system to monitor plant states (using measured plants characteristics) and environmental conditions of plants in these plant modules in near-realtime. Tire non-environmental sensor measurements may be provided by one or more sensors near a plant module, such as water level or water profile (e.g., electrical conductivity, pH, ORP. TOC and nutrient concentration).
[0081] Hie plant characteristic data 320 may include characteristics derived from an optical sensor measurement (e.g., color photographic images) taken by an optical sensor near the plant modules. This optical sensor measurement may be taken at a relatively high frequency to monitor high-level visual conditions of the plants in the plant modules in near-real-time.
As will be discussed further below, various computer vision techniques may be used to extract the plant characteristics from the optical sensor measurements.
[0082] The computer system can also interface with an autonomous mover (e.g., the mover device 12.4) that is configured to autonomously navigate to plant modules throughout the facility and to record plant module-specific sensor measurements of singular adjacent plant modules through a suite of integrated mobile sensors — such as a mobile camera and mobile temperature, humidity, light level, wind speed, water temperature, pH, and dissolved oxygen sensors. The computer system can collect moderate-resolution optical and environmental sensor measurements for all plants in one plant module at moderate frequency (e.g., once per day), thereby enabling the computer system to intermittently monitor visual and environmental conditions of multiple plants in a singular plant module (e.g., daily). [0083] Furthermore, the computer system can interface with a robotic manipulator (e.g., manipulator 130) and/or at a fixed location within the facility to collect weight sensor measurements and high-resolution optical sensor measurements of a singular plant extracted from a plant module when the mover delivers this plant module to the robotic manipulator. such as once per two-week interval.
[0084] The computer system can also selectively flag a subset of plants (e.g., one plant per ten plant modules) at harvest time for further testing, such as for nutrient composition or taste testing at an external facility or manual labeling of the plant’s visual appeal by a human grower. The computer system can thus interface with fixed infrastructure and mobile infrastructure to collect low- -re solution sensor measurements at high frequency, moderateresolution sensor measurements at moderate frequency, high-resolution sensor measurements at low- frequency, and select plant outcome sensor measurements on a limited basis.
[0085] The computer system can therefore monitor plants across groups of plant modules, sets of plants in singular plant modules, and singular plants growing within a facility — containing thousands or millions of plants in various stages of growth at any instant in time — based on sensor measurements collected by limited fixed and mobile infrastructure deployed within the facility, thereby balancing reaction times to complications, value of individual plants at various stages of growth, cost of infrastructure, and cost of third-party plant testing.
[0086] Growth input data 310 and resulting plant characteristic data 320 (output labels) can comprise training data that is used to tram plant model 330 to predict plant characteristics (e.g., growth performance) for a given set of growth input data, which may vary over time.
Thus, a time series of growth input data can be fed into the plant model, thereby providing a final growth performance, such as growth stage, yield, etc., or intermediate predicted measures of growth.
|0087] FIGS. 4-5 depict an example set of growth inputs and plant characteristics for plant module for use m training the plant model 330. FIG. 4 depicts an example growth input record 400. The growth input record 400 may represent various growth inputs for the plant module 88677 taken at a time of 14:51 :20. The plant record 400 may be used as one growth input data point in training a plant model. The plant record 400 may include, for example, tire facility conditions measured near the plant module 88677, such as temperature, air flow, and light level. Non-environmental sensor measurements may include water temperature, water nutrients, and water pH. Although not shown, the plant record 400 may include more or less growth inputs, such as including humidity for a facility condition. These sensor measurements may represent the sensor measurements most recently taken by sensors within the facility at 14:51 :20.
[0088] FIG. 5 depicts an example image 510 and characteristics record 520 derived from the image 410. The image 510 may be an image of a plant housed within the plant module 88677 taken at a certain time (e.g., at or around 14:51 :20, the time the growth input record 300 was stored) from an optical sensor positioned on the facility, mover device, or robotic manipulator. The image 510 may be taken at an intermediate growth stage, however, in other embodiments the image 510 may be taken at any stage of the harvest schedule.
[0089] The training data may also include data for a current state of the plant (e.g., the plant characteristics corresponding to the plant at a given time). For example, the characteristics record 520 corresponds to the image 510 taken at 14:51 :20. As such, the characteristics record 520 corresponds to state of the plant of the plant module 88677 at 14:51:20. Hus may represent the current state of the plant if, for example, the image 510 is the most recent image of the plant.
[0090] Different plants will perform differently to different growth inputs depending on an state of the plant (e.g., a current state of the plant). As such, different models can exist for different states. An state can be measured using one or more plants sensors. A certain number of states can exist. In one example, the state of a plant can include classifications of the plant being at different growth stages and/or levels of performing (e.g., underperforming, standard performance, or over performing) for a given growth stage. As such, the classifiers of the plant states may be provided as data to train the plant model 330 such that there is a different plant model 330 for each state of a particular plant variety. However, in other examples, the plant model 330 may be trained with the plant characteristics defining the plant states, rather than a classifier.
[0091] To gather the training data for the plants at various states, different plants at different initial states can be provided different growth inputs. Then, the performance of each plant can be monitored using plant sensors, e.g., optical sensors that can determine a characteristic of each plant (e.g., size of the plant and total amount of individual crop units for the plant), as well as color, which can relate to taste and plant health. As will be discussed further below, the size can be determined using object recognition software, e.g., trained to identify individual crop units (e.g., berry, tomato, squash, etc.) and determine size based on calibrated distance and image resolution. Tire color can be determined based on a color image using a color camera. A predetermined number of color states can be used. And a predetermined number of size states can be used. The same plant sensors can be used to monitor the plant, over time so that an actual performance (e.g., accumulated size at one or more times or difference of measured color from optimal color) can be determined, where such actual performance is used in the training data. The resolution of the image 510 may correspond to the optical sensor used to capture the image 510. For example, the image 510 may be a low-resolution image collected by a fixed optical sensor positioned along the facility, a moderate-resolution image collected by' an optical sensor positioned on the mover device, or a high-resolution image collected by tin optical sensor positioned on a robotic manipulator. In other embodiments, any optical sensor within the facility may collect any resolution for the image 510.
J0093] Further, the image 510 may be one of multiple images collected by the optical sensor at various frequencies. For example, a low-resolution image 510 may be collected at a high frequency, a moderate-resolution image 510 may be collected at a moderate frequency, and a high-resolution image may be collected at a low frequency. However, in other embodiments, the image 510 may be collected at any frequency without regard to the resolution of the image 510,
[0094] The characteristics record 520 may include various plant characteristics, such as a yield quantity, yield volume, yield mass, staging days, pest resistance, disease resistance, canopy density/coverage, leaf attributes (e.g., leaf density, size, shape, color, visual appeal, etc.) overall plant attributes (e.g., overall plant height, size, shape, color, visual appeal, etc.), stem/petiole attributes (e.g., lengths, thickness, counts, color, etc.), uniformity7, anomalies (e.g., signs of browning, nutrient deficiency, or other anomalies), disease and pest presence, and visual appeal based on the image 510. For example, the color input to the plant module may include a comparison of color of the leaves, stem, and roots. Additionally, the color input may include average color, standard deviation of color, ratios between different color channels, or the like. Similar types of inputs may be provided for the leaf attribute (e.g., leaf size), overall plant, attribute (e.g., plant height), or any other of the types of plant characteristics noted above.
[0095] In some embodiments, the characteristics record 520 may additionally or alternatively include data computed via manually-derived heuristics or via a machine learning model based on training data. In other embodiments, one or more computer vision techniques may be implemented on the image 510 to derive the plant characteristics (e.g., detecting a ratio of green pixels to other pixels to determine a visual appeal or detecting dark pixels to determine the presence of pests). Although the plant characteristic extraction methods discussed below are directed to plant-level images (e.g., the image 510), in other embodiments, similar methods may be applied for module-level images (e.g., an image including all the plants in the plant module 88677). For example, the plant characteristics derived for a module-level image may include an average of all the plant characteristics determined for each plant-level image of the module. Alternatively, the plant characteristics derived for a module -level image may include an image including all the plants in the module using the below' methods.
[0096] For example, to determine a size of a plant (e.g., width, diameter, or the like), a computer system may implement edge detection or blob detection to identify a perimeter of the plant in the image 510 and count a number of pixels in the image 510 that exceed a threshold intensify or brightness in a particular color channel (e.g., green). Additionally or alternatively, the computer system may determine a size of the plant by identifying a cluster of pixels “likely to represent plant matter’ (e.g., a cluster of green pixels exceeding a threshold intensity or brightness in the green color channel in the image) radiating from the approximate center of the first plant slot located in the image 510 and associating this cluster of pixels with a plant. The computer system may estimate a size of the first plant based on a size and geometry of this cluster of pixels. The computer system may determine a center of the plant slot by identifying an optical fiducial (e.g., a unique barcode or quick-response code) in the image 510 and aligning a preexisting layout of a plant slot to that optical fiducial. In other embodiments, the computer system may use depth sensor for three-dimensional size measurements of the plant. In a yet further embodiment, color calibration can be performed on certain colors (e.g., green) based on a known color m the area.
[0097] In another example, to determine a health of a. plant, the computer system may implement a color classifier to classify a likelihood that pixels in the image 510 that are likely to represent plant matter (e.g., classifying one or more shades of green as being likely' to represent plant matter). Tire computer system may then count the number of pixels in the image 510 based on that classification and compare this count to the total pixel count to determine a proportion of foliage or leaf cover in the image 510, which may be indicative of a plant’s health. The computer system may implement a color classifier as discussed above for each color hi the image 510 such that the computer system merges classifications for corresponding pixels in each color channel, counts a number of pixels in a composite color space that are “likely to represent plant matter,” and identifies clusters of pixels “likely to represent plant matter.”
[0098] The computer system may also detenu me a health of the plant based on a total leaf area of the plant. Tire total leaf area may be based on a quantity of green pixels (or a quantity of pixels likely to represent plant matter) in the image 510. For example, the computer system may access a scalar value based on a known offset from the optical sensor (e.g., a camera) to the plant slot containing the plant when the high-resolution image of the plant was recorded and then multiply the quantity of green pixels in the image by this scalar value to estimate a total leaf area of the plant. The computer system can then calculate a foliage density of the plant based on a ratio of this leaf area to the estimated size of the plant described above, which may correlate to health or viability of the plant.
[0099] Conversely, the computer system may identify portions of tire image 510 that indicate the plant is unhealthy based on the proportion of other colors around the colors indicated as likely to represent plant matter (e.g., the green colors). In one example, the computer system may implement template matching or object recognition techniques to identify leaves (e.g., the green colors classified as likely to represent plant matter) in the cluster of pixels associated with the first plant in the module-level image, such as based on template images or models of leaves of plants of the same type and at a similar growth stage as the plant in tire image 510. The computer system can then correlate light-colored (e.g., light yellow, light tan, light brown) regions around perimeters of these leaves with unhealthy traits (e.g., nutrient deficiency, chemical burns, over- or under-exposure to temperature, humidity, or tire like). The computer system can also correlate darker-colored (e.g., dark y ellow, dark brown, or black) regions with other unhealthy traits, such as disease or pest damage (e.g,, caused by fungi, bacteria, and insects, such as nematodes, thrips, aphids, flies, moths, or caterpillars or the like). Examples of such darker regions may include, leaf spot, scars, chewed leaves, dieback, distortion, mines, holes, or other like. Based on the proportion of these light- or dark-colored regions to the leaves, the computer system may estimate the amount and degree of the unhealthy trait(s).
[0100] In particular, the computer system may identify dark-colored (e.g., dark yellow, dark brown, or black) round or lozenge-shaped spots (e.g,, spots between a minimum and maximum dimension or area) on the portions identified as “likely to present plant matter” within the image 510. The computer system may count the number of such spots and flag this plant as infected by a pest and/or having a disease if the final value of this counter exceeds a threshold value. The system can implement similar methods and techniques to detect parasites (e.g., chiggers, ticks, nematodes, or mites) and/or gastropods (e.g., slugs) on leafy regions of plants shown in the image.
[0101] In another example, the system scans the image for dark, discolored leaf regions that may indicate a thrip infestation. In this exampie, if the system detects any such dark, discolored leaf region in the image of a plant or calculates that a proportion of the leaf area in the plant is so discolored, the system can flag the plant as infected by such a pest. However, the system can implement any other methods or techniques to detect pests directly or to infer the presence of pests in plants in the first module from color data, three-dimensional geometry data, and multispectral data contained in one or a sequence of images of the first module.
[0102] Further, the computer system may determine the presence of pests based on a perceived movement of those spots over a sequence of images. For example, the image 510 may be one image of a sequence of images taken over a period of time (e.g., over a five second period). The computer system may repeat the foregoing methods and techniques to identify such spots in each image in this sequence, implement object tracking techniques to track motion of these spots across these images, confirm that these spots represent insects if these spots are determined to have moved throughout this sequence of images, and then flag the plant as infected by this accordingly.
[0103] In other embodiments, the computer system can implement any other method or technique to estimate the plant characteristics of the plant. Furthermore, the computer system can extract, characterize, and/or label any other singular features or multi-dimensional feature sets from an image of a plant and write these data to the characteristics record 520.
[0104] However, in other embodiments, the characteristic records 520 may include plant characteristics not associated with the image 510, such as the weight of one or more plants in the plant module 520. Additionally, the characteristics records 520 may include information stored regarding the plant module, such as the seed type of the plants in the plant modules. Although not shown, the image 510 may include the images of all the other plants within the plant module 88677 such that the characteristics record 520 may represent the plant characteristics of the plant module 88677.
[0105] Turning back to FIG. 3, the data stored in the records 400,520 may be used as one data point to train the plant model 330. In particular, the growth inputs stored in the plant record 400 may be used as the growth input data 310 for training the plant model 330. The plant characteristics stored in the characteristics record 520 may be used as one data point of the plant characteristic data 320 for training the plant model 330. The plant record 400 maybe one of a larger set of plant records used as growth input data 310, and the characteristic record 52.0 may be one of a larger set of characteristic records used as plant characteristic data 320, to train the plant model 330. Each of the data provided to the plant model 330 maybe time-stamped so that patterns between the data may be determined over a timeseries.
[0106] Various machine learning and statistical techniques, as described above, may be implemented to determine paterns between the growth inputs in the growth input record 400 and the plant characteristics in the characteristics record 520. For example, the techniques may determine a pattern between a certain temperature and a certain size of the plant. During training, the techniques may additionally account for how the adjustment of one growth input affects another (e.g., how- changing the air or water temperature may change the nutrient profile of the water).
|0107] Training the plant model 330 may include using data related to the costs associated with the growth inputs. Such costs may include, for example, the financial costs, energycosts, and/or costs related to the wear and tear associated with various facility components. Even further, training the plant model 330 may include using data related to the sales price of the plant at various levels of plant characteristics.
Figure imgf000026_0001
Training
[0108] The plant model can be trained using a variety of different optimization techniques to optimize a loss function so that the plant model output closely tracks the actual measured plant characteristics of the training set. Such optimization techniques can include gradient descent, backpropagation, conjugate gradient, other gradient techniques, or hessian techniques, such as Newton methods. Tire loss function can be a difference of one or more of the actual measured plant characteristics and the predicted plant characteristics at one or more points in time. [0109] Examples of the plant characteristics include those discussed above for characteristics record 520. For example, this may include a yield, a color, an average size of crop units (e.g., size of berries or tomatoes), and a target harvest time. Each predicted characteristic can be compared to a corresponding measured characteristic and the differences can be summed, which may include a weighted sum.
[0110] Training the plant model 330 may include using various techniques, such as unsupervised learning, supervised learning, reinforcement learning techniques, and/or statistical techniques, to find patterns between how the growth inputs of the growth input data 310 affects the plant characteristics of the plant characteristic data 320 as the plants grow from one stage to another. Training the plant model 330 may include using regression techniques to determine the strength of patterns between the data 310,320 and plant states. For example, this may include correlating how a given plant state may affect a given outcome (e.g., a correlation between a leaf color at an intermediate growth stage with plant performance, such as at least one of a leaf color at a harvest time, a predicted harvest time, and plant yield). In another example, this may include determining how changing certain growth inputs may affect the plant characteristics over time for a given plant state(e,g., determining how increasing the temperature to 30 ° C over a period of time provides a different yield or growth speed of a plant module compared to the yield or growth speed with the previous temperature). In another example, the training may determine patterns between the impacts of changing growth inputs for a first plant module on the plant characteristics of a second, adjacent plant module (e.g., determining how decreasing the humidity for a strawberry variety may affect an adjacent blueberry'- variety that has different humidity requirements than the strawberry variety). Thus, the plant model can be used for a plant module as opposed to on individual plants.
[0111] The plant model 330 may also be trained to recognize whether a plant module is particularly sensitive to a growth input. For example, the plant model 330 may recognize that the lettuce varieties in their third and fourth week of growth have an acceptable temperature range of 20-22 ° C for the lettuce variety to reach its optimal growth. The plant model 330 may recognize this sensitivity based on determining correlations of grow th input data 310 outside of that acceptable temperature range for lettuce varieties in their third and fourth week of growth and poor performance of those lettuce varieties. As described later, the computer system may place plant modules of these sensitive varieties within grow locations that reduce growth input variance (e.g., through predicted growth inputs). Conversely, the plant model 330 may recognize varieties that are not particularly sensitive to growth inputs at various stages of their growth.
[0112] The plant model 330 may be trained to determine a target harvest window. For example, the plant model 330 may recognize a range of times (e.g., three to five days) at which the plant module may be harvested to have near-optimal performance (e.g.. a yield within 5% of an optimal weight or quantity). In this example, the computer system may use the plant model to predict different growth performance outputs based on different plant characteristics at various stages of plant growth. Based on those different growth performance outputs, the plant model may predict an optimal growth performance at a harvest time (and other growth performances) within an acceptable margin of those growth optimal growth performance at other harvest times. The computer system may then label those other harvest times as a target harvest window.
[0113] The plant model 330 may be trained to provide a weight for each growth input corresponding to how each input impacts each type of plant performance, for a given variety' and state. For example, the plant model 330 may’ be trained to recognize how much temperature affects the growth of strawberries at a given state compared to humidity.
Depending on which type of growth input affects the strawberries’ plant performance the most, the plant model 330 may be trained to assign a weight to that type of growth input as a part of a weighted function for all growth inputs. Tire computer system may additionally be trained in a similar manner regarding the changes in predicted performance based on holding the growth input for a period of time (e.g., a change in temperature over a week).
[0114] Tire plant model 330 may be trained to recognize patterns corresponding to the changes between various growth inputs and between various types of predicted performances (e.g., each of yield quantity’, size, shape, harvest time) compared to changes in other, different types of predicted performance for a particular plant variety and state. For example, the computer system may determine that, for a strawberry plant module having a particular set of plant characteristics, a change in 5 ° C leads to a predicted increase in harvest yield of 2 pounds and a decrease in harvest time of 10 days. Accordingly, the plant model 330 may be trained to recognize how growth inputs affect each type of plant performance.
[0115] The plant model 330 may additionally be trained to predict a confidence that a plant module will achieve a given predicted performance. For example, the plant model 330 may compare historical plant performance predictions with historical measured plant performances to determine how likely providing a growth input to a plant module at a particular state and variety will result in a particular performance. Accordingly, the plant model 330 may provide a confidence that a plant module will achieve the predicted performance.
[0116] In some embodiments, the plant model 330 may be associated with one specific variety. For example, there may be a specific plant model trained to predict the performance for lettuce plants and another plant model trained for strawberry varieties, and so on. These specific plant models may be incorporated into a broader plant model for sections of the facility. For example, there may be a broader plant model trained to predict the performance for all plant modules within a growing block of the facility. This broader plant model may be based on the plant models specific to each variety corresponding to each of the plant modules in that growing block. In a yet further alternative embodiments, the broader plant model may be trained to predict the performance of all plant modules in the entire facility.
[0117] The plant model may include additional performance metrics than those described above. For example, the plant model may be trained to recognize predicted changes in one or more plant performances, e.g., yield and quality (as may be determined by shape and color). Multiple plant performance values can be combined (e.g., in a weighted sum) to provide a total performance (e.g., as a score). The performance can be measured against a target performance (e.g., how closely the predicted performance aligns with, or deviates from, the target performance) for a given change in growth input (e.g., a change in harvest time that more closely aligns with a target harvest time).
[0118] To provide this output, the plant model 330 may be trained to have a weighting system for each growth input. In this manner, the plant model 330 may be trained to recognize how impactful each growth input may be on the performance of a given plant at of a given state and variety.
3. Model uses
[0119] Once the plant model 330 is trained, the plant model 330 may be implemented to predict a plant performance for a variety' at a given growth stage given a certain set of growth inputs. For example, given one or more growth inputs for a lettuce variety that was just planted (i.e., at the lettuce variety's seedling stage) as an input to the plant model 330 for a current state of the lettuce (e.g., the current plant characteristics of tire lettuce), the plant
7 model 330 may predict that the lettuce variety will have a certain harvest schedule (i.e., reach certain growth stages at certain times) and to have certain plant characteristics (e.g., yield quantify, size, height, shape, color, and/or leaf density) at each of those growth stages. These growth inputs may include a facility condition (e.g., a certain temperature, humidity, light, level, and/or air flow) and/or one or more non-environmental sensor measurements (water level and water profile).
[0120] The plant model 330 can be used to further explore optimal inputs, e.g., for a given state of a plant. In particular, the plant model 330 may be used to explore the growth inputs that best achieve a target growth criteria (or a target growth performance), such as a minimum yield, minimum quality, target leaf color, target leaf size, and/or maximum plant height. For example, different growth inputs can be input to plant model 330 to obtain different predicted growth performance outputs. Such a growth input space can be explored in various ways, e.g., by accepting any set of inputs that improve the output. While exploring this input space, a computer system may reiteratively compare those predicted growth performance outputs to the target growth performances to determine predicted performance outputs that most closely matches the target growth criteria.
[0121] In some implementations for determining optimal growth inputs (e.g., using a greenhouse model), with each iteration, the computer system can accept a new growth input when the difference between the predicted growth performance and the target growth performance decreases. Additionally, for each iteration, the computer system may reject each growth input that increases the difference between the predicted growth performance and the target growth performance. In this manner, a loss function defining the difference can be minimized. Various solutions can be obtained (e.g., by choosing different starting points, as may be done using simulated annealing, Monte Carlo techniques, or other random selection techniques), and the most cost-effective solution (e.g., as determined using a cost function that depends on the growth inputs) can be selected.
[0122] As another example, a reinforcement learning model can be trained to provide one or more sets of growth inputs that satisfy one or more target growth criteria. Such growth inputs can be identified as target growth inputs. The training can involve similar operation as the optimization described above, with the determination of whether the loss function decreases for a given change in the growth inputs being provided to the reinforcement learning model. Thus, the plant model can be used to provide a training set to the reinforcement learning model, which can output growth inputs to try in the plant model to identify growth inputs that satisfy the target performance. This training can enable the reinforcement learning model to predict better changes for future use cases, potentially for plants in various plant states (i.e., having different plant characteristics).
[0123] Conversely, the plant model 330 may be used to explore ranges of growth inputs (e.g., the ranges or values of growth inputs) to avoid for each plant state. In particular, the plant model 330 may be used to explore the growth inputs that would lead to a plant performance that has poor performance (or avoidance plant performances), such as having plant characteristics that prevent the sale or use of the plants at the time of harvest. In this example, the computer system may use the plant model to predict different growth performance outputs based on different growth inputs. The computer system may then compare those different predicted growth performance outputs with the avoidance plant performances to find the predicted growth performance outputs that fall within the avoidance plant performances to avoid. The computer system may then label the growth inputs that led to those predicted growth performance outputs as avoidance growth inputs.
[0124] Tire plant model 330 may additionally be used to determine a plant state that cannot be salvaged. For example, the plant model 330 may be used to explore plant states of a plant that cannot have a predicted performance satisfying one or more target criteria no matter what growth input is provided (e.g., there is no available growth input that can be provided to the plant such that the plant’s predicted performance satisfies the target criteria). In this example, the computer system may use the plant model to predict different growth performance outputs based on different plant characteristics at various stages of plant growth. The computer system may then compare those different predicted growth performance outputs with the target growth criteria to determine those plant characteristics at each stage of growth (i.e., those plant states) winch cannot have a predicted performance satisfying one or more target growth criteria by harvest time regardless of the growth input. The computer system may then label the state having these plant characteristics as being unsalvageable.
[0125] Such uses of the plant model can be performed in a greenhouse model, e.g., as described herein. B. Facility model
[0126] Another example of a trained model may include a facility model used to predict facility conditions. FIG. 6 depicts an example training process 600 for training a facility model 530. In particular, one or more machine learning techniques may be applied to find relationships between environmental data records (e.g., historical facility condition data 610 and historical outside environmental data 620) to determine the facility model 530.
1. Training data
[0127] "Die historical facility condition data 610 may be facility conditions from previous environmental sensor measurements performed by sensors within the facility (e.g., historical sensor measurements of air flow, humidity, temperature, and/or light levels). Historical facility condition data 610 may be collected by various sensors and provided to a computer system. For example, as discussed above, the computer system can interface with fixed sensors arranged in the facility in select locations throughout the facility (e.g., fixed temperature, humidity, light level, and air flow' sensors). These sensors may perform sensor measurements at a relatively high frequency (e.g., once per minute), thereby enabling the computer system to monitor facility conditions in near-real-time. Further, as discussed above tor the plant model, one or more of the mover devices and robotic manipulators may include sensors that provide historical facility conditions as historical facility condition data 610.
[0128] This historical facility' condition data 610 regarding the historical facility' conditions may be associated with any area within the facility. For example, this data may be localized to a particular grow location within the facility (e.g., grow location 150). In another example, the data may be localized to multiple grow locations within the facility’ (e.g,, a growing block 110). In a yet further example, the data may be generalized to the entire agricultural facility. In tins manner, the facility model 630 may be trained for any size of area of the facility.
[0129] Tire historical outside environmental data 620 may include historical environmental sensor measurements outside the facility. Examples of outside environmental sensor measurements may include temperature, light level, photoperiod, humidity, wind speed and direction, rain fall, air quality (e.g., carbon dioxide levels), or the like. The historical environmental sensor measurements may be one or more of sensor measurements performed by sensors outside the facility and/or historical weather reports reporting the environmental sensor measurements of the area around the facility. The historical weather reports may include weather reports within a certain distance from the facility (e.g., one mile, five miles, twenty miles, or the like). Alternatively, the historical weather reports may include weather reports of the district, county, township, or state the facility resides within or adjacent to.
[0130] In addition, settings of environmental actuators (e.g., HVAC units, humidifiers, etc.) can be included in the training data. The environmental actuators settings may include, at a particular time, the output that the environmental actuator is set to output. For example, the current HVAC setting may include that the HVAC unit is set to 25 ° C. However, a nearby temperature sensor may detect that the actual temperature in the area the HVAC unit is aimed at is 22 ° C. In this manner, predictions of the facility conditions can be determined based on the outside conditions and energy imparted to the environmental actuators (e.g., the effect that that outside environmental conditions may have on an environmental actuator achieving a desired facility condition). Thus, predictions can be made for interior conditions or a location for a specified energy use.
[0131] The historical facility condition data 610, historical outside environmental data 520, and environmental actuators setting may vary over time. Thus, a time series of growth input data can be fed into the facility model to provide predictions on how facility conditions change over time.
2. Training
[0132] The facility model can be trained using a variety7 of different optimization techniques to optimize a loss function so that the facility conditions output closely tracks the actual measured facility conditions of the training set. Such optimization techniques can include gradient descent, backpropagation, conjugate gradient, other gradient techniques, or hessian techniques, such as Newton methods. The loss function can be a difference of one or more of the actual measured facility conditions and the predicted facility conditions at one or more points in time. Hie facility model 630 may be trained to have a weighting system for each growth input.
[0133] Training the facility model 630 may include using machine learning techniques to find patterns between data 610,62.0. For example, this may include determining how much an increase in temperature outside the facility affects the temperature within the facility. Further, this may also include determining how much an increase in temperature a certain distance away from the facility (e.g., ten miles away) from the facility affects the temperature within the facility. As such, training the facility model 630 may include finding the patterns between historical environmental sensor measurements changes and facility condition changes.
[0134] Additionally, training the facility model 630 may include determining how facility condition changes in one grow location may affect the facility conditions of another grow location. For example, if the carbon dioxide levels of a first grow location increases from 400 ppm of carbon dioxide to 420 ppm, training the facility model 630 may include determining how much the carbon dioxide levels of a second grow' location adjacent to the first grown area is affected, if at all.
[0135] There may be a facility model 630 trained for each setting of the environmental actuator based on the historical facility condition and outside environmental data 610. For example, the facility model 630 may be trained to determine relationships between how outside environmental conditions affect the ability of the environmental actuators to provide a particular facility' condition. For example, the facility model 630 may note that a HVAC unit set to provide a temperature of 25 ° C can only provide a real temperature of 22 ° C when the outside temperature is 35 ° C.
3. Model uses
[0136] Once the facility model 630 is trained, the facility model 630 may be implemented to predict the facility conditions at any location within the facility, e.g., for one or more settings of environmental actuators. The facility' model 630 may' use one or more of current environmental sensor measurements and forecasted conditions, current facility' conditions, and simulated facility conditions (e.g., conditions that the computer system is considering providing to a plant module but has not yet provided) to predict facility7 conditions at a future time. For example, the facility model 630 may' predict that the temperature of a grow location may change from 25 ° C to 27.5 ° C in five days due to a w eather forecast indicating that the outside temperature will increase from 30 ° C to 35 ° C.
[0137] In another example use, the facility model 630 may provide a predicted setting of what an environmental actuator should be set to in order to achieve a particular facility' condition based on the current setting of the environmental actuator, current facility' conditions, simulated facility conditions, current outside environmental conditions, and forecasted weather reports. For example, at a given location, the facility model 630 may predict that a HVAC unit must be set to 20 ° C in two hours in order to achieve a temperature of 25 ° C in five hours when the current temperature is 33 ° C inside the facility and the outside temperature is 35 ° C.
[0138] In a further example use, the facility model 630 may be used to find grow locations that have a consistent growth input. For example, the facility model 630 may predict that a particular location will have a consistent temperature of 20 ° C in the next few weeks where the forecasted weather conditions are not expected to vary much. Tire computer system may relocate a plant module that requires this temperature for those next few weeks (e.g., to reach a target performance) to this location.
[0139] Tli is may be particularly usefill for plant modules that are sensitive to growth input fluctuations. For example, if a particular variety of plant module has an acceptable temperature range of 18-22 ° C during the first two weeks of that plant module’s growth and the facility model 630 predicts other locations to have a temperature fluctuation outside of that plant module’s acceptable range, the computer system may relocate that plant module to the location of the facility predicted to have a consistent temperature of 20 ° C. Other embodiments may include predicting for consistent or varying growth inputs other than temperature, such as light, humidity, or air flow'.
[0140] The predicted facility conditions for a grow location may then be provided to a plant model as a growth input, as described above. This allows the plant model to more accurately predict the plant performance for a plant module located within that grow location, or for plant modules that may potentially be re-located to that grow location, because the predicted facility conditions more accurately represent how the facility conditions of that grow location will change in the future. For example, a plant model 230 may predict that a lettuce has the target growth performance (e.g., on track with an ideal harvest schedule) based on a current temperature of 23 ° C. However, the facility model 630 may predict that the temperature of the grow' location for the lettuce will decrease to 20 ° C due to a cold front outside of the facility. Using this predicted temperature, the plant model 230 may predict that the lettuce growth will have a smaller yield than the yield initially predicted using only the current temperature. As will be discussed further below, one or more adjustments may be made within the facility to address this difference in plant performance, e.g., moving the plant to a different location and/or changing one or more environmental actuators. C. Resource cost model
[0141] The computer system may additionally determine whether it is worthwhile to provide growth inputs to a plant module based on resource cost terms that are added to loss functions used in training the plant model and/or the facility model. Resource costs may refer to the amount of negative impact that providing certain growth inputs would have on resources provided to the facility or equipment in the facility. For example, this may include energy costs, water costs, equipment wear and tear costs, nutrient costs, or the like. In some embodiments, the resource costs may be known quantities associated with regarding each change in input (e.g., increasing temperature requires a certain amount of energy, which can be converted as a certain amount of money). However, in other embodiments, the computer system may determine a resource cost model to predict a change in resource costs for a specified change in the growth input. The resource cost models may be trained using unsupervised learning, supend sed learning, reinforcement learning, statistical techniques, or the like.
[0142] FIG. 7 depicts an exemplary training process 700 for a resource cost model 730.
The computer system may train the resource cost model 730 based on historical growth input data 710 (e.g., historical data on growth input changes or historical growth inputs) and historical resource cost data 720 for each location in a facility and each setting of an environmental actuator.
[0143] The resource cost model 730 may be trained to predict how a change in growth input or a change in environmental actuator setting (which in turn changes a growth input, such as temperature) affects a change in the resource usage for the facility (e.g., change in energy usage, water usage, and/or wear and tear on facility components). As an example, the resource cost model 730 may receive (for a particular location), as an input, a change in growth input (e.g., a difference between an initial growth input and a second growth input, such as a predicted facility condition from a facility model) or change in environmental actuator setting. With this input, the resource cost model 730 may predict the change in resources (e.g., an increase or decrease in energy, water, and component wear and tear). The computer system may note any negative change in resources as being a cost.
[0144] The historical growth input data 710 may include growth inputs, as discussed above, except including changes in the environmental actuators settings. The historical resource costs data 720 may be supplied by a record of historical costs (e.g., records on a storage device) corresponding to each change in growth input, e.g., a cost associated with an environment actuator achieving a facility condition that is a desired growth input. In some embodiments, the historical resource cost data 720 may additionally or alternatively include data computed via manually-derived heuristics or via a machine learning model based on training data.
[0145] Examples of training the resource cost model 730 are detailed below'.
1. Resource cost model training
[0146] The computer system may train the resource cost model 730 to find patterns between changes in growth inputs (e.g., one or more of temperature, humidity, light level, air flow rate, water levels, and water profiles) and/or changes in environmental actuator setings at a particular location, and changes in resource cost. Each of the various resource costs (e.g., energy costs, water costs, equipment wear and tear costs, nutrient costs) can be considered their own cost term in determining whether to make changes to growth input.
[0147] In one example, the resource cost model 730 may be trained to recognize patterns between changes in growth inputs and a resulting energy cost. For example, the computer system may determine how much energy usage changes as the settings of HVAC unit changes in temperature or how much energy usage changes as a mover moves from one location to another. A computer sy stem may assign a resource cost to an increased change in energy cost.
[0148] In another example, the resource cost model 730 may be trained to recognize patterns between changes in growth inputs and a water cost. For example, the computer system may determine how much water usage changes as humidity level changes, for each setting of the humidifier. A computer system may assign a resource cost to an increased change in water cost.
[0149] In a yet further example, the resource cost model 730 may be trained to recognize patterns between changes in growth inputs, and wear and tear on various facility components.
For example, the computer system may determine how much damage a HVAC unit undergoes as it changes temperature, for each setting of the HVAC unit, or how wear and tear is accumulated by a mover as it moves from one location to another. A computer system may assign a resource cost to an increased change in wrear and tear cost. [0150] In a yet further example, the resource cost model 730 may be trained to recognize patterns between changes in growth inputs and a probability of success that an environmental actuator may provide a desired facility condition. For example, the computer system may determine how likely an artificial light is able to provide a specific light level (e.g., a particularly bright or high -intensity light) given the physical limitations of the artificial light. A computer system may assign a resource cost to a decreased in the probability of success.
[0151] In a yet further example, the resource cost model 730 may be trained to recognize patterns between changes in growth inputs and nutrient costs. For example, the computer system may determine how much additional nutrients must be provided to a plant module based on changes in water level. A computer system may assign a resource cost to an increased change in nutrient cost.
Figure imgf000038_0001
Resource cost model uses
[0152] The resource cost model 730 may be trained to predict changes or values in resource cost based on changes or values in growth inputs. To provide this output, the resource cost model 730 may be trained to have a weighting system for each growth input. In this manner, the resource cost model 730 may be trained to recognize how impactfill changes in various growth inputs may have on the changes in resource cost. For example, the resource cost model 730 may assign the following exemplary weights: 0.2 for increasing the HVAC unit by 5 ° C when it is already set at 25 ° C, 0.3 for increasing carbon dioxide levels by 20 ppm when it is already set at 400 ppm, etc. Accordingly, the cost model 730 may predict a change in the resource cost based on the weighting of each of the various growth inputs provided to the resource cost model 730. Such inputs may include a change from an initial facility condition to a predicted facility condition provided by a facility model.
D. Greenhouse model
[0153] Other factor than performance may be used to determine whether to use a particular set of growth inputs, even if those growth inputs would satisfy a target performance. For example, the computer system may determine whether it is worthwhile to provide growth inputs to a plant module based at least one of the predicted changes to plant performance from the plant model and resource cost from the resource cost model. In particular, the computer system may determine a greenhouse model that uses the predicted performance and resource costs as inputs to predict a greenhouse score based on the change in predicted performance and resource cost. Tire greenhouse score may correspond to a weighted sum of terms from in plant performance and resource cost for providing a growth input to one or more plant modules, A computer system may use the greenhouse model to identify growth inputs to provide to a plant module that will most closely align a predicted performance to a target performance while minimizing tire resource cost or decrease in performance associated with that growth mput(s) relative to other growth inputs.
[0154] In particular, the greenhouse model may be used to provide suggestions for future growth input changes by reiteratively comparing the predicted performances that most closely align with a target performance using a plant model and minimizing a resource cost using a resource cost model. Hie objective function (e.g., to be minimized) can include an output of a greenhouse score. As examples, the greenhouse model may be trained using unsupervised learning, supervised learning, reinforcement learning, statistical techniques, or the like.
[0155] FIG. 8 depicts an exemplary training process 800 for a greenhouse model 830. The computer system may train the greenhouse model based on plant performance data 810 and resource cost data 820, for each variety and at each state. Tire plant performance data 810 may be historical changes in plant performance and/or changes in predicted plant performance supplied by a plant model that determines growth performance. The resource cost data 820 may be historical changes in resource cost and/or changes in predicted resource cost supplied by a resource cost model that determines a resource cost.
[0156] The greenhouse model may include a predetermined function (e.g., as an objective function to be minimized) that is specified with weights and targets. Thus, a specified formula can be used for what is the objective function to be minimized based on the outputs of the plants model(s) and resource cost model(s). Thus, the greenhouse model may use, as inputs, the outputs of the plant model(s) and the resource cost model(s). The greenhouse model can then perform an optimization to identify optimal growth inputs that satisfy one or more criteria (e.g., a convergence criteria such as changes from one iteration to the next, an absolute value, or number of iterations).
[0157] In one embodiment, the greenhouse model may be a machine learning model that is trained to provide an optimal growth input using current states of the plants, current facility conditions, and/or forecast facility conditions. Such a greenhouse model can incorporate the plant model and the resource cost model. In this manner, an optimal growth input is the output of the greenhouse model, w'here a training sample of a specified growth input, current/forecasted states of plants and facility, and a label of the overall greenhouse score. The greenhouse model can thus be trained to provide an optimal growth input based on the current/forecasted state inputs.
1. Greenhouse model training/optimization
[0158] In one example, the computer system may tram the greenhouse model 830 to find one or more optimal growth inputs for a target plant module based on changes in resource costs and changes in performance from the plant model. In this example, the computer system may provide various growth inputs for a plant model to a plant model to determine various predicted performances of the plant module. The computer system may also provide various growth inputs to a resource cost model to determine various predicted changes in resource cost. Using those predicted performances and resource costs, the greenhouse model 830 maybe trained to compare these various growth inputs and resource cost for the plant module, and provide a greenhouse score based on the change in predicted performance and change in resource cost tor the target plant module. The computer system may then use these results to find the predicted performances (and the growth inputs for that predicted performance) that minimize resource cost.
[0159] In another example, the computer system may train the greenhouse model 830 to find one or more optimal growth inputs for a target plant module based on changes in a predicted performance for plant modules adjacent the target plant module. In this example, the computer system may provide various growth inputs for a target plant model and adjacent plant modules (at a particular state and variety) to a plant model to determine various predicted performances of the adjacent plant modules at the provided facility condition, lire greenhouse model 830 may be trained to compare these various growth inputs and predicted performances. For example, increasing the artificial light directed to a target plant module, may increase the artificial light exposure for adjacent plant modules. In another example, changing the air flow to a target module may change the air flow for adjacent plant modules. The greenhouse model 830 may sum all those changes in performances of the adjacent plant modules with the change in performance of the target plant module and provide a greenhouse score based on that sum. The computer system may identify the growth inputs that led to the greenhouse score corresponding to the change in predicted performance of the target plant module that most closely aligns with the target plant performance while minimizing the change in the predicted plant performances of the adjacent plant modules that deviate from a target plant performance of those adjacent plant modules. The greenhouse model 830 may also be trained using similar methods including the resource costs of all the adjacent plant modules in providing the greenhouse score such that the computer system may identify such growth inputs that also minimizes resource cost.
[0160] In yet another example, the computer system may train the greenhouse model 830 to find one or more optimal growth while relocating a plant module. The computer system may determine tire distance that relocating the plant module would require (i.e., the distance from the initial location of a plant module to a second grow location) and determine a time involved in that relocation process. As the plant module may be provided less growth inputs during this time, the computer system may train the greenhouse module 830 to recognize how a decrease in growth inputs to the plant module corresponding to the distance the mover device travels (i.e., the time spent traveling) during relocation of the plant modules affects a change in predicted performance of the plant module (for a given variety and a given state). In this example, the computer system may provide various growth inputs to a plant model corresponding to the initial location of the plant module and the location of the plant module as it. is being relocated. The plant model may determine various predicted performance corresponding to those various growth inputs. The computer system may identify the growth inputs that led to the to the greenhouse score corresponding to change in predicted performance of the plant module that most closely aligns with the target plant performance and provide a greenhouse score based on that change. Tire greenhouse model 830 may also be trained using similar methods including the resource costs in providing the greenhouse score such that the computer system may identify such growth inputs that also minimizes resource cost.
[0161] Further, during relocation of a target plant module, the mover device is unable to move other plant modules such that there may be a delay in relocating other plant modules (tor a given variety and a given state) to receive other predicted growth inputs. Tire computer system may tram the greenhouse model 830 to recognize how a change in growth inputs to other plant modules corresponding to the distance the mover device travels (i.e,, the time spent traveling) during relocation of the target plant, module affects a change in predicted performance of the other plant modules. In this example, the computer system may provide various growth inputs to a plant model corresponding to the initial location of the other plant modules and the location of the other plant module had the mover device relocated them instead of the target plant module. The plant model may determine various predicted performance corresponding to those various growth inputs. The greenhouse model 830 maysum all those changes in performances of the other plant modules with the change in performance of the target plant module and provide a greenhouse score based on that sum. The computer system may identify the growth inputs that led to the greenhouse score corresponding to the change in predicted performance of the target plant module that most closely- aligns with the target plant performance while minimizing the change in the predicted plant performances of the other plant modules that deviate from a target plant performance of those adjacent plant modules. The greenhouse model 830 may also be trained using similar methods including the resource costs of all the other plant modules in providing the greenhouse score such that the computer system may identify- such growth inputs that also minimizes resource cost.
[0162] In another example, the computer system may determine how increasing the density- of plant modules through relocating a targe t plant module affects the predicted performance of tlie other plant modules (for a given variety and a given state) in that area. For example, such an increase in density- may increase humidity and temperature of the plant modules in that area. In this example, the computer system may provide various growth inputs to a plant model corresponding to an area with plant modules before the target plant module is relocated there and the area after the target plant module is relocated there. The plant model may- determine various predicted performance corresponding to those various growth inputs. Tire greenhouse model 830 may sum all those changes in performances of the other plant modules with the change in performance of the target plant module and provide a greenhouse score based on that sum. lire computer system may identify the growth inputs that led to the to the greenhouse score corresponding to change in predicted performance of the target plant module that most closely aligns w ith the target plant performance while minimizing the change in the predicted plant performances of the other plant modules that deviate from a target plant performance of those adjacent plant modules. The greenhouse model 830 may also be trained using similar methods including the resource costs of all the other plant modules in providing the greenhouse score such that the computer system may identify such growth inputs that also minimizes resource cost.
[0163] Continuing w-ith this example, the computer system may also train the greenhouse model 830 to recognize how- changes in growth inputs from the mover device moving slow-er (i.e., taking more time) through the area with increased density- affects the predicted performances of other plant modules (for a given variety and a given state) the mover device was delayed in arriving to. In this example, the computer system may provide various growth inputs to a plant model corresponding to an initial location of the plant modules and to the location of the modules the mover device would have moved those plant modules to if the mover device was not delayed by the increased plant module density. The plant model may determine various predicted performance corresponding to those various growth inputs. The greenhouse model 830 may sum all those changes in performances of the other plant modules wnth the change in performance of the target plan t mod ule and provide a greenhouse score based on that sum. The computer system may identify the growth inputs that led to the to the greenhouse score corresponding to change in predicted performance of the target plant module that most closely aligns with the target plant performance while minimizing the change in the predicted plant performances of the other plant modules that deviate from a target plant performance of those adjacent plant modules. The greenhouse model 830 may also be trained using similar methods including the resource costs of all the other plant modules in providing the greenhouse score such that the computer system may identify such growth inputs that also minimizes resource cost.
[0164] In another example, where relocating a target plant module will displace a second plant module, the computer system may train the greenhouse model 830 to recognize how changes in growth inputs for displacing the second plant module affects the predicted performances of the second plant module (for a given variety-7 and a given state). In this example, the computer system may provide various growth inputs to a plant model corresponding to an initial location of the second plant module and to a new location of the second plant module after being displaced. "Die plant model may determine various predicted performance corresponding to those various growth inputs. The greenhouse model 830 may sum all those changes in performances of the other plant modules with the change in performance of the target plant module and provide a greenhouse score based on that sum. The computer system may identity’ the growth inputs that led to the greenhouse score corresponding to the change in predicted performance of the target plant module that most closely aligns with the target plant performance while minimizing the change in the predicted plant performances of the second plant modules that deviate from a target plant performance of those adjacent plant modules. The greenhouse model 830 may also be trained using similar methods including the resource costs of all the other plant modules in providing the greenhouse score such that the computer system may identify such growth inputs that also minimizes resource cost.
2. Greenhouse model uses
[0165] The greenhouse model 830 may be trained to provide a greenhouse score based on the changes in predicted performance and resource cost or actual values in predicted performance and resource cost. Any description herein of using changes in values also applies to using actual values. To provide greenhouse score, the greenhouse model 830 may be trained to have a weighting system for each term noted above. In this manner, the greenhouse model 830 may be trained to recognize how impactful changes in various growth inputs may have on the changes (or actual values) in predicted performance of a plant module (for a given variety and a given state) and changes in resource cost. For example, the greenhouse model 830 may assign the following exemplary- weights: 0. 1 for changing water profile, 0.2 for changing light levels, 0.25 for increasing air flow, 0.35 for cooling air, 0.3 for moving a plant module to an alternate location, 0.4 for displacing another plant module when relocating a plant module, 0.5 for increasing density of modules around a plant module. Accordingly, the greenhouse model 830 may provide a greenhouse score based on the weighting of each of tire various growth inputs provided to the greenhouse model 830. Such inputs may- include a change from an initial facility7 condition to a predicted facility condition provided by a facility model.
[0166] In some embodiments, the greenhouse score may7 be a negative score where the change in the predicted performance of the target plant module that is closer to its target performance is less than at least one of the overall deviation in total plant performance from target plant performance(s) and an increase m resource cost. Hie greenhouse score may7 be a neutral score where the change the predicted performance of the target plant module is offset by at least one of the overall deviation in total plant performance and an increase in cost. The greenhouse score may be a positive score where the change the predicted performance of the target plant module is greater than at least one of the overall deviation in total plant performance and an increase in cost. However, in other embodiments, the greenhouse score may have any numerical value corresponding to plant performance and resource costs.
[0167] In this embodiment, the computer system may optimize for the greatest score byproviding the greenhouse model 830 various predicted performances and corresponding resource costs to obtain various greenhouse scores. "Die computer system may7 reiteratively compare these greenhouse scores to find the largest greenhouse score and then identify the growth inputs that led to this greenhouse score.
III. DETERMINING A GROWTH MAP
[0168] According to some embodiments of the disclosure, plants may be positioned according to a growth map determined through the plant and facility models. The growth map may be a map of plant module placement that most closely matches the optimal growth inputs for multiple plant modules based on the predicted growth input of the grow locations.
[0169] FIG. 11 depicts an example flowchart 1100 performed by a computer system for determining the growth map. The growth map may be based on simulations performed on a simulated map of the facility, which corresponds to a physical map of the facility . The physical map may be a schematic representation of the physical layout of the facility, incl uding a schematic representation of the physical location of the plant modules and grow locations. In some embodiments, the physical map include information or representations of the sensor measurements for each grow location.
[0170] FIG, 10 depicts an exemplary physical map 1000 of a growing block of the facility having plant modules 1012 and grow areas 1050. For ease of explanation, the grow locations 1050 and plant modules 1012 may have a reference system of numbers and letters as shown on the top and left sides of the simulated map 1100. The grow locations 1050 of the left-most column may be referred to as the grow locations Al , A2, A3, A4, and A5. Each particular grow' locations 1050 of the top-most row may be referred to as the grow' locations Al, Bl, Cl, DI, and El. The plant modules 1012 may each have a label specific to each of the plant modules 1012 (e.g., the plant module M26, plant module M21 , plant module M02, etc.). In this manner, each plant module 1012 may be located by reference to a particular grow' location 1050. For example, the plant module M26 is located in in the grow location C3 and the plant module M46 is located in the grow location A3. As shown, some grow locations 1050 do not include a plant module 1012. For example, the grow location El does not have a plant module 1012. How'ever, in other embodiments, all grow' locations 1050 may include plant modules 1012.
[0171] In other embodiments, the grow' locations 1050 and plant modules 1012 may have any other reference system that allows for their location, such as having more or less numbers or letters, only being one of a letter or number, or the like. Although the physical map 1000 shows twenty-five grow' locations 1050, in other embodiments, there may be more or less grow' locations 1050. Further, although the physical map 1000 show's eighteen plant modules 1050, in other embodiments, there may be more or less plant modules 1012. Additionally, the physical map 1000 may represent the current plant locations of the modules 1012.
[0172] The steps of the flowchart 1100 will be discussed further below.
A. Simulated maps
[0173] At step 910 of FIG. 9, the computer system may receive a map of a facility having a plurality' of grow locations. The plurality of grow locations may include a first set of grow locations and a second set of grow locations. This map may be a simulated map of the physical map of the facility (e.g., the physical map 1000). FIG. 1 1 depicts a simulated map 1100 received by a computer system that simulates the physical map 1000. As shown, tire simulated map 1 100 may be a grid layout depicting various simulated grow locations 1 150 and simulated plant modules 1 1 12 of the facility. Tire simulated plants are associated with plants in the facility. Specifically, each of the simulated plant modules 1112 respectively correspond with the plant modules 1012 and grow' areas 1050 of physical map 1000. The simulated map 1000 includes simulated plant modules 1 1 12 and simulated grow' areas 1150 respectively corresponding to the plant modules 1012 and grow' areas 1050. The simulated map 1100 may not necessarily be true to scale of the physical layout of the growing block. However, in other embodiments, the map may represent the actual spatial layout of the facility.
[0174] The simulated map 1100 may be provided with simulated plant modules 1 1 12 already placed in certain simulated grow locations 1 150 (i.e., the first set of grow' locations) to correspond to the grow' locations 1050 of the plant modules 1012 of the physical map 1000. The second set of grow' locations may correspond to another set of grow' locations 1150 to receive the plant modules 1 112 (e.g., when re-arranging the plant modules 1112, as will be discussed further below'). However, in other embodiments, the simulated map may include only information regarding the grow locations and with no plant modules placed in the grow locations. In tins embodiment, the computer system may determine a growth map for a facility that does not already have plant modules within it (e.g., a new facility). [0175] In some embodiments, growth input data is not provided with the simulated map 1100. In other embodiments, growth input data of each grow location 1050, including predicted facility conditions, may be provided with the simulated map 1000.
[0176] At step 920. the computer system may receive, at each of a plurality of times, sensor measurements for each of the grow locations from one or more sensors. This may include the sensor measurements of the grow locations 1050 most recently gathered at the time the simulated map 1100 was provided. The sensor measurements include non-environmental sensor measurements, the non-environmental sensor measurements including at least one of a water level and water profile, the water profile including at least one of a EC, pH, ORP, and nutrient concentration. For example, this may include the most recent facility conditions (i.e., temperature, humidity, air flow, and light level measurements) of the grow locations 1050, as well as non-environmental sensor measurements. Additionally, settings of environmental actuators and external conditions (e.g., measurements or forecasts of the outside environmental conditions) can be received, as described herein.
[0177] At step 930, the computer system may determine a facility model based on the sensor measurements. Tire facility model can provide facility conditions at future times. For example, the predicted facility conditions may be based on knowledge of historical patterns of changes in the facility conditions. In some embodiments, the facility model can also provide predicted facility conditions based on forecast conditions of the external environment and for specified settings of one or more environmental actuators.
[0178] Where the sensor measurements include current environmental sensor measurements outside of the facility and current facility conditions, determining the facility model may include receiving environmental data records, the environmental data records including forecasted environmental sensor measurements outside of the facility, past environmental sensor measurements outside of the facility, past facility conditions, current facility conditions, past settings of environmental actuators, and current settings of the environmental actuators. Further, determining the facility may include determining, patterns between the sensor measurements and environmental data records, thereby providing facility conditions at the future times. Tills process may be similar to the process described above tor the facility model 630.
[0179] As discussed above, the facility model may be configured to determine the predicted settings of environmental actuators required to achieve the facility condition at the future time based on the sensor measurements and current settings of the environmental actuators.
[0180] In some embodiments, the computer system may add one or more new simulated modules where there is a grow7 location that does not yet have a plant module (i.e., a “gap grow location”). This new simulated module may correspond to a plant module that has yet to be planted or is a plant module located in a different agricultural facility. For example, as shown on physical map 1000, because the El grow location 1050 has no plant module 1012, the computer system may identify the El grow location 1050 as a gap grow location. The computer system may then assign the S57 new simulated module 1160 within the El simulated grow location 1150. This new simulated module 1 160 may then be incorporated into the rest of the process as described below . Incorporating this new simulated module 1160 may assist in reducing unused space with tire facility. However, in other embodiments, there may be no new imulated modules where either there are no grow locations missing plant modules or there are no available plant modules for the gap grow locations.
B. Predicted maps
[0181] In some embodiments, the computer system may determine growth inputs based on a facility model. Such growth inputs may be provided as a map of growth inputs. An exemplary'- map may be a map of predicted growth inputs based on the grow locations 1150 of the simulated map 1100.
[0182] At step 940, the computer system may determine, based on the sensor measurements and the facility model, predicted growth inputs for a specified period of time for the plurality of grow locations. The predicted growth inputs may include predicted facility conditions. The first set of grow locations may be associated with a first set of predicted growth inputs of the predicted growth inputs. The second set of grow locations may be associated with a second set of predicted growth inputs of the predicted growth inputs, lire computer system may predict growth inputs for the simulated grow locations 1150 based on the sensor measurements and facility model for a specified period of time (e.g., two weeks in the future). The predicted growth inputs can include predicted facility conditions.
Specifically, the computer system may use a facility model to determine a predicted growth input for each of the simulated grow locations 1150. [0183] These predicted growth inputs may be positioned on a map corresponding to their respective simulated grow locations 1150.
[0184] FIG. 12 depicts an exemplary predicted input map 1200 of predicted growth inputs 1212 for simulated grow locations 1250 (corresponding to the grow locations 1050). FIG. 12 depicts map 1200 showing only a temperature growth input. However, it is understood that the map 1200 is depicted as an example only and the growth inputs 1212 may include other growth inputs, such as humidity, light level, air flow, or the like. The predicted growth inputs 1212 may be inclusive of all sets of grow locations.
[0185] Tire computer system may use a facility model to predict temperatures for each of the simulated grow locations 1250 at a future time. For example, a facility model may receive at least one of the current facility conditions of each grow- location 1050, the current environmental sensor measurements outside of the facility, forecasted environmental sensor measurements outside of the facility, and current and past settings for environmental actuators. This forecasted environmental sensor measurements outside of the facility may be a weather report forecasting that the temperature will increase in certain areas outside of the facility. In particular, the temperatures may increase in certain areas outside of the facility but adjacent to areas within the facility (e.g., the grow location Al, grow location E3, and grow location B5). The facility model may then predict that the temperatures of various grow locations 1050 will increase from the current facility conditions due to this forecast temperature increase, as well as the current facility conditions and outside environmental sensor measurements, and provide the predicted temperature of each grow location 1050. These predicted growth inputs 1212 may- be provided as the predicted input map 1200.
[0186] Each of the simulated plant modules 1112 may be associated with a target growth input corresponding to a target performance of the simulated plant modules 1112 by a plant model, e.g., for a current state of the plant. As discussed above, a computer system may determine the target growth input by determining which growth inputs provide a predicted performance for the current state of the plant (using the plant model) that most closely matches a target performance (e.g., a minimum yield, minimum quality, target leaf color, target leaf size, and/or maximum plant height), possibly within constraints of energy usage of environment actuators or nutrient inputs. In other embodiments, the growth inputs may have been previously determined and stored in a memory storage device such that the computer system may retrieve the growth inputs from the memory storage device. [0187] These target growth inputs may be positioned on a map corresponding to the positions of their respective simulated plant modules 1112.
[0188] FIG. 13 depicts a target input map 1300 depicting the target, growth inputs 1312 required for the target performance of the simulated plant modules 1112,1160. As discussed above, the computer may the target growth inputs based on a plant model , In some embodiments, the target inputs may be an optimal growth input based on an optimal growth performance. FIG. 13 depicts map 1300 showing only a temperature growth input. However, it is understood that the map 1300 is depicted as an example only and the growth inputs 1312 may include other growth inputs, such as humidity, light level, air flow7, or the like.
C. Grow location simulations
[0189] The simulated plant modules 1112,1160 may then be tested in various simulated grow' locations 1150 to determine a map that most closely aligns the target growth inputs 1312 and predicted growth inputs 1212 together. Each test may be performed with the simulated plant modules 11 12 in simulated grow locations 1 150 as one configuration. Tire computer system may test these different configurations simultaneously or sequentially (i.e., testing the simulated plant modules 1 112,1160 in a first configuration and then, after testing the first configuration, in a second configuration).
[0190] At steps 1150, the computer system may test a plurality of simulated plants at the first set of grow locations in a first configuration for the specified period time. Each simulated plant may be associated with target growth inputs including target facility conditions. Testing may include determining a first score based on a first difference between the target growth inputs and the first set of predicted growth inputs. The computer system may test the simulated plant modules 1 112, 1160 in a first configuration. The computer system may also determine a difference score based on a first difference between the target growth inputs 1312 of the simulated plant modules 1112,1160 and the predicted growth inputs 1212 of the simulated grow' locations 1150 that the simulated plant modules 1112,1160 are positioned in. For example, the difference scores may be based on the difference in target temperatures as shown in the target input map 1300 and the predicted temperatures shown in the predicted input map 1200. However, the difference scores may additionally be based on other growth inputs not shown in the maps 1200,1300, such as humidity, air flow, and/or light level. [0191] For example, the location of the simulated plant modules 1 1 12,1 160 as shown in maps 1000,1 100,1200 may represent one configuration. In this configuration, the difference between the target growth input of the simulated plant module Al and the predicted growth input of the simulated growth area A l is depicted by the difference between the inputs 1212,1312 (i.e., 3° C). In this manner, the computer system determines the differences betw een each of the target growth inputs 1312 of all the simulated plant modules 1112 and the predicted growth inputs 1212 of all the simulated grow' locations 1 150. The computer system may then assign a difference score for this configuration based on the sum total of the differences. For example, the difference score may be higher where the total difference is higher and the difference score may be lower where the total difference is lower. However, m other embodiments, the difference score may be higher where the total difference is lower and may be lower where the total difference is higher.
[0192] At step 1 160. the computer system may test the plurality of simulated plants at the second set of grow locations in a second configuration by determining a second score based on a second difference between the target growth inputs and tire second set of predicted growth inputs. As such, the computer system may test the simulated plant modules 1112,1160 in a second configuration and determine a second score based on a second difference between the target growth inputs 1312 and the predicted growth inputs 1212, as described above. For each different configuration, at least some of the simulated plant modules 1112,1160 may be positioned in a different simulated grow location 1150 than their position in the simulated grow' locations 1 150 of every other configuration. The computer system may test all configurations of the simulated plant modules 1 112,1160 within each of the simulated grow locations 1150 until all possible combination of positions have been tested.
[0193] In some embodiments, the computer system may apply a weighted system in determining the difference scores. For example, tire computer system may weight certain growth inputs as having more of an impact on plant performance than others. For example, the difference in temperature may have a greater weight than the difference in humidity in determining the difference score as the difference m temperature may affect the performance of the simulated plant modules 1 1 12,1160 more than the difference in humidity.
[0194] At step 970, the computer system may assign the simulated plants to grow' locations on the map according to the first or second configuration based on the first score and the second score, thereby determining a growth map. For example, after finding the difference score corresponding to the configuration having the lowest difference between the target and predicted growth inputs (e.g., the lowest difference score), the computer system may assign the simulated plant modules 1112,1160 to the simulated grow locations 1150 corresponding to that configuration in determining the growth map.
[0195] FIG, 14 depicts an exemplary growth map 1400 having simulated plant modules 1212,1460 (corresponding to the simulated plant modules 1 1 12,1 160) placed in simulated grow locations 14121450 according to the configuration the computer system tested as having the lowest difference score. In some embodiments, the computer system may assign the simulated plant modules 1112,1160 based on avoiding known growth inputs that would lead the plant modules 1012 to have a poor performance. The computer system may consider the greenhouse score using the greenhouse model when determining the growth map (e.g., by minimizing the resource cost when testing configurations of tire simulated plant modules, as discussed below).
[0196] The computer system may determine which growth inputs to avoid, as discussed above. Where the target growth inputs correspond to a target performance for the simulated plants, the method may further comprise determining avoidance growth inputs to avoid. The target performance may be determined by a plant model using the target growth inputs 1312 of the simulated plant modules 1112. The simulated plants may be the simulated plant modules 1112, 1160. Thi s includes determining a first predicted performance, using a plant model based on the first set of predicted growth inputs and the sensor measurements, for each of the simulated plants at the first set of grow' locations. This may include the predicted growth inputs 1312 corresponding to the simulated grow locations 1150.
[0197] "Die computer system may determine a first performance score based on a first difference between the target performances and the first predicted performances. The computer system may determine a second predicted performance, using the plant model based on the second set of predicted growth inputs and the sensor measurements, for each of the simulated plants at the second set of grow locations. The second predicted performance may be based on the predicted growth inputs 1312 corresponding to the simulated grow locations 1 150. The computer system may determine a second performance score based on a second performance between the target performances and the second predicted performances.
[0198] The computer system may determine the avoidance growth inputs based on the first and second performance scores. This may include growth inputs that change the predicted performance of the simulated plant modules 1 112,1160 to be further from the target performance relative to one or more other predicted performances. Assigning the simulated plants is additionally based on the avoidance growth inputs. As such, determining the growth map may be based on these avoidance growth inputs (e.g., by avoiding these growth inputs).
[0199] Further, the plurality of grow locations include a plurality of current plant locations and the plurality of plants correspond to the plurality of simulated plants. For example, the grow locations 1050 depicted in the physical map 1000 may include the current locations of the plant modules 1012. Testing the plurality of simulated plants in the first configuration includes determining a first distance score based on a first distance between the plurality' of current plant locations and the first set of grow locations and testing the plurality of simulated plants in the second configuration includes determining a second distance score based on a second distance between the plurality of current plant locations and the second set of grow locations. For example, testing the simulated plant modules 1 112, 1160 may include testing the distance between the current locations of the simulated plant modules 1112 that correspond to current locations of the plant modules 1012. Assigning the simulated plants on the map according to the first or second configurations may’ be additionally based on the first and second distance scores. In this manner, the computer may assign the simulated plants 1 1 12 to the growth rnap 1400 based on a distance score of each configuration that minimizes the distances required for relocation.
[0200] In a yet further embodiment, the plurality of simulated plants may include simulated plants that are not associated with the current plant locations. For example, this may the simulated plant module 1160. In this embodiment, the first and second set of predicted growth inputs includes growth inpu ts for gap grow' locations of the grow' locations that are not associated with the simulated plants corresponding to the current plant locations. For example, this may include growth inputs for the simulated grow' location El, as shown in FIG. 11.
[0201 ] In other embodiments, groups of simulated plant modules 1012. may be grouped together by variety such that the areas of the facility occupied by each variety group of plant modules 1012 are directed to growing that particular variety. In this example, testing the simulated plant modules 1112 may include testing the position of the simulated plant module 1112 of one variety group in an area directed to growing another variety group. For example, in one configuration, a simulated plant module 1112 from a strawberry group may be positioned in an area directed to growing letuce. In this manner, the growth map 1400 may include simulated plant modules 1212 of one variety group assigned to areas of the facility directed to another variety group.
[02021 Hie computer system may instruct a mover device to relocate the plants according to the growth map. Specifically, the computer system may instruct a mover device (e.g., the mover device 124) to relocate the plant modules 1012 to the grow locations 1050 according to the position of the simulated plant modules 1212 in the simulated grow locations 14121450 of the growth map 1400. The computer system may additionally instruct a mover device to place a new plant module (e.g., a module of plant seedlings) corresponding to the new simulated module 1160 in the grow' location A2 corresponding to the new simulated module 1460 w ithin the simulated grow location A2 of the growth map 1400.
1. Minimizing relocation distance
[0203] In some embodiments, the computer system may seek to reduce (e.g., minimize) the distance that the simulated plant modules 1 1 12 may have to travel from an initial current plant location (e.g., tire locations of the plant modules 1012 shown in the simulated map 1000). In this manner, w'hen testing the simulated plant modules 1112 in each configuration, the computer system may additionally determine a distance between the simulated grow locations 1150 (corresponding to the grow locations 1050) for each of the configurations. The computer system may then assign a distance score based on the sum total of the distances (e.g., a higher score for a higher total distance and a lower score for a lower total distance, or vice versa).
[0204] The computer system may account for the distance scores of each configuration when determining the growth map 1400. For example, where two configurations have difference scores that are close to each other, but one configuration has a much lower distance score than the other, the computer system may assign the simulated plant modules 1212 to the configuration with the lower distance score to prioritize reducing the amount of distance that relocation the plants 1012 may require.
[0205] In some embodiments, the computer system may apply a weight to the distance and difference scores such that, when accounting tor both scores in determining the growth map, one of the distance and difference scores may be weighted more heavily than the oilier to signify the importance of that score. For example, the distance score may be weighted more heavily than the difference score to indicate that the distance score is a more important consideration than the different between target and predicted growth inputs.
2. Testing individual plants
[0206] The plurality of simulated plants may include a first plant module of corresponding to a first variety and a second plant module corresponding to of a second variety and testing the simulated plants in the first and second configurations includes determining the first and second scores by mixing the first and second plant modules. For example, in some embodiments, the computer system may test the individual plants of each of the simulated plant modules 1112,1160 by switching one or more individual plants in one simulated plant module 1112, 1160 with the individual plants in another simulated plant module 1112, 1160. For example, the simulated plant modules 1112 may include target growth inputs specific to each simulated plant of the simulated plant modules 1 112. For each configuration at least some of the simulated plants may be positioned in a different plant module 1112 than m every other configuration, regardless of the variety of each simulated plant module 1112. The difference score determined by the computer system, as discussed above, may additionally include a difference score based on the difference between the target growth inputs of each simulated plant and the predicted growth inputs 1212 of the simulated grow locations 1150 that the individual simulated plants are positioned in. The resulting growth map 1400 may include individual simulated plants being positioned in plant modules with other plants of different varieties according to the configuration with the lowest difference score.
[0207] Tire computer system may then instruct a mover device to relocate the plant modules 1012 to the grow locations 1050 corresponding to the growth map 1400 as well as relocating individual plants wuthm each plant module 1012 to particular plant modules 1012 corresponding to the growth map. In this manner, the plant modules 1012 may no longer be specific to a particular variety but, instead, may have plants of multiple variety such that the plant modules 1012 may have a mix of varieties.
IV. RELOCATING PLANT MODULES
[0208] According to some embodiments of the disclosure, plant modules may be relocated according to a predicted performance of the plant modules. In particular, the plant modules may be relocated where they are not predicted to satisfy a target performance. The computer system may consider the greenhouse score using the greenhouse model when determining relocating the plant modules (e.g., by determining locations for relocation while minimizing the resource cost).
[0209] FIG. 15 depicts an example flowchart 1500 performed by a computer system for relocating a plant module when the plant module is underperforming. The flow chart 1500 may be performed on the plant modules 1012 received on the physical map 1000, as shown in FIG. 10. The steps of the flowchart 1500 will be discussed further below.
A. Relocating from one location to another location
[02 W] At step 1510, the computer system may determine, using a plant model, a first predicted performance of a plant at a first location of a facility based on a first growth input associated with the first location. Tire first growth input may include a predicted growth input at the first location, the predicted growth input including a predicted facility condition determined using a facility model. For example, this may include determining a predicted performance of the plant modules 1012 at the grow areas 1050. These predicted performances may be positioned on a map corresponding to their respective simulated grow locations 1050.
[0211] FIG, 16 depicts a predicted performance map 1600 having predicted performances 1612 corresponding to the plant modules 1012 of the physical map 1000. The computer system may measure, using one or more plant sensors, current plant characteristics. These may include the most recent plant characteristics of the plant modules 1012. Determining the first predicted performance and the second predicted performance uses the current plant characteristics. Specifically, the computer system may determine the predicted performances 1612 of the plant module s 1012 based on at le ast one of sensor measurements or predicted growth inputs, including predicted facility' conditions from a facility model. For example, the predicted performances 1612 may be based on the predicted growth inputs 1312 of the predicted input map 1300. For the sake of simplicity, the predicted performances 1612 depict only the predicted yield quantity (in pounds) of the plant modules 1012. However, it is understood that the predicted performances 1612 may additionally include any predicted plant characteristic.
[0212] The predicted performance map 1600 may be the plant characteristics for plant modules 1012 at any stage of growth. In some embodiments, the predicted performances 1612 may be for the plant characteristics of the plant modules 1012 at an intermediate stage of growth. In other embodiments, the predicted performances 1612 may be for the plant characteristics of the plant modules 1012 at a harvest time.
[0213] The predicted performance can be compared to a target performance for each of the plant modules 1012 to determine whether the plant modules 1012 should be moved. The target performances may be positioned on a map corresponding to the positions of their respective plant modules 1012.
[0214] FIG. 17 depicts a target performance map 1700 having target performances 1712 corresponding to the plant modules 1012. The target performances 1712 may be target performances set by a user or based on a prediction made by a plant model receiving target growth inputs (e.g., the target growth inputs 1212 depicted in the target input map 1200). For the sake of simplicity, the target performances 1712 depict only the target yield quantity of the plant modules 1012. However, it is understood that the target performances 1712 may additionally include any target plant characteristic. In some embodiments, the target performances 1712 may be an optimal performance corresponding to the plant modules 1012.
[0215] At step 1520, the computer system may determine that the first predicted performance does not satisfy a target performance. For example, the computer system may compare the predicted performances 1612 to the target performances 1712 to determine whether the predicted performances 1612 satisfy the target performances 1712. In some embodiments, at least one of the predicted performances 1612 do not satisfy the target performance 1712. As one example, the predicted performance B3 (corresponding to the plant module M55 in the grow7 location B3 in physical map 1000) does not satisfy the target performance B3. In particular, the predicted performance B3 (200 pounds) is predicted to not satisfy the target performance B3 by a yield quantity of 300 pounds. In response, the computer system may atempt to relocate the plant module M55 to another grow' location 1050 in order to have a predicted performance that is closer to the target performance B3 (i.e., closer to having a yield quantity of 500 pounds) than the predicted performance B3.
[0216] At steps 1530, the computer system may determine a second growth input associated with a second location in the facility. The second growth input may include one of a predicted growth input, a current facility condition, outside environmental measurement, and current setings of the environmental actuators. The second growth input may include a predicted growth input at the second location, the predicted growth input including a predicted facility condition determined using a facility' model. For example, here the computer system uses a predicted growth input, the computer system may select one of the predicted inputs 1312 at simulated grow locations 1 150 (corresponding to the grow locations 1050) as shown in the predicted input map 1300 as an input for a plant model.
[0217] Determining the second growth input includes determining, using a greenhouse model, that the second growth input is attainable at the second location by changing one or more environmental actuators of the facility. For example, the computer system may use the greenhouse model to determine that the second growth inputs are attainable (e.g., that changing to the predicted inputs 1312 would not be too costly).
[0218] At. step 1540, the computer system may determine, using the plant model, a second predicted performance of the plant at the second location in the facility based on the second growth input. For example, the plant model may determine a predicted performance of the plant module M55 corresponding to that simulated grow location 1250. For example, the computer system may select the predicted input A5 at the simulated grow location A5. The computer system may use the predicted input A5 as a growth input into a plant model to predict the performance of the plant module M55 at the grow location A5. As an example, the plant model may predict that relocating the plant, module M55 to the grow location A5 would increase the yield of the plant module M55 to 400 pounds from the initial yield quantity of the plant module M55 of 200 pounds.
[0219] At step 1550, the computer system may determine whether this second predicted performance is closer to the target performance than the first predicted performance. In this example, the computer system may determine, based on the simulation above, that the yield quantity of the plant module M55 at the grow location A5 is closer to the target performance of 500 pounds than the plant module M55 at its initial location of the grow location B3.
[0220] In some embodiments, the second predicted performance satisfies the target performance. For example, the yield quantity of the plant module M55 at the grow location A5 may satisfy a target performance of 500 pounds. However, in other embodiments, the second predicted performance does not satisfy the target performance. For example, the yield quantity of the plant module M55 at the grow location A5 does not satisfy a target performance of 500 pounds.
[0221] At step 1560, the computer system may instruct a. mover device relocate the plant from the first location to the second location based on the second predicted performance being closer to the target performance than the first predicted performance. For example, the computer system may' instruct a mover device (e.g., the mover device 124) to relocate the plant module M55 from its current grow location B3 to the grow location A5. In other embodiments, the computer system may instruct the mover device to relocate the plant module when the predicted performance of the plant module exactly satisfies the target performance.
[0222] In some embodiments, relocating the plant modules 1012 may include relocating the plant modules 1012 from one grow area directed to growing a group of plant modules 1012 of one variety to another grow area directed to growing a group of plant modules 1012 of another variety . In this manner, relocating the plant modules 1012 may include mixing plant modules 1012 within different variety' growing areas.
[0223] In another embodiment, the computer system may select a predicted input 1312 corresponding to a grow location 1050 that already has a plant module 1012. In this instance, the computer system may account for the total difference between the predicted performances of all the plant modules 1012 from the initial location and the predicted performances of all the plant modules 1012 at a later location in determining whether to relocate the plant module 1012. For example, in determining a facility location to relocate the plant module M55, the computer system may select the simulated grow location (corresponding to the grow location B5) having the predicted growth input B5. In this example, the computer may determine, using the plant model, that relocating the plant module M55 to the grow location B5 would increase the predicted performance of the plant module M55 from the initial yield quantity of the plant module M55 to a yield quantity of 500 pounds and satisfied the target performance of the plant module M55.
[0224] However, relocating the plant module M55 to the grow location B5 would displace the plant module M78 that is already positioned within the grow location B5. In such an instance, the computer system may' only instruct the mover device to relocate the plant module M55 if relocating the plant module M78 would not negatively offset the performance gains from relocating the plant module M55 (i.e., if relocating the plant module M78 would not decrease the predicted performance of the plant module M78 by more than 300 pounds relative to the current predicted performance of the plant module M78). For example, the computer system may determine, using a plant model based on the predicted inputs 1312, that there is no grow location 1050 that the plant module M78 may be moved to without decreasing the predicted performance of the plant module M78 by more than 300 pounds relative to its initial predicted performance. As this relative decrease in the predicted performance of the plant module M78 is greater than the relative increase in the predicted performance of the plant module M55, the computer system may not instruct the mover device to relocate the plant module M55 to the grow location B5. Instead, the computer system may continue seeking other grow locations 1050 for the plant module M55 or may instruct tire mover device to relocate the plant module M55 to the culling station, as discussed further below.
[0225] However, in other embodiments, the computer system may determine that the plant module M78 may be moved to a different grow location 1050 without decreasing the overall predicted performance of the plant modules 810 (e.g., by using the greenhouse model). For example, the computer system may determine that relocating the plant module M78 to the grow location C5 would decrease the predicted performance of the plant module M78 by 100 pounds relative to its initial predicted performance. As there is a net gain of 200 pounds from relocating the plant module M55 to the grow location B5, the computer system may instruct the mover device to move the plant module M55 and plant module M78 accordingly.
B. Culling plants
[0226] The computer system may, in some embodiments, decide to relocate plants to a culling station for removal from the facility. For example, the below method steps mayreference the above first plant (e.g., plant module M55) and grow locations 1050 referenced above. The computer system may determine using the plant model, a third predicted performance of a second plant at a third location of the facility based on a third growth input associated with the third location. For example, the computer system may determine the predicted performance of a performance for a different plant module of the plant modules 1012 that is not the plant module M55. The computer system may determ ine that the third predicted performance does not satisfy the target performance.
[0227] The computer system may determine a fourth growth input associated with a fourth location in the facility. This fourth growth input may be associated with one of the grow locations 1050. The fourth growth input may include a predicted growth input at the fourth location, the predicted growth input including a predicted facility condition determined using the facility model. Additionally, determining the fourth growth input includes determining that the fourth growth input is attainable at the fourth location by changing one or more environmental actuators of the facility'. This may include using a greenhouse model to determine a resource cost to change to the fourth grow' input.
[0228] The computer system may determine using the plant model, a fourth predicted performance of the second plant at the fourth location in the facility based on the fourth growth input and determine that the fourth predicted performance is not closer to the target performance than the third predicted performance. For example, the computer system may determine that there is no predicted input 1312 corresponding to any grow locations 1050 that can be provided to the plant module M55 such that the predicted performance of the plant module M55 is closer to the target performance than the predicted performance of the plant module M55 at its initial location of the grow location B3. For example, the computer system may determine that all the other grow locations 1050 include predicted inputs 1312 that would result in the plant module M55 having a worse or same predicted performance as the predicted performance of the plant module M55 in its initial location of the grow location B3, Alternatively, the computer system may determine, using the facility model, that the plant module M55 requires a predicted growth input that is not feasibly attainable by changes in the facility’s environmental actuators. The facility model can be used to determine the growth inputs cannot be attained, at least within specific constraints, e.g., energy usage of environmental actuators. The computer system may instruct the mover device to relocate the second plant from the third location to a culling station. In such instances, the computer system may instruct the mover device to relocate the plant module M55 to a culling station (e.g., located in the processing bay 120). This may make room in the facility for other plants to occupy the grow location B3, such as new plants.
[0229] In some embodiments, a similar method may be applied to multiple plant modules 1012 of a particular variety. For example, the computer system may determine that all strawberry plant modules 1012 in a given area or the facility are underperforming. The computer system may additionally determine that either there are no other alternative grow locations 1050 having growth inputs for the straw berry plant modules 1012 that would lead to the strawberry' plant modules 1012 to have predicted performances that satisfy the target performance or that there is no growth input that is feasibly attainable to by the environmental actuators to provide such predicted performances. As such, the computer system may determine that all the strawberry plant modules 1012 of that given area or facility be culled, and for other plant modules to occupy the grow locations 1050 those strawberry plant modules 1012 previously occupied. V. COMPUTER SYSTEM
[0230] Any of the computer systems mentioned herein may utilize any suitable number of subsystems. Exampies of such subsystems are shown in FIG. 18 in computer system 10. In some embodiments, a computer system includes a single computer apparatus, where the subsystems can be the components of the computer apparatus. In other embodiments, a computer system can include multiple computer apparatuses, each being a subsystem, with internal components. A computer system can include desktop and laptop computers, tablets, mobile phones and other mobile devices.
[0231] The subsystems shown in FIG. 18 are interconnected via a system bus 75.
Additional subsystems such as a printer 74, keyboard 78, storage device(s) 79, monitor 76 (e.g., a display screen, such as an LED), which is coupled to display adapter 82, and others are shown. Peripherals and input/output (I/O) devices, which couple to I/O controller 71, can be connected to the computer system by any number of means known in the art such as input/output (170) port 77 (e.g., USB, FireWire®). For example, I/O port 77 or external interface 81 (e.g., Ethernet, Wi-Fi, etc.) can be used to connect computer system 10 to a wide area network such as the Internet, a mouse input device, or a scanner. The interconnection via system bus 75 allows the central processor 73 to communicate with each subsystem and to control the execution of a plurality of instructions from system memory 72 or the storage device(s) 79 (e.g., a fixed disk, such as a hard drive, or optical disk), as well as the exchange of information between subsystems. The system memory 72 and/or the storage device(s) 79 may embody a computer readable medium. Another subsystem is a data collection device 85, such as a camera, microphone, accelerometer, and the like. Any of the data mentioned herein can be output from one component to another component and can be output to the user.
[0232] A computer system can include a plurality of the same components or subsystems, e.g., connected together by external interface 81, by an internal interface, or via removable storage devices that can be connected and removed from one component to another component. In some embodiments, computer systems, subsystem, or apparatuses can communicate over a network. In such instances, one computer can be considered a client and another computer a server, where each can be part of a same computer system. A client and a server can each include multiple systems, subsystems, or components.
[0233] Aspects of embodiments can be implemented in the form of control logic using hardware circuitry (e.g., an application specific integrated circuit or field programmable gate array) and/or using computer software stored in a memory' with a generally programmable processor in a modular or integrated manner, and thus a processor can include memory storing software instractions that configure hardware circuitry', as well as an FPGA with configuration instructions or an ASIC. As used herein, a processor can include a single-core processor, multi-core processor on a same integrated chip, or multiple processing units on a single circuit board or networked, as well as dedicated hardware. Based on the disclosure and teachings provided herein, a person of ordinary' skill in the art will know and appreciate other ways and/or methods to implement embodiments of the present disclosure using hardware and a combination of hardware and software.
[0234] Any of the software components or functions described in this application may be implemented as software code to be executed by a processor using any suitable computer language such as, for example, Java, C, C++, C#, Objective-C, Swift, or scripting language such as Perl or Python using, for example, conventional or object-oriented techniques. The software code may be stored as a series of instructions or commands on a computer readable medium for storage and/or transmission. A suitable non-transitory computer readable medium can include random access memory (RAM), a read only memory (ROM), a magnetic medium such as a hard-drive or a floppy disk, or an optical medium such as a compact disk (CD) or DVD (digital versatile disk) or Blu-ray disk, flash memory, and the like. The computer readable medium may be any combination of such devices. In addition, the order of operations may be re-arranged. A process can be terminated when its operations are completed, but could have additional steps not included in a figure. A process may correspond to a method, a function, a procedure, a subroutine, a subprogram, etc. When a process corresponds to a function, its termination may correspond to a return of the function to the calling function or the main function
[0235] Such programs may also be encoded and transmitted using carrier signals adapted for transmission via wired, optical, and/or wireless networks conforming to a variety of protocols, including the Internet. As such, a computer readable medium may be created using a data signal encoded with such programs. Computer readable media encoded with the program code may be packaged with a compatible device or provided separately from other devices (e.g., via Internet download). Any such computer readable medium may reside on or within a single computer product (e.g., a hard drive, a CD, or an entire computer system), and may be present on or within different computer products within a system or network. A computer system may include a monitor, printer, or other suitable display for providing any of the results mentioned herein to a user.
[0236] Any of the methods described herein may be totally or partially performed with a computer system including one or more processors, which can be configured to perform the steps. Any operations performed with a processor (e.g., aligning, determining, comparing, computing, calculating) may be performed in real-time. The term “real-time” may refer to computing operations or processes that are completed within a certain time constraint. The time constraint may be 1 minute, 1 hour, 1 day, or 7 days. In other embodiments, this may include operations or process completed as the same rate that data on which those operations or processes interact with are received. Thus, embodiments can be directed to computer systems configured to perform the steps of any of the methods described herein, potentially with different components performing a respective step or a respective group of steps. Although presented as numbered steps, steps of methods herein can be performed at a same time or at different times or in a different order. Additionally, portions of these steps may be used with portions of other steps from other methods. Also, all or portions of a step may be optional. Additionally, any of the steps of any of the methods can be performed with modules, units, circuits, or other means of a system for performing these steps.
[0237] The specific details of particular embodiments may be combined in any suitable manner without departing from the spirit and scope of embodiments of the disclosure. However, other embodiments of the disclosure may be directed to specific embodiments relating to each individual aspect, or specific combinations of these individual aspects.
[0238] Tire above description of example embodiments of the present disclosure has been presented for the purposes of illustration and description. It is not intended to be exhaustive or to limit the disclosure to the precise form described, and many modifications and variations are possible in light of the teaching above.
[0239] A recitation of "a", "an" or "the" is intended to mean "one or more" unless specifically indicated to the contrary. The use of “or” is intended to mean an “inclusive or,” and not an “exclusive or” unless specifically indicated to the contrary. Reference to a “’first” component does not necessarily require that a second component be provided. Moreover, reference to a “first” or a “second” component does not limit the referenced component to a particular location unless expressly stated. Tire term “based on” is intended to mean “based at least in part on.”
Figure imgf000065_0001
[0241] All patents, patent applications, publications, and descriptions mentioned herein are incorporated by reference in their entirety for all purposes. None is admitted to be prior art. Where a conflict exists between the instant application and a reference provided herein, the instant application shall dominate.

Claims

WHAT IS CLAIMED IS:
1. A method performed by one or more processors of a computer system, the method comprising: determining, using a plant model, a first predicted performance of a plant at a first location of a facility based on a first growth input associated with the first location; determining that the first predicted performance does not satisfy a target performance; determining a second growth input associated with a second location in the facility; determining, using the plant model, a second predicted performance of the plant at the second location in the facility based on the second growth input; determining whether the second predicted performance is closer to the target performance than the first predicted performance; and instructing a mover device to relocate the plant from the first location to the second location based on the second predicted performance being closer to the target performance than the first predicted performance.
2. The method of claim 1, further comprising: measuring, using one or more plant sensors, current plant characteristics, wherein determining the first predicted performance and the second predicted performance uses the current plant characteristics.
3. The method of claim 1, wherein the second growth input includes a predicted growth input at the second location, the predicted growth input including a predicted facility condition determined using a facility model.
4. The method of claim 1, wherein determining the second growth input includes determining, using a greenhouse model, that the second growth input is atainable at the second location by changing one or more environmental actuators of tire facility.
5. The method of claim 1, wherein the first growth input includes a predicted growth input at the first location, the predicted growth input including a predicted facility condition determined using a facility model .
6. The method of claim 1, further comprising: determining, using the plant model, a third predicted performance of a second plant at a third location of the facility based on a third growth input associated with the third location; determining that the third predicted performance does not satisfy the target performance; determining a fourth growth input associated with a fourth location m the facility; determining, using the plant model, a fourth predicted performance of the second plant at the fourth location in the facility based on the fourth growth input; determining that tire fourth predicted performance is not closer to the target performance than the third predicted performance; and instructing the mover device to relocate the second plant from the third location to a culling station.
7. The method of claim 6, w herein the fourth growth input includes a predicted growth input at the fourth location, the predicted growth input including a predicted facility condition determined using the facility model.
8. The method of claim 6, wherein determ ining the fourth growth input includes determining that the fourth growth input is atainable at the fourth location bychanging one or more environmental actuators of the facility.
9. Tire method of claim 1 , wherein the second predicted performance satisfies the target performance.
10. The method of claim 1, wherein the second predicted performance does not satisfy the target performance.
11. A method performed by one or more processors of a computer sy stem, the method comprising: receiving a map of a facility having a plurality of grow' locations, the plurality of grow locations including a first set of grow locations and a second set of grow locations; receiving, at each of a plurality of times, sensor measurements for each of plurality of the grow locations from one or more plant sensors; determining a facility model based on the sensor measurements, the facility model providing facility conditions at future times; determining, based on the sensor measurements and the facility model, predicted growth inputs for a specified period of time for the plurality of grow locations, the predicted growth inputs including predi cted facility conditions, the first set of grow locations associated with a first set of predicted growth inputs of the predicted growth inputs, and the second set of grow' locations associated with a second set of predicted growth inputs of the predicted growth inputs; testing a plurality of simulated plants at the first set of grow locations in a first configuration for the specified period time, each simulated plant associated with target growth inputs including target facility conditions, the testing including determining a first score based on a first difference between the target growth inputs and the first set of predicted growth inputs; testing the plurality of simulated plants at the second set of grow' locations in a second configuration by determining a second score based on a second difference between the target growth inputs and the second set of predicted growth inputs; and assigning the simulated plants to grow locations on the map according to the first or second configuration based on the first score and the second score, thereby- determining a growth map.
12. The method of claim 11, wherein the simulated plants are associated with plants in the facility; and further comprising instructing a mover device to relocate the plants according to the growth map.
13. Tie method of claim 1 1, wherein the sensor measurements include non-environmental sensor measurements, the non-environmental sensor measurements including at least one of a water level and water profile, the water profile including at least one of a EC, pH, ORP, and nutrien t concentration .
14. The method of claim 11, wherein: the sensor measurements include current environmental sensor measurements outside of the facility and current facility conditions; and determining the facility model includes: receiving environmental data records, the environmental data records including forecasted environmental sensor measurements outside of the facility, past environmental sensor measurements outside of the facility , past facility conditions, current facility conditions, past settings of environmental actuators, and current settings of the environmental actuators; and determining, paterns between the sensor measurements and environmental data records, thereby providing facility conditions at the future times.
15. The method of claim 14, wherein the facility model is configured to determine the predicted settings of environmental actuators required to achieve the facility condition at the future time based on the sensor measurements and current settings of the environmental actuators.
16. The method of claim 11, wherein the target growth inputs correspond to a target performance for the simulated plants, and wherein the method further comprises determining avoidance growth inputs to avoid, including: determining a first predicted performance, using a plant model based on the first set of predicted growth inputs and the sensor measurements, for each of the simulated plants at the first set of grow' locations; determining a first performance score based on a first difference between the target performances and the first predicted performances; determining a second predicted performance, using the plant model based on the second set of predicted growth inputs and the sensor measurements, for each of the simulated plants at the second set of grow locations; determining a second performance score based on a second performance between the target performances and the second predicted performances; and determining the avoidance growth inputs based on the first and second performance scores, wherein assigning the simulated plants is additionally based on the avoidance growth inputs.
17. Hie method of claim 11, wherein the plurality of grow locations include a plurality of current plant locations, the plurality of plants correspond to the plurality of simulated plants, and wherein the method further comprises: testing the plurality of simulated plants in the first configuration includes determining a first distance score based on a first distance between the plurality of current plant locations and the first set of grow locations; testing the plurality of simulated plants in the second configuration includes determining a second distance score based on a second distance between the plurality of current plant locations and the second set of grow locations, and wherein assigning the simulated plants on the map according to the first or second configurations is additionally based on the first and second distance scores.
18. Hie method of claim 11, wherein: the plurality of grow locations include a plurality of current plant locations; the plurality of simulated plants includes simulated plants corresponding to the current plant locations and simulated plants that are not associated with the current plant locations; and the first and second set of predicted growth inputs includes growth inputs for gap grow locations of the grow locations that are not associated with the simulated plants corresponding to the current plant locations.
19. The method of claim 11 , wherein: the plurality of simulated plants includes a first plant module of corresponding to a first variety and a second plant module corresponding to of a second variety; and testing the simulated plants in the first and second configurations includes determining the first and second scores by mixing the first and second plant modules.
20. A computer product comprising a non-transitory computer readable medium storing a plurality of instructions that when executed cause a computer system to perform the method of any one of the preceding claims.
21 . A system comprising : the computer product of claim 20; and one or more processors for executing instructions stored on the computer readable medium.
22. A system comprising means for performing any of the above methods.
23. A system comprising one or more processors configured to perform any of the above methods.
PCT/US2022/045582 2021-10-01 2022-10-03 Distributing plants within an automated agricultural facility WO2023056099A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US202163251493P 2021-10-01 2021-10-01
US63/251,493 2021-10-01

Publications (1)

Publication Number Publication Date
WO2023056099A1 true WO2023056099A1 (en) 2023-04-06

Family

ID=85783587

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2022/045582 WO2023056099A1 (en) 2021-10-01 2022-10-03 Distributing plants within an automated agricultural facility

Country Status (1)

Country Link
WO (1) WO2023056099A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170161560A1 (en) * 2014-11-24 2017-06-08 Prospera Technologies, Ltd. System and method for harvest yield prediction
US20200134486A1 (en) * 2018-10-24 2020-04-30 The Climate Corporation Leveraging genetics and feature engineering to boost placement predictability for seed product selection and recommendation by field
US20200184153A1 (en) * 2018-02-20 2020-06-11 Osram Gmbh Controlled Agricultural Systems and Methods of Managing Agricultural Systems

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170161560A1 (en) * 2014-11-24 2017-06-08 Prospera Technologies, Ltd. System and method for harvest yield prediction
US20200184153A1 (en) * 2018-02-20 2020-06-11 Osram Gmbh Controlled Agricultural Systems and Methods of Managing Agricultural Systems
US20200134486A1 (en) * 2018-10-24 2020-04-30 The Climate Corporation Leveraging genetics and feature engineering to boost placement predictability for seed product selection and recommendation by field

Similar Documents

Publication Publication Date Title
US20220075344A1 (en) A method of finding a target environment suitable for growth of a plant variety
US20180014485A1 (en) Environmentally controlled vertical farming system
US11557118B2 (en) Method for selectively deploying sensors within an agricultural facility
CN109242201A (en) A kind of method, apparatus and computer readable storage medium for predicting crop yield
Marcelis et al. Evaluation under commercial conditions of a model of prediction of the yield and quality of cucumber fruits
WO2023056098A2 (en) Targeted output within an automated agricultural facility
Costa et al. Greenhouses within the Agricultura 4.0 interface
EP4289262A2 (en) System and method for plant indexing in a hydroponic farming environment and a hydroponic farming environment
WO2022067418A1 (en) System and method for testing plant genotype and phenotype expressions under varying growing and environmental conditions
US20230309464A1 (en) Method and apparatus for automated crop recipe optimization
WO2023056099A1 (en) Distributing plants within an automated agricultural facility
WO2023081511A1 (en) Optimizing growing process in a hybrid growing environment using computer vision and artificial intelligence
US20220104437A1 (en) Reduction of time of day variations in plant-related data measurements
US20220107297A1 (en) Platform for real-time identification and resolution of spatial production anomalies in agriculture
Ohyama et al. Evaluating labor productivity in a plant production system with sole-source lighting: A case study
WO2021067847A1 (en) Agricultural platforms
US20240138327A1 (en) System and method for plant indexing in a hydroponic farming environment and a hydroponic farming environment
US20230172128A1 (en) Root growth optimization method
EP1220121A1 (en) System and method for predicting plant development
KR102661904B1 (en) System for Growing Plant Based on Artificial Intelligence
Goh Indoor hydroponics farming system monitoring via internet of things (IoT)
Sinoquet et al. Using virtual plants to estimate light distribution at intra-canopy scale in apple trees: Method presentation and assessment
Akomaye et al. Importance of Smart Farming Practices for Sustainable Agriculture
Hayashi Phenotypic variations in the growth of lettuce seedlings as affected by the surrounding microenvironment and management factors
KR20240053799A (en) System for Growing Plant Based on Artificial Intelligence

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22877437

Country of ref document: EP

Kind code of ref document: A1