Autonomous energy field

An autonomous system using drones and vehicles with remote sensing optimizes solar field operations by managing vegetation and installing components to enhance energy efficiency and reliability.

JP2026516034APending Publication Date: 2026-05-19DS2 0 LLC
View PDF 8 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
DS2 0 LLC
Filing Date
2024-05-03
Publication Date
2026-05-19

AI Technical Summary

Technical Problem

Existing solar fields face challenges in maximizing solar radiation capture and maintaining optimal performance due to factors like vegetation growth, terrain obstacles, and equipment failures, which are often not identified until they cause failures.

Method used

Implementing an autonomous system of drones and autonomous vehicles equipped with remote sensing devices, such as LiDAR, to scan and analyze the geographic area, determine necessary changes, and autonomously execute tasks like vegetation management and component installation to achieve a target state, using machine learning for predictive vegetation management and obstacle avoidance.

Benefits of technology

Enhances energy efficiency and reliability of solar fields by proactively managing vegetation, optimizing component placement, and preventing equipment failures, thereby increasing power output and reducing maintenance costs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026516034000001_ABST
    Figure 2026516034000001_ABST
Patent Text Reader

Abstract

Methods, systems, and apparatus for implementing an autonomous energy field, including a computer program encoded in a computer storage medium. In one embodiment, the method includes deploying at least one drone including a remote sensing device; collecting a scan of a geographic area by the remote sensing device of at least one drone; determining, based on the scan of the geographic area, the changes to the geographic area necessary to achieve a target state of the geographic area; determining, based on the collected scan, a given device to be deployed to make the changes necessary to achieve a target state of the geographic area; and deploying a given device having instructions to make the changes necessary to achieve a desired state of the geographic area, wherein deploying the device includes causing the given device to move within the geographic area.
Need to check novelty before this filing date? Find Prior Art

Description

Background Art

[0001] This specification relates to data processing and to evaluating and controlling the operation of a solar field. A solar field is a large area covered with solar panels used to generate electricity from solar energy. The panels are arranged in a grid and connected to an inverter that converts the DC electricity generated by the panels into AC electricity that can be used in homes and businesses. The location, layout, and operation of the solar field take many factors into account, but generally the goal is to maximize the amount of solar radiation captured by the solar panels and ultimately converted into AC electricity.

Summary of the Invention

[0002] In general, one innovative aspect of the subject matter described in this specification is to place at least one drone that includes a remote sensing device, collect a scan of a geographic area by the remote sensing device of the at least one drone, determine changes to the geographic area necessary to achieve a target state of the geographic area based on the scan of the geographic area, determine a given device to be placed to make changes necessary to achieve the target state of the geographic area based on the collected scan, and place the given device having instructions to make changes necessary to achieve a desired state of the geographic area in the geographic area, where placing the device includes advancing the given device within the geographic area, which can be embodied in a method that includes actions to perform. Other embodiments of this aspect include corresponding systems, devices, and computer programs configured to perform the actions of the method and encoded on a computer storage device.

[0003] These embodiments and other embodiments each optionally include one or more of the following features: The remote sensing device may be a LiDAR (light detection and ranging) device. Collecting scans of a geographic area may include generating LiDAR mappings of candidate solar or wind fields.

[0004] Determining the changes to a geographic area necessary to achieve a target state in that geographic area may include determining that vegetation within the geographic area needs to be cut to achieve a vegetation height below a specified height. Placing a given device in a geographic area may include causing an autonomous driving device to perform actions that include moving within the geographic area and cutting vegetation to a height below a specified height.

[0005] The method may include training a machine learning model to predict vegetation growth using a set of historical data, which includes at least one of geographical area vegetation growth history, vegetation management activities, or meteorological data, and generating a proposed vegetation management plan based on the vegetation growth output predicted by the machine learning model, wherein the proposed vegetation management plan specifies different vegetation cutting schedules for different areas of the geographical area based on differences in predicted vegetation growth in different areas. Placing a given device in a geographical area may include placing a given device in different areas of the geographical area according to the proposed vegetation management plan.

[0006] The method may include obtaining a terrain report from data collected using one or more sensors that identifies one or more obstacles that would hinder the operation of the autonomous driving device within a geographical area; generating a steering path based on the terrain report that reduces interference from one or more obstacles to the operation of the autonomous driving device within the geographical area; and having the autonomous driving device proceed within the geographical area according to the steering path.

[0007] The method may include: having the autonomous driving device navigate through a geographical area, retrieving the control path from storage, determining, based on the updated terrain report, that different obstacles will currently hinder the autonomous driving device's control within the geographical area, generating an updated control path different from the original control path based on the updated terrain report, and having the autonomous driving device navigate through the geographical area according to the updated control path.

[0008] The method may include analyzing the collected scans, selecting one or more installation locations for the solar field components based on the analysis of the collected scans, generating commands to one or more autonomous vehicles to transport one or more solar field components to the selected installation locations of the solar field components at runtime, and having one or more autonomous vehicles transport one or more solar field components to the selected installation locations of the solar field components.

[0009] The selection of installation locations for one or more solar field components may include selecting one or more of the following: (i) installation locations for poles configured to support solar panels, (ii) inverters, (iii) transformers, (iv) sideways, or (v) control stations.

[0010] The method may include detecting an actionable state by an autonomous driving device while moving within a geographical area, reporting the actionable state by the autonomous driving device to a system controller configured to interact with the autonomous driving device and one or more other devices, and causing one or more other devices to perform an action to resolve the actionable state by the system controller.

[0011] Detecting an actionable state may include determining that vegetation is detected on a solar panel support, and causing one or more other devices to perform an actionable state resolution action may include causing a vegetation mitigation device to move to the location of the solar panel support and remove or spray the vegetation.

[0012] Detecting an actionable state may involve detecting object characteristics that are not accurately represented in a database storing the characteristics of objects located in a geographical area, and having one or more other devices resolve the actionable state may involve updating the database storing the characteristics of objects located in a geographical area to reflect the detected characteristics of the object.

[0013] Detecting an actionable condition may include detecting one or more of the following: (i) being outside the heat resistance temperature range read by the solar panel, (ii) burnout, (iii) arc discharge, (iv) crack in the solar panel, or (v) a ground fault that does not cause a solar panel failure condition; and causing one or more other devices to perform an action to resolve the actionable condition may include causing one or more other devices to (i) generate a visible or audible alarm, (ii) move the vehicle to the actionable position, or (iii) disable the solar panel.

[0014] The method may include monitoring the location of a given device within a geographical area and remotely adjusting the orientation of one or more objects within the geographical area using one or more optical or electrical control signals to prevent interference with the operation of the given device as it approaches the location of one or more objects.

[0015] Adjusting the orientation of one or more objects may include adjusting the tilt angle of the solar panel to an angle that allows a given device to move under the solar panel.

[0016] Details of one or more embodiments of the subject matter described herein are given in the accompanying drawings and the following description. Other features, aspects, and advantages of the subject matter will become apparent from the description, drawings, and claims. [Brief explanation of the drawing]

[0017] [Figure 1] This is a diagram illustrating an example of a solar field. [Figure 2] This is a bird's-eye view of the solar field. [Figure 3A] This is a diagram showing an autonomous lawnmower approaching a set of solar panels. [Figure 3B] This is a diagram showing an autonomous lawnmower approaching a set of solar panels. [Figure 3C] This is a diagram showing an autonomous lawnmower approaching a set of solar panels. [Figure 3D] This is a diagram showing an autonomous lawnmower approaching a set of solar panels. [Figure 3E] This is a diagram showing an autonomous lawnmower approaching a set of solar panels. [Figure 3F] This is a diagram showing an autonomous lawnmower approaching a set of solar panels. [Figure 4] This is a diagram of an environment where machine learning models can be implemented. [Figure 5] This is a flowchart illustrating an exemplary process for autonomously changing geographical regions. [Modes for carrying out the invention]

[0018] Similar reference numbers and names in various drawings refer to the same elements.

[0019] This specification describes a method, system, and computer-readable medium for implementing an autonomous green energy facility (e.g., a solar plant or a wind plant), referred to herein as an autonomous facility, for the sake of brevity. As will be described in more detail below, the planning, development, provisioning, operation, and maintenance of an autonomous facility can be performed by a group of interconnected devices. These interconnected devices can be configured to communicate, coordinate, and perform the activities necessary for the creation and operation of an autonomous facility.

