Embodiments of the present invention generally relate to energy generation and/or storage systems and, in particular, to a method and apparatus for placing components of such systems upon or within a facility associated with such systems.
A solar energy generation and storage system typically comprises a plurality of solar panels, one or more power inverters, a storage element and a service panel. The solar panels are arranged in an array and positioned to maximize solar exposure. Each solar panel or small groups of panels may be coupled to an inverter (so-called micro-inverters) or all the solar panels may be coupled to a single inverter. The inverter(s) convert the DC power produced by the solar panels into AC power. The AC power is coupled to the service panel for use by a facility (e.g., home or business), supplied to the power grid, and/or coupled to a storage element such that energy produced at one time is stored for use at a later time. Other energy generators having flexible capacity that is defined at installation include wind turbines arranged on a so-called wind farm. Storage elements may be one or more of batteries, fly wheels, hot fluid tank(s), hydrogen storage or the like. The most common storage element is a battery pack (i.e., a plurality of battery cells) having a bidirectional inverter coupled to the service panel to supply the batteries with DC power as well as allow the batteries to discharge through the inverter to supply AC power to the facility when needed.
Prospective purchasers of solar energy generation and storage systems typically begin the process by meeting with a system installer and having the installer perform a site survey. The installer manually estimates the capacity of the required system by visiting the site where the installation is planned, measuring the space available, estimating the capacity of the solar power generation available, and estimating the amount of energy storage that is commensurate with the amount of energy to be generated. Such meetings and surveys are time consuming and form an inefficient use of the purchaser's and installer's time. Especially when the prospective purchaser is merely exploring the possibility of making a purchase.
In some instances, a system may comprise only solar or only storage (i.e., storage in lieu of using a power generator during a black out). The process for estimating only solar system requirements or only storage system requirements is substantially similar to the inefficient process described above for estimating a solar and storage systems.
Therefore, there is a need for an efficient, automated technique for designing an energy generation and/or storage system and determining the placement of the energy generators and/or storage.
So that the manner in which the above recited features of the present invention can be understood in detail, a particular description of the invention, may be had by reference to embodiments, some of which are illustrated in the appended drawings. It is to be noted, however, that the appended drawings illustrate only typical embodiments of this invention and are therefore not to be considered limiting of its scope, for the invention may admit to other equally effective embodiments.
Embodiments of the present invention comprise apparatus and methods for placing components of an energy generation and/or energy storage systems within and/or upon a facility (i.e., residential building or business building). Embodiments of the invention utilize a web page or mobile application as an interface to a user, i.e., a user interface. The interface facilitates data input such as facility energy use and facility location (e.g., physical address). In an embodiment for a component placement system for a solar energy generation system, from the energy use and location information, a component placement system may access one or more of: a roof image of the facility, a digital surface model (DSM) of the roof and an area surrounding the roof, solar azimuth angle data for segments of the roof and roof irradiance for the roof at the given address. The system segments the roof to create planar roof segments and analyzes the DSM to determine obstacles on the roof as well as determine the angle of the roof segments. Using the roof irradiance information, the system creates subsegments of the roof based on the irradiance level within segments. In addition, the energy use may be used to determine how many solar panels are necessary to generate the required amount of energy. From the azimuth angle data, the system determines the orientation for the solar panels in each subsegment and determines a placement location for each solar panel based on a prioritization schedule related to the amount of irradiance in each subsegment. The system then renders, within the user interface, an image of the facility with the solar panels placed upon the facility. The user has an opportunity to remove panels from location they do not wish panels to be located and the system recomputes the panel locations based upon the user's adjustment.
In another embodiment of the invention, the component placement system may be used to position energy storage components within a facility. Once the system has defined the amount of the storage required, the system places the system into a rendered image of the facility.
In the forgoing embodiments, the energy source is defined as an array of solar panels. In an alternative embodiment, the energy source may be an array of other resources or a combination of resources including, for example, wind turbines and the component placement system may use wind speed and wind direction data, rather than irradiance data, to define the positioning of a number of turbines and their energy capabilities necessary to meet a facility's requirements.
Embodiments of the component placement system solve the technical problem associated with automated design of energy generation and/or energy storage systems. Through the use of general-purpose computers programmed to operate as specific purpose computers with the specific purpose of utilizing information such as location data, roof layout, azimuth data, depth data, energy use at the location, and roof irradiance data to render an image of a facility integrated with placement of the components of an energy generation and/or energy storage system.
After entering, the address and energy requirement, the component placement system processes this information to render the facility 122 (residence or business) located at the address including a depiction of energy generators (in this case, solar panels 124) positioned on the roof of the facility. Within region 106, a user may adjust the amount of energy consumed/generated or the amount of energy stored using sliders. If an adjustment is made, the system redetermines the number and placement of solar panels. The user may also select solar panels (e.g., point and click) and have the image rendered again with a new placement of solar panels, avoiding the locations of the selected panels.
In addition, as depicted in
Although
The user device 408 comprises at least one processor 410, support circuits 412 and memory 414. The at least one processor 410 may be any form of processor or combination of processors including, but not limited to, central processing units, microprocessors, microcontrollers, field programmable gate arrays, graphics processing units, and the like. The support circuits 412 may comprise well-known circuits and devices facilitating functionality of the processor(s). The support circuits 412 may comprise one or more of, or a combination of, power supplies, clock circuits, communications circuits, cache, and/or the like.
The memory 414 comprises one or more forms of non-transitory computer readable media including one or more of, or any combination of, read-only memory or random-access memory. The memory 414 stores software and data including, for example, an operating system (OS) 416, a browser 418, data 410 and user interface software 100. The operating system 416 may be any form of operating system such as, for example, Apple iOS, Microsoft Windows, Apple macOS, Linux, Android or the like. The browser 418 may be any software that, when executed by the processor(s) 410, is capable of displaying and enabling user interaction with the user interface. Such browsers 418 include, but are not limited to, Explorer, Safari, Chrome, Edge, Firefox or the like. The data 420 may include a web page, or portion thereof, data used by a web page, data entered by a user into fields within a web page and/or any other data used by the browser 418 to display and facilitate use interaction with a web page. In lieu of using a web page to form the user interface 100, the user device may execute an application (an app) that performs the functions of the user interface 100.
The server 404 comprises at least one processor 422, support circuits 424 and memory 426. The at least one processor 422 may be any form of processor or combination of processors including, but not limited to, central processing units, microprocessors, microcontrollers, field programmable gate arrays, graphics processing units, and the like. The support circuits 424 may comprise well-known circuits and devices facilitating functionality of the processor(s). The support circuits 424 comprise one or more of, or a combination of, power supplies, clock circuits, communications circuits, cache, displays, and/or the like.
The memory 426 comprises one or more forms of non-transitory computer readable media including one or more of, or any combination of, read-only memory or random-access memory. The memory 426 stores software and data including, for example, an operating system (OS) 428, a web page 430, data 432, a database 434 and component placement software 436. The operating system 428 may be any form of operating system such as, for example, Apple iOS, Microsoft Windows, Apple macOS, Linux, Android or the like. The web page 430 is a web page that is accessible to the browser 418 of the at least one user device 408 to facilitate use of the component placement system 202 as shall be described in detail with respect to FIGS. 5 through 19 below. The data 420 may include data entered by a user into fields within a web page and/or any other data used by the server 404 to facilitate use of the web page. The database 434 contains data to facilitate determinations made by the component placement software 436. This data may include, but is not limited to, amount of irradiance corresponding to a location, amount of energy generated by specific numbers of solar panels, amount of energy capable of storage by specific storage devices, rooftop images, and the like. The database 434 may be locally stored at the server 404, may be remotely stored on another server or servers and accessed via the network 406, or may be a combination of local and remote storage of database information.
The server 404, when executing the component placement software 436, is transformed from a general-purpose device into a specific-purpose device. i.e., transformed into a portion of the component placement system 402. The component placement software 436, when executed, enables at least one user device 408 to access and interact with the web page 430. The access and interaction shall be described with respect to
Each block of the flow diagrams below may represent a module of code to execute and/or combinations of hardware and/or software configured to perform one or more processes described herein. Though illustrated in a particular order, the following figures are not meant to be so limiting. Any number of blocks may proceed in any order (including being omitted) and/or substantially simultaneously (i.e., within technical tolerances of processors, etc.) to perform the operations described herein.
At 506, the method 500 retrieves images and data related to the facility location including, for example, an image of the facility roof (e.g., images captured by from satellite, drone or other aerial platform), irradiation data for the roof, solar azimuth angle data, a digital surface map (DSM) for the roof and area surrounding the facility, and the like. The aerial satellite data is generally produced as a virtual image from an elevation of about 50 meters. At 508, the method queries whether the user desires placement of solar panels, a storage system or both. If the user desires placement of solar panels, the method 500 proceeds from 510 to 512, where the method 500 segments the roof image to determine planar portions of the roof upon which solar panels can be positioned or is provided the identity of locations where on the roof the panels are to be positioned. Details of the segmentation process are provided below with reference to
In one embodiment of the invention, segmentation may not be necessary. For example, a user could specifically locate where the panels are to be placed, e.g., by placing a graphical box around a roof region graphic or selecting specific roof portions where they desire the panels to be placed. In such an instance, the segmentation process would not be used and the system would immediately begin the process of placing the solar panels in the regions identified by the user.
After segmentation, at 512, the method 500 determines the location for placement of each panel upon the roof and renders an image of the facility roof having the solar panels position thereon based, in part, on a prioritization schedule. Details of panel placement processing are provided below with reference to
If the user selected “both” at 508, the method 500 proceeds from 518 to 514. Or, if the user selected only to place a storage system, the method 500 proceeds from 508 to 514. At 514, the method 500 processes a facility image to render walls beneath the roof that may be used to attach and retain the storage system. As described below with reference to
The following figures shall describe the details of the process of component placement.
The roof mask is used to extract the portion of the roof RGB data where solar panels can potentially be positioned. At 608, the portion of the roof image and RGB data within the mask is analyzed to determine roof segments (i.e., planar portions of the roof).
At 614, the method 600 identifies obstructions within each roof segment. An obstruction is defined as a portion of the roof upon which a solar panel cannot be mounted, e.g., chimneys, air conditioning units, vent pipes, and the like. The RGB data is again used to identify obstructions within the segments, i.e., objects that extend from the plane of a given segment.
Once useable segments of the roof have been identified, computer vision algorithms are used for classifying different shapes and slopes on the segment surfaces and estimating of the number of panels that can be placed on the roof to meet the required energy production. This system is designed to give a near realistic assessment of how many panel arrays can be identified, with each useable segment given a rank depicting the energy harvesting capabilities and convenience of use, and also provide an estimate of how much energy each panel will produce when placed within a given segment. This system is designed for identifying contours for various types of houses, rooftops, and optimized for practical and aesthetically correct virtual panel placements.
Based upon the location of each contour segment and solar irradiance at the segment, every panel is ranked based on the highest practical possibility of harnessing solar energy. Energy production estimates and shading analysis are generated in real-time to determine a complete energy generation profile.
Using the azimuth map and irradiance data, at 906, the method 900 calculates the relative solar flux within each segment. To provide additional granularity for panel placement, the segments may be divided into subsegments. Details of the process used to calculate relative solar flux is described with reference to
At 908, the method 900 calculates panel location priorities, i.e., which segments or subsegments provide the maximum amount of energy harvest potential. At 910, the method 900 identifies segments that contain pre-placed solar panels (i.e., existing solar panels). If there are solar panels currently on the roof, these portions of the roof must be avoided for placement of new panels. Such panels are identified as obstructions because they are offset above the plane of the roof, however, the obstruction is a large planar object and can be identified as a solar array. In some embodiments, the identification of pre-placed panels and/or placement of panels is accomplished by a machine learning algorithm (i.e., artificial intelligence) that is trained with examples of roofs and pre-placed solar panels. In one embodiment, a fully convolutional network, such as a U-Net architecture, may be used to identify pre-placed panels as well as other areas where panels should not be placed, i.e., porch roof. Such a system will improve its recognition of pre-placed panels and/or improve panel placement over time. The pre-placed panels also contribute to the overall energy production of the energy generation system and must be considered as part of the overall system. As such, their energy production is estimated in the same manner as the production from the newly placed solar panels.
At 912, the method 900 positions solar panels and renders, in the user interface, an image of the roof with the panels positioned upon the roof (see
At 1006, the method 1000 calculates a perpendicular to each segment. At 1008, the method 1008 uses the solar azimuth angle and the perpendicular to determine the panel orientation (horizontal or vertical) that should be used for placing the panels in each segment. For example, if the perpendicular points east from a roof segment and the solar azimuth angle is from the south, panels in such a segment are best positioned horizontally across the segment. Alternatively, if the azimuth angle and the perpendicular both point in the same direction (e.g., south) then the panels are best positioned vertically. The offset difference between the perpendicular and the azimuth angle may be used to estimate the amount of energy that a given panel will be able to harvest (i.e., the closer the alignment of the perpendicular and the azimuth angle, the greater the amount of solar energy that will be harvested). The method ends at 1010.
At 1306, the method 1300 uses a clustering algorithm to determine flux clusters, i.e., regions within segments where the irradiance is substantially similar. Using the clusters, the method 1300, at 1308, generates subsegments of the segments. Each subsegment represents an area of the roof where the irradiance is substantially uniform. The method ends are 1310.
Note that areas of low irradiance (e.g., shadowed) will also be clustered and the next method will automatically avoid these areas for panel placement.
If pre-placed panels are identified, at 1506, the method 1500 updates the panel placement order to avoid the region(s) where the pre-placed panels are located. At 1508, a final placement order is generated and the method 1500 ends at 1510.
The method 1700 continues at 1708 where the user may alter the energy generation requirement. The method 1700 queries at 1708 whether the power requirement has been changed. If the query is positively answered, the method 1700 proceeds to 1710 where the method 1700 must recalculate the number and placement of panels using methods 1400 (
If the query at 1708 is negatively answered, the method 1700 proceeds to 1712 where the method 1712 queries whether the user has removed panels. The user may interactively select (point with a mouse pointer and click) particular panels and have them removed from the rendered image. To indicate deselection, the selected panel changes color, e.g., changes to black to indicate removal. If one or more panels are removed and the query at 1712 is affirmatively answered, the method 1700 proceeds to 1710 where the number and location of the panels is recalculated. The recalculation, of course, takes into account the removed panels and will adjust the array to avoid the removed panel locations. The method 1700 proceeds to 1706 to render the updated roof image with altered panel placement. If the query at 1712 is negatively answered, the method 1700 ends at 1714.
At 1908, the storage devices are positioned at a location within the facility. At 1910, the method 1900 renders an image (for example,
The method 1900 queries, at 1912, if any changes have been made to the storage requirements. If a change has been made, the method 1900 returns to 1904 to recompute the storage devices, their placement and the rendered image. If there are no changes, the method 1900 ends at 1914.
In other embodiments of the invention, the user could select a particular wall for the storage devices, or the system may select a wall and the user may change the location. Additional information could also be displayed with the rendered image such as the weight of the storage devices such that the user may determine if the selected wall will support the load.
The accuracy of the component placement system may be improved using machine learning to improve component placement through feedback of actual system designed by the system and then put into operation. Energy generation from actually systems may be used to train the algorithm and provide feedback on system design accuracy. Furthermore, in one or more embodiments, the system may use a regression testing mechanism where the algorithms' accuracy is calculated based on custom metrics defined by, one or more of, speed of algorithm, panels placed, segments detected, accuracy of placement, precision, recall and the like.
In further embodiments, street view imagery may be used to improve modelling of the facility as well as provide aesthetic views of the facility with components placement. A user could decide if the aesthetic view was acceptable or not.
In other embodiments, in lieu of using the energy estimates in a subsegment to prioritize panel positioning, the expected energy from each panel could be estimated to improve the accuracy of the overall panel placement. This per panel energy estimate could then be aggregated to provide a more accurate calculation of overall system power generation.
Here multiple examples have been given to illustrate various features and are not intended to be so limiting. Any one or more of the features may not be limited to the particular examples presented herein, regardless of any order, combination, or connections described. In fact, it should be understood that any combination of the features and/or elements described by way of example above are contemplated, including any variation or modification which is not enumerated, but capable of achieving the same. Unless otherwise stated, any one or more of the features may be combined in any order.
As above, figures are presented herein for illustrative purposes and are not meant to impose any structural limitations, unless otherwise specified. Various modifications to any of the structures shown in the figures are contemplated to be within the scope of the invention presented herein. The invention is not intended to be limited to any scope of claim language.
Where “coupling” or “connection” is used, unless otherwise specified, no limitation is implied that the coupling or connection be restricted to a physical coupling or connection and, instead, should be read to include communicative couplings, including wireless transmissions and protocols.
Any block, step, module, or otherwise described herein may represent one or more instructions which can be stored on a non-transitory computer readable media as software and/or performed by hardware. Any such block, module, step, or otherwise can be performed by various software and/or hardware combinations in a manner which may be automated, including the use of specialized hardware designed to achieve such a purpose. As above, any number of blocks, steps, or modules may be performed in any order or not at all, including substantially simultaneously, i.e., within tolerances of the systems executing the block, step, or module.
Where conditional language is used, including, but not limited to, “can,” “could,” “may” or “might,” it should be understood that the associated features or elements are not required. As such, where conditional language is used, the elements and/or features should be understood as being optionally present in at least some examples, and not necessarily conditioned upon anything, unless otherwise specified.
Where lists are enumerated in the alternative or conjunctive (e.g., one or more of A, B, and/or C), unless stated otherwise, it is understood to include one or more of each element, including any one or more combinations of any number of the enumerated elements (e.g. A, AB, AC, ABC, ABB, etc.). When “and/or” is used, it should be understood that the elements may be joined in the alternative or conjunctive.
While the foregoing is directed to embodiments of the present invention, other and further embodiments of the invention may be devised without departing from the basic scope thereof, and the scope thereof is determined by the claims that follow.
This application claims benefit to U.S. Provisional Patent Application Ser. No. 63/122,728 filed 8 Dec. 2020 entitled “Component Placement For An Energy Management And/Or Storage System,” which is hereby incorporated herein by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
63122728 | Dec 2020 | US |