[0020] For example, a control station can collect information from sensors of various devices across a geographical area, determine what actions need to be taken to achieve a given (desired) state of an autonomous facility, and place other devices to perform the actions necessary to achieve a given state of the autonomous facility. The actions to be determined can include actions such as identifying the optimal location for the installation of components of an autonomous facility, conditions that can lead to future equipment failures but are usually not identified until after the failure occurs, and changes in vegetation growth that need to be mitigated (e.g., the vegetation needs to be cut or otherwise removed). By implementing an autonomous facility using the methods described herein, an autonomous facility that uses less energy and is more efficient can be realized, maintaining more optimal performance of the equipment within the facility and providing a higher level of power output than the levels achieved by facilities that do not utilize the techniques described herein.

[0021] FIG. 1 is a diagram of an exemplary solar field 100. The solar field 100 includes solar panels 102a, 102b, 102c, and 102d arranged in a grid pattern. Solar panels 102a - 102d are typically angled to face the sun, either by tilting the panels in a fixed position to maximize the amount of sunlight hitting the panels or by using a tracking system that follows the movement of the sun during the day, to generate as much energy as possible. To facilitate the movement of solar panels 102a - 102d, solar panels 102a - 102d can be rotatably mounted on a support structure 104, whereby solar panels 102a - 102d can be rotatably repositioned to track the position of the sun.

[0022] Each of solar panels 102a - 102d is connected (e.g., electrically connected) to one of inverters 106a or 106b. Inverters are used in a solar field to convert direct current (DC) generated by solar panels into alternating current (AC) that can be used by homes, businesses, and the power grid. Inverters in a solar field can be connected to multiple solar panels and are configured to handle large amounts of DC voltage (e.g., 1000 - 1500V, or another amount of voltage). Inverters 106a and 106b are configured to convert DC voltage to AC voltage.

[0023] Inverters 106a and 106b can perform several other functions in solar field 100. For example, inverters 106a and 106b can monitor the performance of solar panels 102a - 102d and adjust the output of the system for the purpose of maximizing the amount of electrical power generated by solar field 100. Inverters 106a and 106b can also be configured to provide safety functions such as overvoltage protection, overcurrent protection, and grounding (e.g., including their electronic components) to prevent damage to the system and ensure the safety of any people working on or near the system.

[0024] The inverters 106a to 106b are connected to the transformer 108 (for example, electrically). The transformer 108 is configured to convert the voltage level of the AC power generated by the inverters 106a to 106b to a level suitable for transmission and distribution through the power grid. In some situations, the transformer 108 can raise the voltage of the AC power received from the inverters 106a to 106b to several hundred or several thousand kilovolts to facilitate the efficient transmission of power through the transmission line 110.

[0025] Solar Field 100 also includes a control station 112. Although the control station 112 is shown to be located in the same location as the solar panels 102a-102d (for example, located in Solar Field 100), some or all of the components of the control station 112 may be located in remote locations, such as one mile away from the solar panels, or even several thousand miles away. The control station 112 may be a structure that houses computer equipment configured to run one or more applications that automate the development and / or operation of Solar Field 100. The control station 112 may also include a communication interface that allows the control station 112 to communicate with various devices within Solar Field 100. For example, as shown in Figure 1, the control station 112 may include a radio communication transceiver 114 configured to wirelessly connect to and / or communicate wirelessly with other devices in Solar Field 100. Needless to say, the control station 112 may include a hardwired communication interface (e.g., electrical and / or optical).

[0026] As will be described in more detail below with reference to other figures, the control station 114 can communicate with various autonomous devices, such as a drone 116, an autonomous mower 118, an autonomous truck, or other autonomous devices that autonomously facilitate the installation, operation, and maintenance of the solar field 100. In this specification, the term autonomous is used to refer to the ability of a device to operate without direct human control. For example, the autonomous mower 118 may be a mower that can move around the solar field 100 without a human operator and cut vegetation within the solar field 100. More specifically, the control station 114 can be configured to communicate with the autonomous mower 118 (for example, wirelessly), to position the mower 118, to instruct the mower on which areas of the solar field need to have their vegetation cut, to receive data from the mower 118 (for example, using a camera or other sensor installed on the mower 118), to update stored information about the solar field (for example, the physical state of the solar field as detected by the mower 118), and / or to adjust commands provided to the mower 118 and / or other devices.

[0027] The control station 114 can also be configured to position the drone 116 (also known as an unmanned aerial vehicle), instruct the drone on where to go, and instruct the drone regarding the data it collects. The drone 116 may be equipped with a camera, a geolocation sensor (GPS), a light sensor, a moisture sensor, a thermal sensor, or other suitable sensors, and other payloads that enable the drone 116 to perform a wide range of tasks within the solar field 100. For example, the drone 116 can be used for aerial photography, surveying, mapping, vegetation monitoring, wildlife monitoring, and delivery of goods to or from locations within the solar field 100.

[0028] The drone 116 may also be equipped with a LIDAR (Light Detection and Ranging) device to collect 3D information about the solar field 100. For example, the LIDAR sensor of the drone 116 can collect 3D information to create a 3D map of the geographical location of the solar field 100. More specifically, the LIDAR scanning mechanism moves a laser beam across the area and measures the distance to all objects in the field of view. By rapidly repeating this process, the LIDAR can construct a highly detailed 3D point cloud that accurately represents the shape and location of objects in the environment. Each point in the 3D point cloud will contain depth information and x and y coordinates, thereby allowing the height and / or distance between each item detected by the LIDAR to be determined. This can be useful, for example, in determining when vegetation has reached a height that needs to be cut.

[0029] In addition to distance measurement, LIDAR can also be used to collect information on the reflectivity and spectral properties of objects along its path. This can provide additional information on the material composition and surface properties of objects, which can be useful in applications such as terrain mapping, vegetation analysis, and object detection. For example, this information can be used to identify burnt-out or cracked solar panels 102a-102d.

[0030] In some embodiments, the area to be scanned (e.g., using the drone's LiDAR or other sensors) can be controlled by the control station 112. For example, the control station 112 may be configured to collect data from the solar panels 102a-102c, inverters 106a-106b, transformer 108, lawnmower 118, and other devices in the solar field. Using the collected data, the control station 112 can determine the possibility that the current state of the solar field 100 is not the target / desired state, and / or the future state of the solar field 100 is not the target / desired state. In response to determining that the current or future state of the solar field 100 will not be the target state (e.g., with a specified level of certainty), the control station 112 may position a given device and instruct the given device to change one or more aspects of the solar field to maintain the target state or return the solar field to the target state.

[0031] In a specific example, suppose the data collected by drone 116 indicates the height of vegetation within the area of ​​solar panels 102a-102d. In this example, control station 114 (or drone 116) can compare the vegetation height to a threshold height (e.g., 6 inches or some other specified height) to determine whether the vegetation height is within the target state (e.g., below the threshold height). In response to determining that the vegetation height is higher than the threshold height, control station 113 can conclude that the vegetation is too high and that the current state of solar field 100 is outside the target / desired state.

[0032] In this example, to return the state of the solar field 100 to a target / desired state, the control station 112 can position the mower 118 at the location of the vegetation and cause the mower 118 to cut the vegetation. More specifically, the control station 112 can process the collected data and generate a set of commands that define the area of ​​vegetation that the mower 118 will cut, cause the mower 118 to move to that area, and cause the mower 119 to engage the blades of the mower. In some embodiments, the commands created by the control station 112 can specify the path that the mower must take, while in some embodiments, as will be described in more detail with reference to Figures 3A-3F, the commands created by the control station 112 can simply define the area to be mowed, and the mower 118 can use a GPS sensor (and / or other sensor) installed on the mower 118 to move to the area specified by the control station 112.

[0033] As will be described in more detail throughout this specification, the control station 112 coordinates the operation of many different devices or other energy generation locations that automate much, though not all, of the planning, construction, operation, and maintenance of the solar field 100. For example, Figure 2 illustrates how the control station 112 can address the planning and construction of the solar field 100. Figures 3A to 3G illustrate further details of the operation and maintenance of the solar field 100 that the control station 112 can perform. Figure 4 illustrates further details of the computing device(s) used to implement the control station 112.

[0034] Figure 2 is a bird's-eye view 200 of a solar field, such as solar field 100 in Figure 1. The bird's-eye view 200 shows the geographical locations of the control station 112, inverter 106a, and transformer 108. Although the physical location of the control station 112 is shown in the bird's-eye view 112, the control station 112 and / or one or more computing devices may be located in different locations before and / or after the construction of the solar field is completed.

[0035] Bird's-eye view 200 also shows the location of marshalling station 202. In this specification, the term “marshalling station” is used to refer to a location where materials are delivered, sorted, and / or stored until they are needed. In this example, marshalling station 202 can function as a delivery point for materials used to construct the solar field depicted in bird's-eye view 200. Marshalling station 202 can also function as a delivery / distribution point for materials used to operate and maintain the solar field after its construction is complete. For example, marshalling station 202 can be used as a storage and staging area for equipment and materials required during the construction of the solar field, such as solar panels, trackers, and mounting hardware, as well as for loading and unloading construction materials such as concrete, steel, and electrical components. In some situations, marshalling station 202 can also accommodate various autonomous vehicles controlled by control station 112.

[0036] In some embodiments, the control station 112 (or a computing device not yet part of the control station) can create a map depicting the bird's-eye view 200 based on a combination of collected data and layout preferences / constraints. For example, initially, the control station 112 may receive as input geographic information (e.g., GPS coordinates, latitude / longitude information, platform number, address, geographic information system ("GIS") information, or other information) that defines the boundaries 204 of the geographic location where the solar field will be constructed.

[0037] Using this information, the control station 112 can generate a set of instructions to position the drone 116 in a geographical area within the boundary 204 and perform a scan of the geographical area within the boundary 204. For example, as described above, the control station 112 can instruct the drone to capture 3D data of an area within the boundary 204 and collect information acquired by the drone 116 in real time or after the drone 116 has completed scanning the area. In some embodiments, the instructions generated by the control station 112 can specify, at least in part, the route that the drone 116 should take. In some embodiments, the drone 116 can be pre-programmed to survey an area within a set of boundaries specified by the control station 112 (e.g., an area within the boundary 204). In any case, the data collected by the drone 116 can be provided to the control station 112 for processing.

[0038] The control station 112 can use the data collected by the drone 116 to identify the position, altitude changes, and ground conditions of each tree 206. For example, the control station 112 can apply an object identification model to the data collected by the drone 116 to identify various objects located within the boundary 204. More specifically, the object identification model can accept a point cloud as input and output the most likely object category for different groups of points within the point cloud. Using this output, the control station 112 can create an initial map containing all the identified objects, which can then be used to plan the layout of the solar field components.

[0039] An object recognition model can be, for example, a convolutional neural network (CNN) trained using a pre-labeled sample point cloud. During training, the model learns to recognize patterns and features associated with various object categories. The training process involves inputting training data into the model and updating internal parameters based on the error or loss between its predicted output and the actual output.

[0040] The control station 112 can proceed with planning the layout of the solar field using a set of preferences / constraints stored in the memory device. For example, the control station 112 can call the memory device to access a set of parameters that specify the preferences / constraints of the solar field. The preferences / constraints may specify electrical requirements, such as the minimum power generation requirement for the solar field. The preferences / constraints may also specify a set of available materials / vehicles for constructing the solar field. The preferences / constraints may include any other factors stored in the memory device that may help determine the layout of components within the boundary 204 (e.g., access points to the grid, location of surrounding roads, or other relevant information).

[0041] The control station 112 can create a layout, for example, by identifying areas that achieve as many specified preferences as possible while working within specified constraints. For example, if access to the grid's transmission lines is easiest from one side of boundary 204, the control station 112 may place the transformer 108 in a position that facilitates easy access to the transmission lines by arranging the component layout to ensure easy access to the transmission lines. In some situations, preferences / constraints are ranked in order of importance, so the control station 112 can make layout decisions using a weighted method, with higher-ranked preferences / constraints being given more weight when the control station 112 creates the layout. In some embodiments, the control station 112 can iteratively create multiple layouts, score each layout based on a set of criteria, such as energy production, ease of access to the location by construction / maintenance equipment, or other criteria, and select the layout with the highest score.

[0042] As part of creating the layout, the control station 112 can select the geographical location of the control station 112, the inverter, the transformer 108, the marshalling center 202, and the road 208. The control station 112 can also select the location of the solar panels (not shown) and specific mounting structure locations 210 for the mounting structures on which the solar panels will be installed. The control station 112 can, for example, select specific mounting structure locations 210 to maximize the sunlight exposure of the solar panels after installation.

[0043] The determination of the specific mounting structure location can be made, for example, based on information regarding the sun's orientation to the area within the boundary throughout the day and at different times of the year. The decision can also take into account the type of mounting structure to be installed. For example, the specific mounting structure location can take into account whether the mounting structure is a fixed tilt system, a single-axis tracking system, or a double-axis tracking system. A fixed tilt system is stationary and does not move, while single-axis and double-axis tracking systems are designed to maximize energy generation by following the sun's path across the sky. Furthermore, since these structures are almost always fixed to the ground (e.g., pile foundations), the specific mounting structure location (e.g., the location of the hole drilled in the ground) will depend on the configuration of the specific mounting structure being used.

[0044] When the layout of the solar field is created, the control station 112 can initiate the process of modifying areas within the boundary 204 as necessary to construct the solar field. For example, the control station 112 can position autonomous land clearing / leveling devices (e.g., tree cutters, bulldozers, or other land clearing / leveling devices) that have commands to modify areas within the boundary for the construction of the solar field. For example, using the layout, the control station 112 can generate commands for these devices to cut trees and level the land in the area where the road 208 will be located. The control station 112 can send these commands to the appropriate autonomous devices, resulting in the positioning of these autonomous devices and the commencement of land clearing / leveling on the land where the road 208 is being constructed.

[0045] The control station 112 can also communicate with other autonomous vehicles, such as a vehicle configured to lift cut trees and a timber transport truck 212. The tree lifter and timber transport truck can be positioned at the tree cutter's location while the trees are being cut, lift the trees, place them on the timber transport truck 212, and remove them from the area. Similarly, the control station 112 can communicate with a wood chipper and / or dump truck so that these vehicles can be moved to the location where the trees are being cut, allowing the trees to be mulched and possibly transported away by truck when the geographical area is being altered (e.g., when the trees are being removed).

[0046] The control station 112 can also interact with the autonomous auger 214, position the autonomous auger 214 in the area of ​​specific mounting structure locations 210, and send commands to the autonomous auger 214 to drill holes in the ground at the specific mounting structure locations 210. For example, the commands sent to the autonomous auger 214 may include GPS coordinates for each specific mounting structure location 210, and the autonomous auger 214 may drill holes in the ground at each specific mounting location 210 based on the commands. In some embodiments, the autonomous auger 214 is also configured to create pile foundations and / or insert poles of the mounting structure into the ground at each specific mounting location 210. In some embodiments, the control station 112 can interact with another autonomous vehicle, position the other autonomous vehicle to create pile foundations or insert poles of the mounting structure into holds created by the autonomous auger 214.

[0047] To facilitate the installation of the solar panels, inverter 106a, transformer 108, and control station 112, the control station 112 can communicate with third-party suppliers to have the appropriate materials delivered to the marshalling center 202. For example, the control station 112 can request the delivery of the appropriate materials, have autonomous vehicles load and unload the materials, and place the materials in the marshalling center 202 before they are needed. As construction of the solar field continues, the control station 112 can instruct the appropriate autonomous vehicles to proceed to the marshalling center 202 to distribute the materials to the appropriate locations. For example, when installing the transformer 108, the control station 112 can direct an autonomous delivery truck 216 to the marshalling center, where an autonomous picker will move the transformer 108 from its storage location in the marshalling station 202 onto the delivery truck 216. The control station 112 can then direct the delivery truck 216 to the planned installation location of the transformer 108. When the delivery truck 216 arrives at the planned installation location, the control station 112 can instruct an autonomous forklift or another device to unload the transformer 108 and set it in place.

[0048] The control station 112 can be configured to control other autonomous vehicles and perform other activities necessary to construct a solar field according to a map, but several examples are provided above to demonstrate the control station 112's ability to coordinate the movements and actions of various autonomous vehicles to construct a solar field. For example, the control station can take a scan of a geographical area, determine how the area needs to be modified to complete the construction of the solar field, position the appropriate vehicles / machinery to make the necessary modifications, and collect data from the vehicles regarding the modifications. The data received regarding the modifications can be stored, for example, in a database containing the characteristics of the solar field for use in the operation and maintenance of the solar field.

[0049] Maintenance of solar fields often requires vegetation control, for example, to prevent vegetation from interfering with the mobility and / or ability of solar panels to collect sunlight. As illustrated with reference to Figure 1, vegetation control may include using an autonomous mower in areas of the solar field where vegetation cutting is required, but coordination with other devices and / or components of the solar field may also be necessary. For example, when using a tracker, the orientation of the solar panel changes, which in turn changes the height of at least one edge of the solar panel from the ground. This change in height may result in a low clearance between the ground and the edge of the solar panel, preventing devices such as autonomous mowers from moving close to the solar panel. To address this problem, the control station 112 may, for example, move the solar panel to coordinate the movement of a device through the solar field with the movement of the solar panel, allowing the device to move.

[0050] Figure 3A shows an autonomous lawnmower 302 approaching a set of solar panels 304a-304f. As shown in Figure 3A, a tracker controlling the orientation of solar panels 304a-304f tilts the solar panels 304a-304f toward the sun 306, causing the leading edges 308a-308f of solar panels 304a-304f to be lowered to a height that prevents the lawnmower 302 from moving under the solar panels 304a-304f along the path defined by dashed lines 310a and 310b. To allow the lawnmower 308 to move under the solar panels 304a-304f along the path, the control station 112 can monitor the position of the lawnmower 302, and when the lawnmower 308 is within a specified distance (e.g., geofence) of the solar panels 304a-304f, the control station 112 can remotely adjust the orientation of the solar panels 304a-304f. For example, the control station 112 can engage with a tracker that controls the orientation of the solar panels (e.g., by initiating the movement of the tracker) and lift the leading edges 308a-308f of the solar panels 304a-304f to at least enough clearance for a lawnmower (or another device) to move underneath the solar panels 304a-304f.

[0051] Figure 3B shows an autonomous mower 302 moving beneath solar panels 304a-304b. In Figure 3B, the tracker engagement by the control station 112 adjusts the tilt angle of the solar panels 304a-304b so that the leading edges 308a-308b of these solar panels 304a-304b are higher off the ground than the leading edges 308c-308f. As the height of the leading edges 308a-308b increases, the mower 302 (or another given device) can move beneath the solar panels 304a-304b, thereby cutting the vegetation beneath the solar panels 304a-304b without needing to adjust the other solar panels 304c-304f.

[0052] As the mower 302 continues along its path, it will emerge from beneath solar panels 304a-304b and approach solar panels 304c-304d. As the mower 302 continues its operation, the control station 112 continuously monitors the movement of the mower 302 and engages the tracker to appropriately adjust the orientation of solar panels 304a-304f, allowing the mower 302 to move beneath solar panels 304a-304f. Figure 3C shows the autonomous mower 302 moving beneath solar panels 304c-304d after passing solar panels 304a-304b.

[0053] In Figure 3C, the control station 112 re-engages the trackers on solar panels 304a-304b, tilting these solar panels 304a-304b again toward the sun 306. The control station 112 also engages (activates) the trackers on solar panels 304c-304d, adjusting the tilt angle of solar panels 304a-304b, so that the leading edges 308c-308d of these solar panels 304c-304d are higher off the ground than the leading edges 308a, 308b, 308d, and 308f of the other solar panels 304a, 304b, 304d, and 304e. As described above, as the height of the leading edge 308c~308d increases, the mower 302 (or another given device) can move under the solar panels 304c~304d, thereby cutting the vegetation under the solar panels 304c~304d while allowing the other solar panels 304a, 304b, 304e, 304f to be angled toward the sun 306.

[0054] As shown in Figure 3D, this is a diagram of an autonomous mower 302 moving under solar panels 304e-304f after passing solar panels 304c-304d. When the control station 112 detects that the mower 302 has moved solar panels 304c-304d aside and engages with trackers on solar panels 304e-304f to lift the leading edges 308e-308f, the control station 112 can operate in a similar manner to return solar panels 304c-304d to an inclination angle facing the sun 306. This series of reorientations of rows of solar panels (e.g., 304a and 304b, 304c and 304d, 304e and 304f) is sometimes called a wave sequence.

[0055] The control station 112 can also adjust the rows of solar panels in a similar manner when the mower 302 (or another device) is moving across the rows of solar panels / along the rows of solar panels. Figure 3E shows the mower 302 moving across the rows of solar panels 304a-304f. As shown in the figure, the mower 302 is approaching solar panels 304b and 304d from the right and is moving in the direction of arrow 310. In this example, the control station 112 can detect, based on position monitoring and / or geofencing, that the mower 302 is approaching these two solar panels 304b and 304d and determine the current orientation of solar panels 304b and 304d. For example, based on signals transmitted to the control station 112 by the trackers of these solar panels 304b and 304d, the control station 112 may determine that the trailing edge 312d of solar panel 304d needs to be raised above the height of the mower 302 (for example, based on the tilt angle of the tracker of solar panel 304d) and the leading edge 308b of solar panel 304b needs to be raised (as shown) to provide clearance for the mower 302, before adjusting the tilt of solar panel 304b as shown. In this example, the control station 112 can provide clearance for the mower 302 to move under solar panel 304b by engaging with the tracker of solar panel 304b and adjusting the tilt angle of solar panel 304b.

[0056] As shown in the figure, the control station may adjust the orientation of solar panel 304b at the same time as, or immediately after, adjusting the orientation of solar panel 304b, anticipating that the lawnmower 302 will move under solar panels 304a to 304c, even though it has not yet adjusted the orientation of solar panel 304a. For example, the control station 112 can optimize solar panel 304a's solar collection by using one or more combinations of the speed of the lawnmower 302, the distance from solar panel 304a to the lawnmower, and the time required for the tracker to raise the leading edge 308a of solar panel 304a above the height of the lawnmower 302, to determine when to engage the tracker of solar panel 304a so that the angle of solar panel 304a is adjusted in the shortest possible time, thereby reducing, for example, the loss of solar collection caused by changing the angle of solar panel 304a.

[0057] Figure F shows an autonomous lawnmower 302 moving under solar panels 304a to 304f. In this figure, the lawnmower 302 is positioned by the control station 112 to follow a designated path identified by arrows 314a to 314g. For example, the control station 112 can generate a command specifying the path identified by arrows 314a to 314g and send the command, along with any additional code required (e.g., API commands), to the lawnmower 302 to move along the path identified by arrows 314a to 314g.

[0058] As the mower 302 moves along a specific path indicated by arrows 314a to 314g, the mower 302 can use various sensors to survey the surrounding environment and determine whether any changes need to be made to the geographical area to achieve a desired state. In other words, the mower 302 can function as a reconnaissance unit to determine what changes need to be made to the solar field based on any actionable conditions it detects as it moves around the solar field. For example, if the mower 302 is equipped with a LIDAR sensor, it can scan the area as it passes through to collect information about the geographical area and / or equipment it passes through. This information can be processed by either the mower 302, the control station 112, or another device to determine the aspect of the solar field that needs to be modified so that the solar field is in a desired state, within specified operating conditions. In some embodiments, the mower 302 reports any actionable conditions to the control station 112, and the control station 112 causes various devices to perform actions to resolve the actionable conditions.

[0059] In a specific example, as a lawnmower 302 moves over a solar panel 304b, the lawnmower 302 can scan the area and collect images, thermal information, or other information about the solar panel 304b and its surrounding environment. This collected information can be processed and used, for example, to identify vegetation growing on the support structure of the solar panel 304b, physical / chemical degradation of the support structure of the solar panel 304b, or cracks in the support structure or the solar panel 304b. Similarly, the collected information can be used to identify burnout of the solar panel 304b (for example, using an object detection algorithm trained to identify burnout), which can indicate a problem with the solar panel 304b that has not yet been detected based on other signals collected regarding the solar panel 304b (e.g., information about its electrical output) and is generally undetectable until the solar panel 304b has completely failed. By detecting such problems before they completely fail, it is possible to resolve the issues to avoid complete failure (for example, by repairing or disabling / replacing solar panels), thereby increasing the reliability, efficiency, and effectiveness of the solar field. It also reduces the risks that can be caused by complete failure, such as fire or power outage, for example, in response to detection.

[0060] To correct the problem, the control station 112 can use the collected information to determine what changes (e.g., maintenance, repair, or replacement) need to be made to resolve the problem, thereby achieving a target state such as normal operation. Based on the necessary changes, the control station 112 can determine one or more devices that need to be used to complete the necessary changes and can place one or more of those devices at the location of the problem (e.g., solar panel 304b) to make the changes.

[0061] For example, suppose control station 112 determines that vines are growing on solar panel 304b and that in order to achieve normal operating conditions, those vines need to be cut or destroyed in another way (e.g., by using herbicides). In this example, control station 112 can position an autonomous device equipped with a vine cutting mechanism and / or a herbicide spraying mechanism at the location of solar panel 304b. Upon executing a command provided by control station 112, the autonomous device can move to the location of solar panel 304b and cut, spray, or otherwise remove any vines or other vegetation growing on solar panel 304b.

[0062] Another example of an actionable state that the lawnmower 302 (or another autonomous device) can detect and report to the control station 112 is the detection of an object's characteristics that are not accurately represented in a database storing the characteristics of objects located in the solar field (or another geographical location). For example, as the lawnmower 302 approaches a solar panel 304, the lawnmower 302 can use its GPS sensor to determine that the support structure (e.g., a support post) of the solar panel 304b is not in the location recorded for that support structure. For example, suppose the original plan was to install a support structure at coordinates 33.849356507228784, -84.29925850080242, but the lawnmower 302 detects that the support column is actually installed at coordinates 33.84930200530447, -84.29906509344893. In this case, the actual location of the support structure does not match the storage location of the support structure, and the storage location does not accurately represent the location of the support structure. In this example, the lawnmower 302 or the control station 112 can resolve the discrepancy by updating the database, for example, by storing the detected location of the support structure to reflect the detected location of the support structure. Naturally, similar updates can be made to the database to update the detected locations of any other objects detected in the solar field.

[0063] Returning to the operation of the mower 302 along the planned route identified by arrows 314a to 314g, the mower 302 can collect terrain data characterizing the terrain it encounters and report that terrain data to the control station 112, or use the terrain data itself. In some embodiments, the terrain data is used to update the operation path of the mower 302 (or another device) to avoid obstacles that the control station 112 may not have known about when the original operation path was created.

[0064] For example, suppose the mower 302 encounters a wet area 316 or another obstacle such as a fallen tree, which would hinder the operation of the mower 302 along the path identified by arrows 314a to 314g. In this example, the mower or control station 112 can generate an alternative operating path that reduces interference from the wet area 316 or the other obstacle by the operation of the mower 302. As shown in the figure, the alternative operating path allows the mower 302 to follow arrow 318, thereby bypassing the wet area 316 and allowing the mower 302 to rejoin the original operating path at arrow 314c, and then complete the remainder of the original operating path. In this way, by collecting terrain data, the mower 302 and control station 112 can dynamically respond to real-world conditions that may prevent the completion of the original plan.

[0065] By allowing autonomous devices to dynamically modify their planned actions / operations to avoid obstacles that could prevent them from completing their intended tasks, the system becomes more efficient by enabling the autonomous device to perform at least a portion of its intended task, rather than simply abandoning the mission. For example, an autonomous device might use a significant amount of power (e.g., battery power or fuel) when moving to an area that needs to be modified (e.g., cutting vegetation), and all of that would be wasted if the mission is completely canceled due to an isolated obstacle encountered during maneuvering.

[0066] In some embodiments, the construction, operation, and / or maintenance of a solar field (or another geographical area) can be carried out based on the output of one or more machine learning models trained to predict various events, generating an optimal construction, operation, and / or maintenance plan based on the event predictions. In some embodiments, the machine learning models can be implemented as part of an artificial intelligence system that can decode natural language input (text or speech) and make decisions based on the application of the machine learning models to the natural language input, creating an action plan to complete the tasks required for the construction, operation, and / or maintenance of the solar field.

[0067] Figure 4 shows an environment 400 in which a machine learning model 402 can be implemented. The environment includes a control station 112, which is depicted as a computer system, but may also include other components, including specially created and / or programmed circuits configured to implement a machine learning model to facilitate rapid learning and decision-making.

[0068] To facilitate the training and execution of the machine learning model 402, the control station 112 can be configured to acquire historical data 404 from one or more computing systems 406. This historical data may include weather data, power outage data, solar panel maintenance and failure data, signals collected before failure events (e.g., electrical characteristics of the solar panel before it failed), battery consumption by various autonomous devices during various activities, and other historical data.

[0069] The machine learning model 402 can be trained using, for example, one or more of supervised learning, unsupervised learning, or reinforcement learning. In some embodiments, the historical data 404 is formatted to facilitate supervised learning. In these embodiments, the historical data 404 is labeled and segmented into (i) a training set and (ii) a test set, which can be used to evaluate the performance of the machine learning model 402 and tune the parameters of the machine learning model 402 with the aim of minimizing the prediction error of the machine learning model 402. In some embodiments, the historical data 404 is used in unsupervised learning, where the historical data 404 can be clustered, and the machine learning model can determine the structure of the unlabeled data and tune the parameters of the model based on the data structure. When new data arrives, the model can use the new data based on its features.

[0070] In a specific example, the machine learning model 402 can be trained to predict vegetation growth in a solar field and generate a proposed vegetation management plan based on the predicted vegetation growth. Vegetation growth can be predicted, for example, based on historical data related to vegetation growth in geographical areas of the solar field. The prediction can also take into account third-party data 408, such as weather forecasts, sensor data 410, such as total information collected at the solar field on temperature, humidity, and / or precipitation, and / or vegetation management activities that have occurred (e.g., herbicide application) and / or vegetation management activities planned for the solar field. Third-party data 408 and sensor data 410 can be obtained, for example, from a wireless communication network 412 connecting the control station 112 to third-party data sources (e.g., meteorological agencies) and sensors placed at the solar field.

[0071] Using this information as input, the machine learning model 402 can determine the expected vegetation growth over future periods and generate a proposed vegetation management plan. The vegetation management plan may include the timing and methods of vegetation control to be carried out over future periods. For example, the vegetation management plan may specify vegetation cutting schedules for different areas of a geographical region based on the differences in predicted vegetation growth in those different areas. The control station 112 can then output commands that cause the deployment of one or more autonomous devices to different areas of the geographical region according to the vegetation management plan.

[0072] In some embodiments, the control station 112 can create an initial vegetation management plan that changes as conditions change. For example, the control station 112 can use information collected by an autonomous device moving through a geographical area (e.g., as described above with respect to the mower 302) to adjust the vegetation management plan based on the actual conditions in the geographical area. For example, if data collected by an autonomous device moving through a geographical area reveals that vegetation growth is lower than originally predicted, the control station 112 can use this information to delay the deployment of the autonomous vehicle as planned in the original vegetation management plan. In this type of situation, the control station 112 can also use the newly collected information to adjust the machine learning model 402 in an effort to improve the accuracy of the machine learning model.

[0073] The machine learning model 402 can also be trained to predict maintenance schedules for electrical and / or structural components installed in the solar field. For example, historical data 404 may include information related to the operational characteristics of the components, the failure rate of the components in environments similar to the environment in which the components are currently installed, and / or other information useful in creating a maintenance plan for the installed components. Similar to vegetation management plans, maintenance plans for installed components can be updated or otherwise modified based on data collected during the operation of the solar field.

[0074] For example, suppose a sensor placed in a solar field (e.g., connected to a component installed in the solar field, or attached to an autonomous device moving through a geographical area) provides sensor data 410 that reflects the current operating characteristics of the installed component. In this example, the sensor data 410 may include information indicating one or more of the following: (i) outside the heat resistance temperature range read by the solar panel, (ii) burnout, (iii) arc discharge, (iv) crack in the solar panel, or (v) a ground fault that does not cause a solar panel failure condition. In response to receiving this sensor data 410, the control station 112 may trigger a visible or audible alarm, move the autonomous device to the location where the sensor data was collected, and / or disable the solar panel.

[0075] In this situation, the sensor data 410, as well as the mitigation activities and final results, can be used to update the machine learning model 402 and modify the maintenance plan accordingly. For example, if the solar panels are eventually replaced, the control station 112 can update the maintenance plan to cancel the future scheduled maintenance of the removed solar panels and create scheduled maintenance based on the characteristics of the newly installed solar panels (e.g., age, electrical performance, environmental conditions).

[0076] The control station 112 can be configured to provide various natural language outputs 414 (e.g., text or speech). For example, the control station 112 can be configured to accept and process a natural language input 416 (e.g., text or speech), determine the intent of the natural language input 416, and generate a natural language output 414 that provides an appropriate response to the natural language input 416.

[0077] In some embodiments, the control station 112 may include a generative model, such as a large-scale language model (LLM) using a transformer architecture, which enables the LLM to process and generate a set of words or sentences. The transformer architecture consists of multiple layers of self-attention mechanisms, which allows the model to focus on different parts of the input sequence at different depths of the network. This enables the model to capture long-term dependencies and complex linguistic relationships between words.

[0078] The use of a large-scale language model (or other natural language model) enables the control station 112 to interact with a human (or virtual entity) via telephone 418 or the internet, for example, in a conversational format, to provide requested information such as solar field status information, and / or to take action based on voice input. This is particularly useful when the solar field is configured autonomously and located far away (e.g., hundreds of miles from a town), making it difficult to travel to the solar field and / or determine its current status.

[0079] For example, suppose an error condition is detected by control station 112, but the automation of control station 112 cannot correct the error condition. In this example, control station 112 may be configured to call telephone 418 and explain in conversation the nature of the error and the mitigation efforts already taken. The person (or automated system) receiving the telephone may respond to control system 112 with an oral input 416 that determines the suggested action that control station 112 should take and explains the action that control station 112 should take. Control station 112 may process this input and make various decisions (e.g., whether the suggested action has already been taken, the result of taking the suggested action, a request for additional instructions, or the generation of an alternative suggested action), and the natural language output 414 may respond to the oral input 416 in conversational form by confirming that the suggested action will be taken, explaining the result of taking the suggested action, or providing further information related to the suggested action (e.g., asking questions or making suggestions regarding taking the suggested action). In this way, the control station 112 can obtain additional information or request assistance, for example, when the predictions of the machine learning model 402 may not be confident enough to take action without confirming what action to take. In some embodiments, interaction can be used to improve or update the LLM, further enhancing the LLM's ability to communicate efficiently.

[0080] Figure 5 is a flowchart of an exemplary process 500 for autonomously changing a geographical area. The operation of process 500 can be carried out, for example, by the control station 112 described above and / or other computing devices, including specially programmed / configured devices. The operation of process 500 can also be carried out as instructions stored in one or more non-temporary computer-readable media, causing one or more computing devices to perform the operation of process 500 by executing these instructions.

[0081] At least one autonomous vehicle is deployed (502). In some embodiments, the autonomous vehicle may include a remote sensing device configured to collect data about objects in the geographic area. For example, the autonomous vehicle may include a LIDAR, radar, thermal, or other sensor configured to collect data about objects in the geographic area. The autonomous vehicle may be, for example, a drone (e.g., an unmanned aerial vehicle) configured to traverse the airspace of the geographic area. In this example, the drone may be equipped with a LIDAR sensor that enables the drone to collect three-dimensional data about objects in the geographic area.

[0082] At least one autonomous vehicle can be deployed by the control station 112 described above, or by another computing device. For example, the control station 112 can provide the drone with information that can determine the boundaries of the geographic area to be scanned, and can instruct the drone to traverse the geographic area and collect data on objects within the boundaries.

[0083] In some embodiments, the deployed autonomous vehicle may be a lawnmower, an all-terrain vehicle (ATV), a truck, or another autonomous vehicle. The autonomous vehicle may be an electric vehicle that plugs into a power source and charges while not deployed. As will be described in more detail below, once deployed, the autonomous vehicle can be disconnected from the power source and proceed according to deployment commands provided by the control station. When using battery-powered vehicles, managing battery life may be an important consideration, and the control station may take advantage of the autonomous vehicle's battery consumption characteristics and / or select routes that minimize battery drain (e.g., going around rather than climbing large hills) when planning the deployment and / or route of the autonomous vehicle to maximize the work that the autonomous vehicle will complete.

[0084] In some embodiments, the deployment of the autonomous vehicle may include a control station 112 or another device that directs the autonomous vehicle (e.g., an autonomous vehicle) along a designated route within a geographical area and to perform various tasks / functions. For example, the deployment command provided to the autonomous vehicle may include a navigating route and a set of actions to be performed by the autonomous vehicle. The actions to be performed may be one or more of the following tasks: setting up supports in the ground, placing solar panels on support structures, securing solar panels to support structures, making electrical connections between solar panels, setting up utility poles to support conductors, setting up conductors between utility poles, connecting conductors to grid transmission lines, cutting vegetation to below a specified height, cutting vines, cutting branches, cutting shrubs, cutting trees, cleaning installed solar panels (or other equipment), moving objects from one location to another, leveling the ground, watering plants, extinguishing detected fires, spraying water on dry and hot areas, preventing fires, and spraying herbicides on plants.

[0085] A scan of objects in a geographic area is performed using a remote sensing device (404). In some embodiments, the collection of a scan may include collecting LiDAR data and generating a LiDAR mapping of the geographic area, which may be an area of ​​a proposed / candidate solar or wind field. For example, a LiDAR sensor in an autonomous vehicle may collect LiDAR data as the autonomous vehicle traverses an area of ​​geographic location and create a LiDAR mapping, which can then be processed (e.g., using an object detection algorithm) to create a three-dimensional mapping of the geographic area. In some situations, objects in the LiDAR mapping may be labeled to identify, for example, different types of vegetation (e.g., trees, shrubs, protected species, soil conditions, standing water, etc.).

[0086] In some embodiments, scan collection can be performed using other sensors such as temperature sensors, cameras, humidity sensors, electrical sensors, or other sensors. Scan collection can also be performed while the autonomous vehicle is positioned to perform another task. For example, as described above, when a lawnmower is positioned to cut vegetation, data about the objects the lawnmower passes over and the land it traverses can be collected along its path. This collected data can be reported to the control station 112 and processed to determine any other tasks that may need to be performed, as described above.

[0087] A change to one or more objects in the geographic area is determined to achieve a target state of the geographic area (506). The target state is a specified state of the geographic area to be achieved or maintained. The changes required to achieve the target state can be determined, for example, by analyzing a collected scan of the geographic area. Whether the collected scan is an initial aerial scan of the geographic area or a scan collected by an autonomous vehicle traversing the geographic area to complete a task instructed by control station 112, the analysis of the scan can reveal aspects of the geographic area that are not currently in a target (e.g., desired) state or are at risk of deviating from the target state.

[0088] For example, when the construction / installation of a solar field (or another facility) is initially planned, the analysis of the scan can be used to select the installation locations for one or more solar field components. As mentioned above with respect to Figure 2, the locations of these components may include the locations of transformers, inverters, control station housings, marshalling centers, solar panel support structures (e.g., piles), roads, etc. In this example, the locations of these components can be determined based on, for example, soil conditions, tree locations, access points to existing grid infrastructure, and land topology factors that can be learned from LIDAR mapping created by a drone.

[0089] When constructing a solar field, the target state can be simply defined as a functional solar field, but it can become more complex depending on the constraints imposed. For example, if constraints specify a limited set of equipment, a time constraint to completion, or other constraints, these constraints can be taken into consideration when determining the target state. In a specific example, suppose the constraint specifies that the solar field must be operational without cutting down any trees, so that the target state is an operational solar field that does not require tree cutting. In this scenario, the decision of what changes should be made to create an operational solar field can exclude tree cutting as a feasible change and identify other changes to the geographical area that will achieve the target state. For example, the location of the solar field components can be chosen so that tree cutting is not required. More specifically, the locations of (i) the mounting positions of the support posts configured to support the solar panels, (ii) the inverters, (iii) the transformers, (iv) the side roads, or (v) the control station, one or more of these locations can be planned to avoid existing trees, and the locations of the solar panel posts (or other supporting structures) can be selected so that, once installed, existing trees do not obstruct the solar panels' exposure to sunlight. Once the locations of the components are selected, these locations can be used to further define the actions that must be taken to operate the solar field without cutting down trees (e.g., leveling, road construction, excavation, etc.).

[0090] After the solar field is constructed and operational, any changes to the geographical area necessary to maintain (or return to) the target state can be determined using data collected by the autonomous vehicle as it traverses the geographical area. For example, a "reconnaissance" autonomous vehicle can be instructed to periodically move through the geographical area to scan it and collect data on the state of the solar field, regardless of whether it is also performing another task (e.g., a pre-scheduled task). As described above, the data collected by the scan can be used by the control station 112 to identify a state outside the target state or to determine that an outside target state is likely to occur.

[0091] For example, if a reconnaissance autonomous vehicle collects data used to determine if the vegetation in an area of ​​a solar field exceeds a specified height (e.g., a maximum allowable height), the control station may determine that the vegetation in that area of ​​the solar field needs to be cut to achieve a target state (having vegetation below the specified height). In this example, the change decided to lower the vegetation height is determined based on the current height of the vegetation, which reveals that the vegetation height is above the target state. However, the necessary changes can also be determined before the state is outside the target state. For example, predictive analytics can be performed to generate a plan that includes one or more determined changes that may be needed (possibly done together or at different times) to prevent a geographic area from leaving the target state.

[0092] For example, as described above, a machine learning model can be trained to predict vegetation growth using a set of historical data that includes at least one of the following: vegetation growth history of a geographical area, vegetation management activities, or meteorological data. Vegetation growth history of a geographical area may, for example, specify the growth rates of different plant species over a specified period (e.g., several days or weeks in spring, summer, and / or autumn). Vegetation management activities may specify how the vegetation has been maintained recently. For example, vegetation management activities may identify the date and time the vegetation was last cut, the height at which the vegetation was cut, and any growth-inhibiting activities (e.g., herbicide spraying) or growth-promoting activities (e.g., fertilization) applied to the vegetation. Meteorological data may include historical meteorological data such as rainfall, temperature, or humidity for a geographical area. Meteorological data may also include future weather forecasts obtained from weather services, for example.

[0093] Vegetation growth predictions output by machine learning models can be used, for example, by a control station to generate proposed vegetation management plans for geographical areas of a solar field. These vegetation management plans can, for example, specify different cutting schedules for different areas within the geographical area based on differences in predicted vegetation growth across different zones.

[0094] For example, suppose a specific area of ​​a geographical region received 6 inches of precipitation in the past week, while another area of ​​the same geographical region received no precipitation in the past week. In this example, vegetation growth forecasts might indicate that vegetation growth in the specific area will reach 4 inches within the next 7 days, while vegetation growth in the other area will only reach 1 inch within the next 7 days. Taking these forecasts into account, control station 112 can create a vegetation management plan specifying that the specific area will be cut off after 3 days to prevent it from deviating from the target state, while vegetation in the other area will be cut off after 7 days from the start of growth because the growth rate is much slower due to the lack of precipitation. Similarly, vegetation management plans can be created over longer periods based on the type of vegetation in the different areas. The control station can also modify the vegetation management plan based on data obtained by the autonomous vehicle or changes in weather.

[0095] A given device is determined to be positioned to perform the change (508). The given device can be determined by a number of factors. In some embodiments, the given device can be determined based on which device is located in an area that has access to the area where the change necessary to achieve the target state will be performed. For example, if two available devices can perform the change, and one of the devices is closer to the area where the change will be performed, the closer device can be selected as the given device to perform the change.

[0096] A given device can also be determined based on how efficiently or effectively various devices can complete the change. For example, suppose two devices can complete the change, but one device is configured to complete the change in one hour, while the other device takes several more hours to complete the change. In this example, the device configured to complete the change faster can be selected as the given device that will perform the change.

[0097] In some embodiments, a given device can be determined based on the amount of power (e.g., battery power) required for the device to complete the change. For example, suppose one device uses three times the power of another available device to complete the change. In this example, the device with lower power consumption can be selected as the given device to reduce the power consumption of the other device and extend its battery life.

[0098] A given device having commands to cause a given device to make changes is located within a geographical area (510). In some embodiments, the location of a given device includes causing the given device to move within the geographical area. For example, a given device may be an autonomous driving device that can move within the geographical area using a set of commands provided by a control station.

[0099] The control station can generate a set of instructions based, for example, on topographic data relating to a geographical area. This topographic data can be obtained, for example, from scans of the geographical area taken using one or more sensors, from GIS data obtained from a database, or from other sources. The control station can analyze the topographic data to identify any obstacles that may hinder the operation of an autonomous vehicle traversing the geographical area. For example, the topographic data may specify the location of fallen trees, rivers impassable due to heavy rain, areas of eroded soil, sinkholes, soft soil, or other obstacles that may prevent, or at least hinder, the operation of an autonomous vehicle traversing the geographical area.

[0100] Using terrain data, a control station can generate steering paths that reduce or eliminate interference from one or more obstacles to the steering of an autonomous vehicle within a geographical area. For example, taking into account the steering capabilities of an autonomous device, a control station can determine a route that the autonomous device can traverse, which may be the shortest route that conserves battery life for a battery-powered device.

[0101] For example, suppose an autonomous vehicle has the ability to navigate over fallen trees, but lacks buoyancy and can only traverse water up to 3 feet deep. In this example, the control station would generate a trajectory to avoid crossing a river currently 6 feet deep, even if the autonomous vehicle needs to pass over recently fallen trees to follow the trajectory, as the autonomous vehicle can cut and move the trees as needed. Once the trajectory is created, the control station can instruct the autonomous vehicle to proceed within the geographical area according to the trajectory by, for example, formatting the trajectory in a format executable by the autonomous vehicle (e.g., using an API), sending commands to the autonomous vehicle, or otherwise loading them.

[0102] In some embodiments, the steering path can be stored to direct the autonomous driving device back to a geographical area for future use, reducing the need to reprocess terrain data and / or generate the steering path again. For example, after directing the autonomous driving device back to a steering path, the control station may again decide that the autonomous driving device should back to a previously generated steering path, simply retrieve the steering path from storage, and instruct the autonomous driving device in the same way as before.

[0103] However, in some cases, there may be different obstacles along the maneuver path, which may require the control station to change how the autonomous device moves within a geographical area. For example, suppose the control station retrieves the maneuver path from storage and also obtains an updated terrain report. In this example, the control station can analyze the maneuver path and the updated terrain report to determine if any new obstacles specified in the updated terrain report are present in the previously generated maneuver path. If the previously generated maneuver path passes through the location of the obstacles in the updated terrain report, the control station can reuse the previously generated maneuver path. However, if the control station determines that a new obstacle is located on the previously generated maneuver path, the control station may determine that the obstacle will interfere with the autonomous device's maneuver along the maneuver path (512), which may require the control station to generate an updated maneuver path that differs from the previously generated maneuver path.

[0104] For example, suppose the control station checks the location of a new obstacle in an updated terrain report and determines that the new obstacle lies along a previously generated maneuver path. In this example, the control station can then evaluate the characteristics of the obstacle and whether the autonomous driving device is configured to overcome (e.g., move aside or drive over) the new obstacle. If the control station determines that the autonomous driving device is configured to overcome the obstacle (e.g., move a fallen tree or cross a 2-foot puddle), the control station can reuse the previously generated maneuver path. If the control station determines that the autonomous driving device is not configured to overcome the obstacle, the control station can generate an updated maneuver path that reduces the obstacle's interference with the autonomous driving device's maneuver (514), and in a similar manner to the above, can instruct the autonomous driving device to drive through the geographical area according to the updated maneuver path (516).

[0105] Operations 512–516 describe the repositioning of an autonomous driving device, but operations 512–516 can be performed while the autonomous driving device is being maneuvered along a generated maneuver path. For example, as described above with respect to Figure 3F, when an autonomous driving device encounters an unexpected or unknown obstacle, an analysis can be performed by either the device itself or the control station to determine whether the obstacle will interfere with the device's maneuver along the maneuver path. In response to determining that the obstacle will interfere with the device's maneuver along the maneuver path (512), an updated maneuver path can be generated (514), and the device can switch to a different route according to that new maneuver path (516).

[0106] The embodiments and operations of the subject matter described herein can be implemented in digital electronic circuits, or in computer software, firmware, or hardware that include the structures disclosed herein and their structural equivalents, or a combination of one or more thereof. The embodiments of the subject matter described herein can be implemented as one or more modules of one or more computer programs, i.e., computer program instructions encoded in a computer storage medium for execution by or control of the operation of a data processing device. Alternatively or additionally, the program instructions can be encoded in artificially generated propagating signals, such as machine-generated electrical, optical, or electromagnetic signals, which are generated to encode information for transmission to a receiving device suitable for execution by the data processing device. The computer storage medium may be, or may be, a computer-readable storage device, a computer-readable storage board, a random-access memory array, or a serial-access memory array or device, or a combination of one or more thereof. Furthermore, although the computer storage medium is not a propagating signal, it can be a source or destination for computer program instructions encoded in artificially generated propagating signals. Computer storage media may also be one or more separate physical components or media (e.g., multiple CDs, disks, or other storage devices), or may be contained within them.

[0107] The operations described herein can be implemented as operations performed by a data processing device on data stored in one or more computer-readable storage devices, or on data received from other sources.

[0108] The term "data processing device" encompasses any type of device, machine, or apparatus for processing data, including, for example, a programmable processor, a computer, a system on a chip, or a combination thereof. A device may include a special-purpose logic circuit, such as an FPGA (Field-Programmable Gate Array) or an ASIC (Application-Specific Integrated Circuit). In addition to hardware, a device may include code that creates an execution environment for a computer program of interest, such as processor firmware, a protocol stack, a database management system, an operating system, a cross-platform runtime environment, a virtual machine, or a combination of one or more of these. Devices and execution environments can provide infrastructure for various computing models, including web services, distributed computing, and grid computing infrastructure.

[0109] Computer programs (also known as programs, software, software applications, scripts, or code) can be written in any programming language, including compiled languages, interpreted languages, declarative languages, or process languages, and can be deployed as standalone programs or in any form, including modules, components, subroutines, objects, or other units suitable for use in a computing environment. Computer programs may, but do not necessarily, correspond to files in a file system. A program can be stored in part of a file that stores other programs or data (e.g., one or more scripts stored in a markup language document), in a single file dedicated to the associated program, or in multiple collaborative files (e.g., a file that stores one or more modules, subprograms, or parts of code). Computer programs can be deployed to run on one computer, or on multiple computers located in one location or distributed across multiple locations and interconnected by a communication network.

[0110] One or more programmable processors can perform the processes and logic flows described herein, execute one or more computer programs, and perform actions by operating on input data and generating outputs. The processes and logic flows can also be performed by dedicated logic circuits such as FPGAs (Field-Programmable Gate Arrays) or ASICs (Apparent Integrated Circuits), and the device can also be implemented as a dedicated logic circuit.

[0111] Processors suitable for executing computer programs include, for example, both general-purpose and dedicated microprocessors, as well as one or more processors in any digital computer. Generally, a processor receives instructions and / or data from read-only memory, random-access memory, or both. The basic element of a computer is a processor that performs actions according to one or more memory devices for storing instructions and data. Generally, a computer also receives data from one or more mass storage devices used to store data, or is operablely coupled to disks, magneto-optical disks, or optical disks for transmitting data or both. However, a computer does not necessarily need to have such devices. Furthermore, computers can be embedded in other devices, and devices suitable for storing computer program instructions and data include, to name just a few, mobile phones, personal digital assistants (PDAs), mobile audio or video players, game consoles, Global Positioning System (GPS) receivers, or portable storage devices (e.g., Universal Serial Bus (USB) flash drives), all forms of non-volatile memory, media, and memory devices (including, for example, semiconductor memory devices such as EPROM, EEPROM, and flash memory devices; magnetic disks such as internal hard disks or removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks). Processors and memory can be incorporated and complemented by dedicated logic circuits.

[0112] To provide user interaction, embodiments of the subject matter described herein can be implemented with a computer having a display device for displaying information to the user (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) and a keyboard and pointing device (e.g., a mouse or trackball) from which the user can provide input to the computer. Other types of devices can similarly be used to provide user interaction, for example, feedback provided to the user can take any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback), and input from the user can be received in any form, including acoustic, voice, or tactile input. In addition, the computer can interact with the user by sending and receiving documents to and from the device used by the user, for example, by sending a web page to a web browser on the user's client device in response to a request received from a web browser.

[0113] Embodiments of the subject matter described herein may be implemented in a computing system that includes a backend component (e.g., as a data server), or a middleware component (e.g., an application server), or a frontend component (e.g., a client computer having a graphical user interface or a web browser, which allows a user to interact with the implementation of the subject matter described herein), or in any combination of one or more such backend, middleware, or frontend components. The components of the system may be interconnected by digital data communications of any form or medium, such as communication networks. Examples of communication networks include local area networks ("LANs") and wide area networks ("WANs"), internetworks (such as the Internet), and peer-to-peer networks (such as ad-hoc peer-to-peer networks).

[0114] A computing system can include a client and a server. The client and server are typically geographically distant from each other and always interact through a communication network. The client-server relationship arises from computer programs running on each computer and from the client-server relationship itself. In some embodiments, the server sends data (e.g., an HTML page) to the client device (for example, to display data to a user interacting with the client device and to receive user input from that user). Data generated on the client device (e.g., the results of user interactions) can be received by the server from the client device.

[0115] This specification contains many specific implementation details, but these cannot be interpreted as defining the scope of any invention or the scope of any claim, and rather should not be interpreted as describing features that may be specific to a particular embodiment of a particular invention. Certain features described in the context of separate embodiments of this specification may also be implemented in combination in a single embodiment. Conversely, various features described in the context of a single embodiment may also be implemented individually or in any preferred subcombination in multiple embodiments. Furthermore, features for which protection was initially sought may, in some cases, be removed from a combination for which protection was sought, and the sought combination may refer to a subcombination or a variation of a subcombination.

[0116] Similarly, although the drawings depict operations in a specific order, this should not be interpreted as requiring these operations to be performed in a specific order or sequence as shown, or requiring all illustrated operations to be performed to achieve the desired result. In certain situations, multitasking and parallel processing may be advantageous. Furthermore, the separation of various system components in the above embodiments should not be interpreted as requiring such separation in all embodiments, and the described program components and systems can generally be integrated into a single software product or packaged into multiple software products.

[0117] Therefore, specific embodiments of the subject matter are described. Other embodiments are within the scope of the following claims. In some cases, the actions described in the claims may be performed in a different order to achieve more desirable results. Furthermore, the processes shown in the accompanying figures do not necessarily require the specific order or sequence shown to obtain the desired results. In certain embodiments, multitasking and parallel processing may be advantageous.

Claims

1. A method performed by a data processing device, Deploying at least one drone containing a remote sensing device, The remote sensing device of at least one drone collects a scan of a geographical area, Based on the scan of the geographical region, determine the changes to the geographical region necessary to achieve the target state of the geographical region, Based on the collected scans, determine a given device which will be positioned to make the necessary changes to achieve the target state of the geographical area, Placing a given device having an instruction to make the changes necessary to achieve a desired state of the geographical area in the geographical area, wherein placing the device includes causing the given device to move within the geographical area. Methods that include...

2. The remote sensing device includes a light detection and ranging (LIDAR) device. The method according to claim 1, wherein collecting scans of the aforementioned geographical area comprises generating a LIDAR mapping of candidate solar fields or wind fields.

3. Determining the changes to the geographic area necessary to achieve the target state of the geographic area includes determining that it is necessary to cut the vegetation in the geographic area in order to achieve a vegetation height lower than a specified height. Placing the given device in the aforementioned geographical area is To have the autonomous driving device move through the aforementioned geographical area, Cutting the plants to a height less than the aforementioned specified height and The method according to claim 1, comprising causing the operation to include the following.

4. Training a machine learning model to predict vegetation growth using a set of historical data, including at least one of the following: vegetation growth history, vegetation management activities, or meteorological data for the aforementioned geographical area; To generate a proposed vegetation management plan based on the vegetation growth output predicted by the aforementioned machine learning model. It further includes, The proposed vegetation management plan specifies different vegetation cutting schedules for different areas within the geographical region, based on the differences in predicted vegetation growth in different areas. Placing the given device in the geographical area includes placing the given device in the different areas of the geographical area in accordance with the proposed vegetation management plan. The method according to claim 3.

5. Obtaining a terrain report from data collected using one or more sensors, which identifies one or more obstacles that would interfere with the operation of the autonomous driving device within the geographical area; Based on the terrain report, a steering path is generated to reduce interference from one or more obstacles to the operation of the autonomous driving device within the geographical area. To cause the autonomous driving device to move within the geographical area according to the aforementioned control path. The method according to claim 3, further comprising:

6. After the autonomous driving device has navigated through the geographical area, the control path is retrieved from the storage location. Based on the updated terrain report, it is determined that different obstacles currently interfere with the operation of the autonomous driving device within the geographical area, Based on the updated terrain report, an updated flight path different from the aforementioned flight path is generated, To direct the autonomous driving device to the geographical area according to the updated steering path. The method according to claim 5, further comprising:

7. Analyzing the aforementioned collected scans, Based on the analysis of the collected scans, one or more installation locations for the solar field components are selected. During execution, a command is generated to one or more autonomous vehicles to transport one or more solar field components to the selected installation location of the one or more solar field components, The one or more autonomous vehicles are to transport the one or more solar field components to the selected installation location of the one or more solar field components. The method according to claim 3, further comprising:

8. The method according to claim 7, wherein selecting the installation location of one or more solar field components includes selecting one or more of the following: (i) installation location of a support configured to support a solar panel, (ii) inverter, (iii) transformer, (iv) side passage, or (v) control station.

9. While moving within the aforementioned geographical area, the autonomous driving device detects a state in which it is able to act, The autonomous driving device reports the actionable state to a system controller configured to interact with the autonomous driving device and one or more other devices, The system controller causes one or more other devices to perform an action to resolve the actionable state. The method according to claim 5, further comprising:

10. Detecting the aforementioned actionable state includes determining that the vegetation is detected on the support of the solar panel, Causing one or more of the aforementioned other devices to perform an action to resolve the actionable state includes causing the vegetation reduction device to move to the position of the support of the solar panel and to remove or spray the vegetation. The method according to claim 9.

11. Detecting the actionable state includes detecting the characteristics of an object that are not accurately represented in a database storing the characteristics of an object located in the geographical area. Causing one or more other devices to perform the action to resolve the actionable state includes updating the database that stores the characteristics of the object located in the geographical area in order to reflect the detected characteristics of the object. The method according to claim 9.

12. Detecting the aforementioned actionable condition includes detecting one or more of the following: (i) outside the heat resistance temperature range read by the solar panel, (ii) burnout, (iii) arc discharge, (iv) crack in the solar panel, or (v) a ground fault that does not cause a solar panel failure condition. Causing one or more of the other devices to perform an action to resolve the actionable state includes causing one or more of the other devices to (i) generate a visible or audible alarm, (ii) move the vehicle to the actionable state location, or (iii) disable the solar panel. The method according to claim 9.

13. Monitoring the location of the given device within the aforementioned geographical area, To prevent interference with the operation of the given device when it approaches the location of one or more objects, one or more optical control signals or electrical control signals are used to remotely adjust the orientation of one or more objects within the geographical area. The method according to claim 1, further comprising:

14. The method according to claim 13, wherein adjusting the orientation of one or more objects includes adjusting the tilt angle of the solar panel to an angle that causes the given device to move under the solar panel.

15. A system comprising one or more memory devices and at least one computing device configured to interact with the one or more memory devices and to execute instructions causing at least one computing device to perform the operations described in any one of claims 1 to 14.

16. At least one non-temporary medium for storing instructions, the instructions, when executed, cause one or more data processing devices to perform the operations described in any one of claims 1 to 14.