SYSTEMS AND METHODS TO PROPOSE A PROJECT
Systems and methods are disclosed herein for sunlight obstruction modelling for a site, structure, or other object or surface of interest. The sunlight obstruction modeling can be utilized in designing and/or generating proposals for solar installation projects. The sunlight obstruction modeling can be determined based on identifying installation surface faces, installation surface face insolation, obstructions affecting insolation (or similar property), obstacles and penetrations affecting placement of installation equipment, etc., and for providing an educational experience for a potential purchaser of the system comprising general information and at least one structure-specific installation proposal. A selected plan can be implemented from within a proposal platform of the disclosed systems and methods.
The present application claims the benefit of priority under 35 U.S.C. Section 119(e) of United States Provisional Patent Application No. 63/264,657 entitled SYSTEMS AND METHODS TO PROPOSE AN INSTALLATION, filed Nov. 29, 2021, which is hereby incorporated by reference herein in its entirety.
TECHNICAL FIELDThe present disclosure is directed to generating and/or presenting a proposal for an installation, such as a solar electricity generation system, a roofing project, a ground-level installation project, etc.
BACKGROUNDTraditionally, introducing potential customers to solar electricity generation and ultimately closing a sale for a solar installation has been a multi-touch, time intensive sales process. Proposals to potential customers are typically hard copies or static electronic documents that provide static information. The quality of the design and the information depend heavily on the designer of the proposal document, which in many cases is also an involved sales representative, to understand solar design and the technical details of azimuth, tilts, panel orientation, shading analysis, equipment, utilities, and others. Because such individuals are normally both the proposal designer and the person doing the selling, they are disincentivized to accurately portray solar best practices because they earn more commissions for larger systems. With presently available technology, further disincentives arise from the need for multiple, often time-consuming contacts with the client to provide a best practices-solar plan.
In this traditional approach of generating hard copy proposals (e.g., the old approach), when the site owner has an objection that leads to a new proposal design, the sales rep is required to either leave and create a new design or request that someone from his home office create the new design, thereby elongating the sales process. This cycle of regenerating proposals through the course of the sales rep meeting with the potential customer can repeat multiple times before closing a sale, but often it leads to lost sales as the potential client loses interest in the project or confidence in the representative.
Prior to a sales representative pitching a bid for installation of a solar electricity generation system (“solar energy system”), they also typically take time educating the homeowner and answering questions on nuances of solar electricity generation. Solar (e.g., including solar electricity generation generally and solar energy systems specifically) is a new, interesting topic for many site owners but they often don't know where to start investigating or researching this buying decision.
Closing sales on other installations (e.g., roofing) can involve a similar multi-touch, time-intensive sales process to provide desired educational information to potential customers and to generate proposals for such potential installations.
SUMMARYThe present disclosure is directed to systems and methods to generate and present installation proposals. For example, the present disclosure is directed to systems and methods to generate highly accurate solar production models in order to present sophisticated, dynamic and/or interactive solar sales proposals (e.g., through a sales representative to a potential customer). As another example, the present disclosure is directed to systems and methods to derive accurate structure measurements in order to generate and present sophisticated and dynamic roofing proposals. As still another example, the present disclosure is directed to systems and methods to generate accurate models of a site (e.g., including one or more structures and/or landscape). The embodiments of the present disclosure and/or models generated therefrom can be utilized for site enhancement, including but not limited to surveillance, security, maintenance, and improvement (e.g., installation). Similarly, the system and methods herein described may be used with regard to site clearing, modification, restoration, rejuvenation, etc. Similarly, models generated from embodiments of the present disclosure can be utilized, such as for simulation, gaming, research, presentation, and any other suitable purpose.
Additional aspects and advantages will be apparent from the following detailed description of preferred embodiments, which proceeds with reference to the accompanying drawings.
Enhancement of a site can be facilitated by proposals communicating information about the site. The present disclosure provides embodiments for generating proposals for installations and/or projects at a site. The present disclosure also provides embodiments for generating a model of a site, such as may be utilized in generating a proposal for an installation or a variety of other applications benefited by a three-dimensional model. The present disclosure also provides embodiments for determining solar production. The present disclosure also provides embodiments for modeling sunlight obstructions.
The following description describes embodiments of the present disclosure with primary reference to systems and methods of generating and/or providing proposals directed toward solar electricity generation systems (“solar energy systems”). The reference to and focus on solar is only an example, as a matter of convenience, and not by way of limitation as other applications, e.g., roofing, etc., are also anticipated.
Selling solar electricity generation systems can be aided by providing customized information to a potential customer that is specific to a property and/or potential installation site of the potential customer. Information such as potential placement of solar panels and/or ultimate generation of electricity as a result of such placement can help a potential customer understand the scope and/or weigh the factors that are considered in a decision to install a solar electricity generation system.
Introducing and educating potential customers to solar electricity generation installation and ultimately closing a sale has traditionally been a multi-touch, time intensive sales cycle. Proposals to provide potential customers with customized information specific to a property and/or potential installation site are typically hard copies or static electronic documents (e.g., portable document format (.pdf)) that provide static information. When the potential customer raises an objection or concern that leads to a new proposal design, a sales rep is required to either leave (or otherwise disengage from the potential customer) and create a new proposal or request that support staff (e.g., at a support office) generate the new proposal, thereby elongating the sales process. This repeated, time-consuming regenerating of proposals over the course of one or more meetings of the sales rep with the potential customer can be burdensome to the potential customer (and the sales rep) and often leads to a lost sale.
The customized information of a proposal is more useful to a potential customer when it includes solar production and shading analysis specific to the property and/or potential installation site. Solar production and shading analysis can be generated from three-dimensional (“3D”) data. Presently, available 3D data is, in many urban areas, limited to what can be obtained by sophisticated instruments attached to planes that can be flown at low altitudes over population centers to survey the structures. (Contractors that conduct the flyovers typically focus mainly on high population centers.) Rural and smaller population centers are often excluded from high volume data collection (although they may be served by Unmanned Aerial System (“UAS”) (see US Code of Federal Regulation 14, CFR 107.3 (last updated Nov. 14, 2022)) equipment), or the available data is outdated or of low-quality. Alternatively, a 3D model can be manually created with market-available do-it-yourself (“DIY”) tools. However, low volume collection methods (UAS-served, for example) and, more particularly, manual DIY tools leave room for human error, subjective decisions, slower return times, and an increase in manual labor cost.
Another shortcoming of the present approach and challenge is that generating a high quality and informative proposal depends heavily on the designer of the proposal document understanding solar design and the technical details of azimuth, tilts, panel orientation, shading analysis, equipment, utilities, and others. Because the designer is often also a sales rep (e.g., individual trying to make a sale), obvious disincentives to accurately portray solar best practices arise because the proposal designer/sales rep earns more commissions for larger systems.
Prior to a sales representative pitching a bid for installation of a solar energy system, they also typically take time educating the potential customer and answering questions on nuances of solar electricity generation. Solar (e.g., including solar electricity generation generally and solar energy systems specifically) is a new, interesting topic for many homeowners but they often don't know where to start investigating or researching this buying decision.
In view of the foregoing considerations and factors, the present disclosure provides improved systems and methods to generate and/or present a proposal (e.g., a digital interactive solar proposal) for a solar energy system (or similar proposal) to a potential customer. The systems and methods of the present disclosure provide for generating and presenting an interactive solar energy system proposal to a potential customer (potentially providing a wider footprint), without reliance on light detection and ranging (“LiDAR”) instruments while removing aspects involving a human element that are thus error prone.
The disclosed systems and methods to generate and/or present a proposal for a solar energy system to a potential customer can be automated to quickly provide highly accurate solar production models and to deliver sophisticated and dynamic solar sales proposals to sales reps in substantially “live time” (e.g., while the sales rep remains engaged with the customer, within a few minutes).
The disclosed systems and methods can also, prior to delivering a proposal, immediately or near immediately provide sales reps with a Preposal™ (e.g., information in a presentation format provided preparatory to, “pre-,” or in advance of a proposal) to use for educating a potential customer while they are waiting for their proposal to be completed. The sales rep and potential customer have an immediate opportunity to begin the sales conversation and experience a seamless transition into the solar design, pricing metrics, and checkout.
The disclosed systems and methods can include one or more of: onboarding, automated ordering, Preposal™ delivery, generating a 3D Point Cloud, roof face identification, roof face optimization, roof face modeling, structure modeling, tree and perimeter object detection and simulation, sun path simulations, roof obstacle and penetrations detection, roof lines and measurements, solar panel placement, energy production calculations; editing solar cell placement within design, manual 2D override to optimize 3D polygons, and delivery of 3D solar/roof design (e.g., in a web-based 3D display tool).
As used herein, the term “solar maximum day” refers to a day of the year (e.g., typically the summer solstice) whereupon a greatest amount of solar radiation falls upon a particular location.
As used herein, the term “solar minimum day” refers to a day of the year (e.g., typically the winter solstice) whereupon a least amount of solar radiation falls upon a particular location.
As used herein, the term “site” refers to definable space at a location without reference to any feature of the location, e.g., a geolocation (a “pinpoint”) along with a threshold surrounding area, regardless of what may be at or near the site. A geolocation and threshold surrounding area may be represented, e.g., by a legal property description.
As used herein, the term “structure” refers to a feature of a site without regard for the feature origin. A structure may be any improvement (e.g., a manmade feature) on a site, such as a building, a tower, a sign, a canal, etc.; a definable area of a site having some bounding feature (physical or logical); an area of a site bounded only by a definition of the site itself; and so forth without limitation.
An object of interest can be any object at a site that can be identified from imagery. A structure can be an example of an object of interest at a site. In some embodiments, an object of interest can be a geographic feature (e.g., a hill, a gulch, a volcano, a body of water). In some embodiments, an object of interest can be a living organism, such as a plant (e.g., tree) or animal (e.g., an endangered species).
As used herein, the term “GPS” refers to a global positioning system employing a constellation of satellites to determine, to reasonable degrees of accuracy and precision, a location at or near the surface of the earth (including above or below the earth's surface). The present disclosure anticipates an alternative (or successor) geolocation system; however, GPS is used throughout and is intended to cover any suitable geolocation system.
As used herein, the term “obstruction” refers to a physical object which may not physically impede on a structure but nevertheless impairs some aspect of the structure such as, e.g., casting a shadow on/over the structure or a portion of the structure. Examples of obstructions include trees, adjacent structures, elevated terrain, etc.
As used herein, the term “obstacle” refers to a physical or logical object which impedes on a structure or a portion of a structure. An obstacle may be any object disposed on, against, over, or adjacent to the structure. Examples of obstacles include penetrations (a vent, a fan, an antenna, a chimney, etc.), an electrical drop, an easement (such as a utility easement), etc.
As used herein, the term “insolation” refers to exposure of a definable entity to solar radiation, regardless of how the solar radiation is measured, expressed, or described. The definable entity may be a surface of interest, such as a roof of a structure, a face of roof, an area of ground, etc.
The PPS 100 receives data for and/or information about a site 40, which may include a structure 20 and/or additional features. The PPS 100 comprises a PPS server 140 and a tablet computer 150 (or other client and/or mobile computing device). The PPS 100 may implement or otherwise provide a platform accessible by one or more users and/or entities that provide data to or otherwise interface with the PPS 100 to enable design of solar energy systems and/or proposals for the same. For example, the platform provided by the PPS 100 may comprise a sales representative-facing platform that enables sales representatives to receive Preposal™ and/or proposal data and seamlessly present the Preposal™ and proposal data to potential customers (e.g., an owner of a site and/or structure of a site). The PPS 100 may further employ an aircraft 110a, 110b and a communication system 10 (or network), and may obtain or otherwise receive data from an electrical grid system (“EGS”) 60 and/or a solar energy equipment provider (“SEEP”) 70. The communication system 10 may be the Internet, a public network, a private network, a virtual private network, or a combination of these and/or similar communication networks; and is hereafter referred to as the Internet 10. The Internet 10 may comprise, permit, or facilitate bidirectional communication 12, 13, 14, 15 with, respectively, the PPS server 140, the tablet computer 150, the EGS 60 (more particularly, with a server 62 of the EGS 60) and the SEEP (more particularly, with a server 72 of the SEEP 70).
In
The site 40 may include features such as a nearby tree 42, towers, poles, a building or other structure, a chimney 44, vents 46, 48, etc. Some features of the site 40 may affect the degree to which sunlight strikes the roof 30 (obstruct or partially obstruct) and/or may impinge on solar panel placement (as an obstacle).
The reference label 110a represents an aircraft in a first position, while 110b represents an aircraft in a second position, and 110x (not illustrated) refers to an aircraft generally. The aircraft 110x may be a manned aircraft (a fixed wing or rotary wing aircraft) or a UAS. The aircraft 110x may be configured to capture images of terrain and features at the earth's surface, including a plurality of sites. The images may take the form of photogrammetry source and/or output images, stereoscopic images (such as the stereoscopic images 202, 202s in
An owner (e.g., a potential customer or other appropriate individual) (hereafter, “owner”) may request a solar proposal for a solar energy system. A sales representative may request the proposal on behalf of the owner. The tablet computer 150 may be used to initiate preparation of the proposal. The tablet computer 150 may communicate 12, 13 via the Internet 10 with the PPS server 140 to cause various computer-based processes (further discussed in conjunction with
The tablet computer 150 may be used to provide general and particularized solar energy information (Solo™ Preposal™) to the owner and/or a detailed solar energy proposal. The Preposal™ may comprise general information of an educational nature, along with a placeholder for a particularized proposal for the structure 20 and/or site 40. While the educational material is presented, the proposal is generated by the PPS server 140 and delivered and may be integrated with or otherwise combined with the Preposal™ for presentation to the owner. The Preposal™ may seamlessly transition from general educational material about solar energy to the particularized proposal for the structure 20 and/or site 40. Stated otherwise, the platform provided by the PPS 100 may provide for presenting both the Preposal™ and the proposal in a seamless manner, in one integrated presentation.
The proposal may provide information regarding proposed solar energy equipment to install to the structure 20 and/or at the site 40, such as, e.g., a particular solar panel arrangement for one or more faces of the roof 30; expected solar energy production output for time frames ranging from hourly to annually and lifetime, etc. The proposal may include an interactive digital representation 120 of the structure 20, and one or more panels 130 (or other interfaces) to display relevant information. The proposal may provide further information to assist in closing of a sale to acquire and install the solar energy equipment to the structure 20 (as a solar energy system), such as, e.g., identification of candidate equipment, installation details (disposition of solar panels and other equipment), etc. The platform provided by the PPS 100 may further enable acquiring (ordering) the needed solar energy equipment, assisting with permitting (if required), contracting an installer, providing for inspection and connection to the EGS 60 (for net metering or power sell-back, where enabled), etc. More particularly, the PPS 100 (e.g., via the tablet computer 150) may be configured to accept an order from the owner and/or sales rep, to order the solar energy equipment, to schedule inspections, installation, and connections, and may process payments related to implementing the installation. In other words, the platform provided by the PPS 100 in conjunction with the tablet computer 150 and a seamless presentation of the Preposal™ and proposal, may function to support a single-point-single-contact sale of solar energy equipment, making for an informed sale and an organized, efficient installation.
The point cloud 208 may be generated from a high confidence disparity map of common points within the two stereoscopic images, with each common point having a position relative to an arbitrary point near the center of the point cloud 208. The point cloud 208 may be logically disposed within a global coordinate system whereby a user may rotate the point cloud 208 in three axes The stereoscopic images 202, 202s may include amorphous entities 210. An amorphous entity 210 may be an image artifact representing an object which lacks a fixed size, shape, volume, density, or other feature, such as a tree, a shrub, a flag, a banner, a temporarily placed object, etc. In other words, an amorphous entity may have substantially different representation in images taken at different times of a given day, on different days, at different seasons of the year, in different years, affected by weather (in particular, by wind, for example), etc. An amorphous entity 210a, representing a tree, is identified for reference (hereafter, “tree 210a”).
In some embodiments, the image data may be high quality and/or precisely positioned and/or point cloud 208 generation from such image data may be quite accurate. In some embodiments the generated point cloud 208 may include substantial noise. Noise, or other error in the point cloud data may come from, among other things, the relatively small values produced by the disparity map and the large distances over which the disparities are calculated or a lack of distinct features or texture on matching areas of the stereo image. Noisy point cloud 208 data points can be low pass filtered and a dense point cloud can be produced representing at least the upper surfaces present in both stereoscopic images 202, 202s. Some of the algorithms used to process the point cloud 208 and identify salient structures of the environment include: K-Nearest Neighbors, K-Means Clustering, GMM (Gaussian Mixture Models), RANSAC (Random Sample Consensus), PCA (Primary Component Analysis), Histogram Binning, MLESAC (Maximum Likelihood Estimate Sample Consensus), Least Squares Multiple Regression, and/or combinations of the same.
In
In
In
In one embodiment, the PPS 200 may generate a representation of each surface of interest (e.g., a roof face, a patio, a water feature) of the one or more surfaces of interest, based on corresponding perimeter points (vertices 226, 234), perimeter, 2D face and 3D plane, and may join the representation of the one or more surfaces of interest to create a 3D model of at least a portion of an object (e.g., a structure, a geographic feature) of interest. In one embodiment, finding a perimeter of a definable space at the location may comprise determining a 2D face of one or more top surfaces, which may enable or assist the PPS 200 to generate a model of the definable space at the location.
In
In
In
The wide area point cloud or the mesh scene, or both may be utilized to generate a less dense point cloud (obstruction point cloud) representing features previously filtered out, such as trees, adjacent structures, etc., that may affect insolation of the roof of the structure (see the wide area point cloud 252 in
The SIM may iterate through the sun path simulation, filtering the sun positions for a plurality of points in time to daytime sun positions, and further filtering to sun positions for multiple days of year representative of, e.g., summer and winter solstice (or solar maximum and solar minimum days). The SIM simulates the sun positions for the multiple days of the year to find shade on the one or more roof surfaces. Stated otherwise, the SIM runs the sun path simulation to represent the sun positions for the multiple days (or time points) of the year to simulate shade at any given point of the point cloud representing any portion of a roof surface. By way of non-limiting example, the SIM represents the sun positions for the multiple days of the year to simulate shade at a point per period (e.g., hour) of the year, on one or more roof surfaces. The point cloud with insolation can be further processed (possibly with the azimuth and pitch segmentation map 218 (from
In some embodiments, a process for creating the obstruction point cloud is to insert points (e.g., roof points) from the regular point cloud into the wide area mesh and adjust (e.g., raise) the roof points a very small amount so the roof points do not intersect a roof portion of the wide area mesh. The obstruction point cloud can then be utilized to detect obstructions (and determine irradiance for a period) by ray casting. A ray can be cast between the sun positions and each point in the point cloud and a check can be made for any intersections with the wide area mesh. Intersections can be recorded, such as in an array that is n points long by m hour points. Then irradiance is applied to the elements of the array that do not have intersections. The sum of irradiances for each point are calculated and divided by the total possible irradiance for each point producing a percentage of total irradiance at a point. Correspondingly, the points that do have intersections can be utilized to determine shade at a point.
One useful way of determining insolation is to measure or calculate yearly irradiance (and the present disclosure anticipates other ways). The following data values for calculating yearly irradiance for each point on the roof can be gathered by at least either of the two following options.
Option 1. Determine one or more insolation values for each face (e.g., point, area, square unit, entire face, etc.) of the one or more faces of the structure for a time period (e.g., a single point in time, a span of time), considering areas of the one or more faces that may be shaded at one or more times within the time period. This can be accomplished by: masking (e.g., extracting, filtering, separating, etc.) face points of the point cloud (e.g., based on the one or more faces, or based on determining the points of the point cloud that are on the one or more faces); determining a (theoretical) maximum available irradiance (insolation) at each; determining a shade metric or value at each point of each face of the one or more faces for the time period; and determining the one or more insolation values based on the theoretical maximum available irradiance (or insolation) and shade metric at each point of each face of the one or more faces for the time period.
Option 2. Determining an insolation value for each face of the one or more faces of the structure for a period of time (e.g., a single point in time, a span of time), considering areas of the one or more faces that are shaded at one or more times within the time period. This can be accomplished by: separating (e.g., extracting, filtering, masking) surface points of the point cloud for the given face from other points of the point cloud; determining a theoretical maximum available irradiance (or insolation) at each point of the points of the given face over the time period, determining a shaded irradiance (insolation) at each point of the given face, the shaded irradiance (insolation) based on the theoretical maximum available irradiance (insolation) and the shade value or metric at each point of the given face over the time period; and summing the shaded irradiances (insolation) of all the points of the given face.
Either Option 1 or Option 2 may provide for determining a shade metric or value, which may be determined at each point of the one or more surfaces of interest for a time period; and/or identifying the objects at the site that are obstructions, based on the shade metric at each point of each of the one or more surfaces of interest.
An annualized degree of shade map 268 represents the calculated effect of shade cast upon areas of the roof. A region of less-dense cross hatch 268a represents a lesser degree of shade (a higher degree of insolation), while a region of more-dense cross hatch 268b represents a higher degree of shade (a lower degree of insolation) on an annual basis. It should be noted that the PPS 200 may be configured to adjust the roof insolation map 266 to a particular period, such as, e.g., seasonal rather than annual. It should also be noted that insolation values for a roof may be calculated in various ways. In one embodiment, the PPS 200 calculates an insolation value for each point of the point cloud associated with a particular roof face. In one embodiment, the PPS 200 may calculate an insolation value based on an array of points of the point cloud, such as a definable measurable area (e.g., a square foot, a square meter, etc.) of a roof face, a definable fraction of a roof face (e.g., one-tenth, one-quarter, etc.), an entire roof face, or the entire roof.
The roof insolation map 266 is further processed to generate 270, in
The designation of “
In
In
In
In
The candidate map 292 may be utilized to generate a digital interactive proposal to present the proposed placement of the one or more solar panels, such as for customer information and understanding. The candidate map 292 can be added to a structure representation and/or site representation (e.g., a model), which can be rendered to provide visualization of the placement of the solar panels. In another embodiment, the candidate map 292 can be modeled to generate a representation (e.g., 3D model) to be rendered in or in conjunction with the digital interactive proposal. The digital interactive proposal can be provided over a communication network to a client computing device.
The PPS 300 includes a PPS server 310 and a tablet computer 320, as shown. In one embodiment, the tablet computer 320 may be supplanted by a laptop computer, a desktop computer, or any appropriate personal computing device. The PPS server 310 may be similar in some respects to the PPS server 140 of
The platform 330 may be configured to accept input to identify a site (or a structure at a site) as a candidate for a solar energy system (or any suitable project, such as a roof installation, ground cover implementation, etc.), as well as to identify an owner or appropriate contact point (a potential client) for the site or structure. The platform 330 may be configured to deliver the site/structure information and the owner information to the PPS server 310. The PPS server 310 may generate one or more proposals 358 for installation of a solar energy system to the structure or site. Generation of a proposal 358 is described elsewhere herein. The PPS server 310 may generate the one or more proposals 358 at the same time that the user is using the platform 330 to render, present, or otherwise deliver the selected preset content modules 348 of the Preposal™ 340 to the potential client. In other words, while the user is showing the potential client the Preposal™ 340, the PPS server 310 may be generating the proposal(s) 358. Once the PPS server 310 generates the proposal(s) 358, the proposal(s) 358 may be injected 356 into the proposal container 350 of the platform 330. In a nominal situation, the proposal(s) 358 may be present in the platform 330 before the user and the potential client have finished reviewing or otherwise interacting with the Preposal™ 340, such that transition from the Preposal™ 340 to the proposal(s) 358 appears seamless to the potential client. The proposal(s) 358 may each include images, interactive images, text, financial analysis/-es, and/or other relevant sections to enable the potential client to make an informed decision (e.g., a purchase decision), to arrange ordering of solar energy equipment, arrange payment (including a payment plan and/or financing options), schedule any necessary permits, the actual installation, inspections, connections, etc.
The PPS generates 410 an azimuth and pitch map by identifying a surface of interest, such as a roof, an area of ground, a definable space (such as above a pad or deck), etc. The PPS refines the surface of interest to surface faces (e.g., roof faces, terrain variations, elevation changes, etc.) The PPS identifies 415 vertices. The PPS may algorithmically (e.g., by GMM, RANSAC, PCA, MLESAC, etc.) identify clusters of points within the point cloud that may each represent an intersection of at least three planes. By way of non-limiting example, the PPS distinguishes points of the point cloud which represent a point of a roof surface of the structure from points which represent points of non-roof entities, then clusters together points which share characteristics indicative of representing a particular surface of the roof. Such characteristics may include a direction, an angle, and/or a distance from the arbitrary reference point, which suggest a plurality of points represent points in the same surface.
The PPS identifies 420 edges by constructing a bounding box circumscribing an array of next-point neighbors that represent an intersection between two planes within the point cloud, and also containing two vertices. A line defining an edge is algorithmically established between the two vertices along the intersection of the two planes. This line represents an edge extending between the two vertices. The PPS iterates this process until all edges have been identified and mapped.
The PPS detects 425 2D surface faces by relating together edges that have a common vertex. A polygon is generated for each surface defined by these common vertices. Each such polygon presents a perimeter shape of a particular face on the surface. The PPS resolves gaps between adjacent polygons, overlaps of a polygon on an adjacent polygon, etc. An algorithm may be applied to remove noise from the data (aberrant points of the point cloud) which may be the source of gaps and overlaps.
The PPS generates 430 a 3D model of the structure or site. Roof lines can be identified and classified based on how a given polygon relates to or interfaces with surrounding polygons. A footprint and walls of the structure may be combined with the polygons of the roof faces.
The PPS generates 435 a site representation by implementing a wide area point cloud. The wide area point cloud can include the structure and/or site (as a dense point cloud) and an appropriate amount of surrounding area to capture relevant features, such as may affect the project to be proposed. For example, for a solar electrical generation system, the wide area point cloud can include any surrounding features—obstructions, such as trees, neighboring structures, etc., that may cast shade on the surface of interest. The site representation may take the form of a mesh scene.
The PPS generates 440 an insolation potential map, which describes the potential for insolation without regard for any intervening factors, such as, e.g., seasonal changes, obstructions, etc. In other words, the PPS generates 440 a map representing a maximum potential for insolation of the surface of interest with no interference.
The PPS then runs 445 sun simulations. A sun simulation determines a position of the sun relative to the structure or site at a particular time, and may iterate through a definable period of time to determine, from the site representation, the effect of obstructions and other features on the insolation potential map. An Euler transformation or a Ray Casting Mesh may be used to logically position the sun. Sun positions are gathered in zenith and azimuth angles) for a plurality of hours that is representative of phases or cycles (e.g., days, weeks, months, seasons, etc.) throughout the entirety of the year for the structure or site. The sun positions are filtered to daytime sun positions. The sun positions may be further filtered to multiple days of the year (e.g., summer and winter solstices). For example, the sun positions may be filtered to two days of the year, such as the summer and winter solstices as the most extreme days in the movement of the sun. As additional examples, the sun positions may be filtered to four days (e.g., one per season), twelve days (e.g., one per month), fifty-two day (e.g., one per week), or to every day of the year.
The sun positions are simulated for the multiple days of the year to generate 450 a degree of shade map and/or find shade cast on one or more faces of the surface of interest. In other words, a digital sun is logically positioned relative to the site representation at a particular time (e.g., at a particular time of a particular day of the year) and the PPS determines the position of any shade cast on the surface of interest by any feature (obstruction) within the site representation. The PPS iterates through this digital sun logical positioning to obtain shade cast-data for meaningful periods of time, such as, e.g., for a solar maximum hour on a solar maximum day and a solar minimum hour on a solar minimum day wherein only daylight hours at the structure or site are considered. Any other meaningful time period may be employed, such as monthly, or weekly. The shade casting on the surface of interest is calculated for each point cloud point representing a location of the surface of interest. In one embodiment, the shade casting on the surface of interest may be calculated for a definable area, such as, e.g., a square foot, a square meter, an X-by-Y dimension, a fractional portion (e.g., one-quarter, one-eighth, etc.) of a face of the surface of interest, a face of the surface of interest, etc.
The PPS generates 455 a filtered production estimate map. The PPS 400 may calculate a benefit metric of installing one or more elements of the project to the one or more surfaces of interest or a portion of a definable space at a location based on an appropriate metric (e.g., solar production, cooling effect, etc.). In one embodiment, the PPS annualizes the solar hours per day. As discussed above, the imposition of shade at any position on the roof may be determined for each daylight hour of each day of the year to determine insolation while shaded for each daylight hour of each day. The insolation while shaded may be a diffuse insolation (e.g., 1%, 5%, 10%, 20%, etc.) of full insolation. By way of non-limiting example, the PPS may calculate an Insolation Value (“IV”) (for a single point, an area, a face, etc.) by masking to only points of the surface of interest (a roof of a structure) and for each point to be included in the IV, sum the irradiation values of the unshaded areas of the surface of interest to obtain a Total Irradiance Subset Where Shaded (“TISWS”), and calculate a Total Irradiance Subset (“TIS”) minus TISWS, dividing by TIS, and multiplying by Total Yearly Irradiance (“TIY”) (IV=(TIS−TISWS)/TIS)*TYI). The PPS may determine an annual insolation per roof point. For example, for each point of each face surface, the total insolation on the point is reduced by the total insolation when shaded, with the result divided by the total insolation, and that result is multiplied by the total yearly insolation. Stated otherwise, a point referenced solar access ratio (Insolation_in_shade/Insolation_no_shade) is calculated for each panel and summed across the whole system. By way of a non-limiting example, if 10% of the points inside a panel array are shaded such that the insolation transmitted to the panel is 80% less for those points, the summation that calculates the total transmitted insolation would contain an analog relationship between the reduction for each day of the year (instead of a generalized reduction as is currently being used for other solar access calculations).
The PPS generates 460 an edge erosion map. An edge erosion map, essentially takes into consideration any requirement for allowance of space (a setback) at each edge of each face of the surface of interest such that the useable space within a face is defined by the collective setbacks for each edge of the face. For example, a building code may require a setback at each roof edge, at a ridge, a hip, a valley, etc. The PPS considers such setback requirements to make a first determination of area within each face that may be useable for the project to be proposed (e.g., a solar energy system).
The PPS generates 465 an azimuth map. An azimuth relates a direction of a face of the surface of interest to a compass direction (i.e., an azimuth is a compass-relative (cardinal) orientation). In other words, in an ideal construction, two opposing roof faces may each have an azimuth relative to the opposite face of 180° (however, in practice, there may be a slight deviation such that the azimuth may be separated by something other than 180°). Furthermore, some esoteric surfaces may have pseudo-compound curves resulting in multiple faces to accomplish a turn of direction. Additionally, a surface of interest may have face orientations incidental to terrain or some other factor rather than as a result of construction.
The PPS generates 470 an obstacles map. The PPS identifies obstacles on, at, or near the surface of interest, including penetrations through the roof. Obstacles and penetrations may arise from, e.g., chimneys, vents, cooling equipment, antennae, etc. Obstacles affect potential disposition of solar panels on the roof. The PPS determines the area of each face of the roof surface. A total area of a face may be reduced by the existence of an obstacle or penetration at the particular face. The PPS determines, from the total area of a face (in view of the edge erosion map) an area of the face that is useable for installation of solar energy equipment or other project.
The PPS generates 475 at least one candidate installation map for the project to be proposed. The PPS acquires data related to the installation, erection, etc., of equipment to be implemented, such as, e.g., solar panel dimensions, connection requirements/limitations, costs, workmanship requirements, inspections, permits, etc. (equipment data). The equipment data comprises dimensions of the equipment, such as solar panels, that are candidates for installation to the surface of interest (a roof of the structure) or at the site. The PPS optimizes equipment placement for each appropriate roof face. For example, the PPS may consider each possible orientation of solar plans on each roof face. In other words, the PPS may consider orienting a longitudinal axis of the solar panels parallel to a side of roof surface, at a right angle to a side, or at any other suitable angle whereby solar energy production is optimized. The PPS determines a power production of solar energy from each potential disposition of solar panels. Optimizing solar panel placement and determining solar energy production may proceed iteratively in order to achieve a best result. Optimizing may include determining a minimum or maximum of a function, such as representing one or more of a placement, production, and/or cost.
According to one embodiment, the following approach can be used for calculating how many panels can be placed on a given roof face. The 3D point cloud polygon that represents the roof face can be converted to a 2D roof polygon using the dot product of the 3D polygon and a projection matrix that is calculated from the plane model's normal vector. From the 2D roof polygon, solar “panels” or “modules” can be placed onto the 2D roof polygon, using a bounding rectangle to place panels and “overflow” the roof face, as follows:
-
- 1. Create a “bounding rectangle” where the 4 points of that rectangle contain all 2D polygon points.
- 2. Determine based on the “bounding rectangle” length and “panel” length how many rows of panels we can fit.
- 3. Determine based on the “bounding rectangle” width and “panel” width how many columns of panels we can fit.
- 4. Iterate over the number of rows and columns to place a point for the center of each panel.
- 5. Remove any points where the panel will overlap the actual roof polygon and remove any points where there is an obstacle point that lies within the panel polygon.
- i. Convert numpy arrays to Python Shapely Polygons.
- ii. Iterate over each panel representing a Shapely Polygon to check for intersection between roof face edges and the panel. If intersected, remove the panel.
Lastly convert the 2D panel polygon and 2D panel center points back to 3D using the inverse matrix dot product as explained above. Then the 3D location data for each panel is saved in a database.
The PPS performs 480 time value of money (“TVM”) calculations for each potential proposal (arrangement of equipment, e.g., solar panels). The PPS may obtain cost data from a variety of sources, such as, e.g., a solar energy system equipment vendor, an installer, a local power provider, local inspection authority, etc. The local power cost may be based on one or more of an area in which the site is situated, like structures served by the same (or a similar cost) power provider, estimated power used at the structure, and actual power consumption. The PPS can calculate a net cost to install each potential proposal, and a net value of production to determine a return-on-investment (“ROI”), etc. The PPS can calculate seasonal cost differentials, such as may arise from a capacity to sell back power during peak solar production periods. The PPS calculates energy production from one or more solar panels based on the insolation values at the area of the roof face occupied by the one or more solar panels. As an example, production can be calculated to incorporate the capacity/size of the panel, panel efficiency with temperature and cloud cover, connection losses, inverter capacity, etc. and shade losses can be, or be included in, the insolation value. In one embodiment energy production can be calculated independently from insolation and shade losses can be factored directly into the production losses (Production*shade factor).
The PPS may request or acquire equipment availability data. Said otherwise, the PPS may look at available inventory of solar panels so that a proposal may be based on equipment available within a definable time frame. The equipment availability data may comprise inventory-like data (equipment on hand at a supplier or suppliers), dimensional data, cost of acquisition, installation cost and scheduling, related fees (e.g., permitting, inspection(s), connection to grid, etc.), financing data, payment and payment options, and so forth. The TVM calculations 480 may provide a cost-benefit analysis for installing a solar energy system to the structure. The PPS renders output of the foregoing steps. The output may comprise one or more images of results of each step (e.g., a point cloud map, an insolation map, solar equipment disposition recommendation, etc.), cost analysis/-es. The output may be stored to a memory of the PPS server. The output may be formatted into a proposal. The proposal may be delivered for presentation to an owner of the structure or site.
The PPS populates 485 proposal modules for presentation via the platform. The proposal modules may include at least a base set of Preposal™ modules and proposal modules for each potential proposal. Stated simply, the PPS generates a digital (e.g., electronic) interactive proposal to present a proposed placement of the one or more solar panels and the calculated energy production. The digital interactive proposal may be generated based on one or more of the candidate installation map and/or the TVM calculations. The PPS may facilitate closing of a sale by, for example, enabling presentation of the proposal to a potential client (or customer) whereby the potential client becomes informed of one or more solar energy installation plans; and can provide a cost analysis for each installation plan, ordering components of a selected solar energy installation plan, scheduling (e.g., permit acquisition, inspections, connections, etc.), accepting or arranging payment (e.g., accepting a payment, arranging a payment schedule, arranging financing and coordinating distribution, etc.), and so forth. The PPS may enable presentation of the proposal by providing it over a communication network to a client computing device.
Following installation, the PPS may perform automated reviews and quality control operations. The PPS may, at given intervals, acquire actual or estimated solar energy productions data regarding the installed solar energy equipment, ongoing associated costs, etc. These data may be used to refine calculations, computations, or other functions performed by the PPS to improve service to future clients.
The one or more processors 530 may include one or more general purpose devices, such as an Intel®, AMD®, or other standard microprocessor. The one or more processors 530 may include a special purpose processing device, such as ASIC, SoC, SiP, FPGA, PAL, PLA, FPLA, PLD, or other customized or programmable device. The one or more processors 530 may perform distributed (e.g., parallel) processing to execute or otherwise implement functionalities of the present embodiments. The one or more processors 530 may run a standard operating system and perform standard operating system functions. It is recognized that any standard operating systems may be used, such as, for example, Microsoft® Windows®, Apple® MacOS®, Disk Operating System (DOS), UNIX, IRJX, Solaris, SunOS, FreeBSD, Linux®, ffiM® OS/2® operating systems, and so forth.
The electronic memory 535 may include static RAM, dynamic RAM, flash memory, one or more flip-flops, ROM, CD-ROM, DVD, disk, tape, or magnetic, optical, or other computer storage medium. The electronic memory 535 may include a plurality of program modules 545-570 and a program data 540. The electronic memory 535 may be local to the computing system 510 or may be remote from the computing system 510 and/or distributed over the network 505.
The program modules 545-570 may include all or portions of other elements of the PPS 500. The program modules 545-570 may run multiple operations concurrently or in parallel by or on the one or more processors 530. In some embodiments, portions of the disclosed modules, components, and/or facilities are embodied as executable instructions embodied in hardware or in firmware, or stored on a non-transitory, machine-readable storage medium. The instructions may comprise computer program code that, when executed by a processor and/or computing device, cause a computing system to implement certain processing steps, procedures, and/or operations, as disclosed herein. The modules, components, and/or facilities disclosed herein, may be implemented and/or embodied as a driver, a library, an interface, an API, FPGA configuration data, firmware (e.g., stored on an EEPROM), and/or the like. In some embodiments, portions of the modules, components, and/or facilities disclosed herein are embodied as machine components, such as general and/or application-specific devices, including, but not limited to: circuits, integrated circuits, processing components, interface components, hardware controller(s), storage controller(s), programmable hardware, FPGAs, ASICs, and/or the like.
The program data 540 stored on the electronic memory 535 may include data generated by the PPS 500, such as by the program modules 545-570 or other modules. The stored program data 540 may be organized as one or more databases.
The I/O interface 520 may facilitate interfacing with one or more input devices and/or one or more output devices. The input device(s) may include a keyboard, mouse, touch screen, light pen, tablet, microphone, sensor, or other hardware with accompanying firmware and/or software. The output device(s) may include a monitor or other display, printer, speech or text synthesizer, switch, signal line, or other hardware with accompanying firmware and/or software.
The network interface 515 may facilitate communication with other computing devices and/or networks 505, such as the Internet and/or other computing and/or communications networks. The network interface 515 may be equipped with conventional network connectivity, such as, for example, Ethernet (IEEE 802.3), Token Ring (IEEE 802.5), Fiber Distributed Datalink Interface (FDDI), or Asynchronous Transfer Mode (ATM). Further, the computer may be configured to support a variety of network protocols such as, for example, Internet Protocol (IP), Transfer Control Protocol (TCP), Network File System over UDP/TCP, Server Message Block (SMB), Microsoft® Common Internet File System (CIFS), Hypertext Transfer Protocols (HTTP), Direct Access File System (DAFS), File Transfer Protocol (FTP), Real-Time Publish Subscribe (RTPS), Open Systems Interconnection (OSI) protocols, Simple Mail Transfer Protocol (SMTP), Secure Shell (SSH), Secure Socket Layer (SSL), and so forth.
The system bus 525 may facilitate communication and/or interaction between the other components of the PPS 500, including the one or more processors 530, the electronic memory 535, the I/O interface 520, and the network interface 515.
As noted, the PPS 500 includes various program modules 545-570 (or engines, elements, or components) (hereafter, “modules”) to implement functionalities of the PPS 500 and to generate, access, and/or manipulate the program data 540 stored in the electronic memory 535. Each of the various modules 545-570 may comprise machine-readable instructions that may be read and used by the one or more processors 530 to perform various functions of the PPS 500. The modules 545-570 can include a vertex detection neural network (“VDN”) 545, an edge detection neural network (“EDN”) 550, a face detection engine (“FDE”) 555, a 3D planes detection engine (3DE) 560, and other appropriate software modules 570, etc. The other appropriate software modules (“other modules”) 570 may include disparate modules, such as an insolation analysis neural network (IAN), a placement geometry engine (“PGE”), a cost analysis module (“CAM”), a scheduling and monitoring module (“SMM”), etc. There may be more or fewer software modules 545-570 than shown in
The processor 530 is configurable to enable the processor 530 to read and execute computer-executable instructions, such as computer-executable instructions to perform the methods described herein. The computer-executable instructions may be stored in the memory 535, or in another memory accessible to the processor 530. The I/O interface 520 and/or the network interface 515 may enable to processor 530 to communicate with the memory 535 and/or another memory, and to communicate with, for example, a tablet computer, such as the tablet computer 150, 320 of, respectively,
The memory 535 may store computer-readable and executable instructions to enable the processor 530 to perform the methods described herein. More particularly, the memory 535 may store instructions to enable the processor 530 to operate the VDN module 545 to generate, manipulate, interpolate, etc. a point cloud to identify each vertex representing an intersection of at least three planes in the point cloud model. The VDN module 545 may further enable the processor 530 to activate or employ the EDN module 550. The EDN module 550 may enable the processor 530 construct a bounding box around each array of next-neighbor points of the point cloud representing an intersection of two planes, and including two vertices. The EDN module 550 may further enable the processor 530 to define an edge of a polygon (representing an edge of a face of the surface of interest) from each line so identified. The EDN 550 may enable the processor 530 to employ the FDE 555 to construct a face of the surface of interest based on edges detected by the EDN 550. The FDE 555 may enable the processor 530 to employ the 3DE 560 to identify 3D planes representing faces of the surface of interest. The 3DE 560, in turn, may enable the processor 530 to employ the SIM 565 to run sun simulations relative to the site. The SIM 565 may enable the processor 530 to IAN to generate insolation data (as described elsewhere herein) relative to one or more of: each point of the point cloud representing a location at a face of the surface of interest, an array of points representing a definable area of a face of the surface of interest, an array of points representing entire area of a face of the surface of interest, an array of points representing a definable area of the surface of interest, the entire area of the surface of interest, etc. The IAN may enable the processor 530 to employ the PGE to ascertain one or more physical dispositions for equipment to be proposed for the project. The PGE may consider physical dimensions and/or geometry of the equipment, availability of equipment, etc., along with limitations imposed by, e.g., obstacles, setbacks, etc. The PGE may be recursively called by the processor 530 based on data that may be generated via the CAM. The PGE may generate data to be populated into a Preposal™ and/or proposal, such as images, text, etc. The PGE may enable the processor 530 to employ the CAM to perform a variety of cost analyses, including cost of implementation, TVM, ROI, FV-forecast, etc. The CAM may generate a cost table, an inventory table, etc., and at least some of the data generated by the CAM may be included in a proposal. The CAM, or another financial module, may also enable the processor 530 to perform financial transactions, such as to accept payment from a client, to remit payment to a vendor, etc. The CAM may enable the processor 530 to employ the SMM to perform scheduling of work and equipment to implement a project. The SMM may enable the processor 530 to, via the network interface 515 and the network 505, interact with vendors, contractors, etc., to request scheduling of equipment, installers, inspectors, etc. The SMM may further enable the processor 530 to interact with the client for scheduling and reporting purposes. The SMM and the CAM may each iteratively enable the processor 530 to invoke the SMM or the CAM to update relevant data of either module, as well as to invoke other modules as may, from time to time, be needed to perform the functions of the PPS 500. Additional other modules 570 are anticipated by the present disclosure.
The network interface 515 may enable communication of the results generated by the modules 545-570 to a memory for retention storage and/or to another system.
The above scenario (or model) structure allows a sales representative (“sales rep”) to log into sales rep facing interface to the platform and order a pre/proposal with basic information. Based on company structure, geolocation, or some combination the sales representative is able to receive an automated Preposal™ and proposal template that fits a present selling scenario of the sales rep. When the request is submitted, it may enter a sophisticated queue system. A proposal engine of the platform can automate the design and populate data into an automated template. A quality assurance person can review the contents and then finish the process by digitally delivering the proposal to the end user via the platform, as described above with reference to
In
Some examples of embodiments of the present disclosure are now provided.
Example 1. A system to model obstructions to sunlight, comprising: a network interface to couple to one or more client computing devices over a communication network; memory to store one or more of point cloud data and computer-readable instructions that when executed by a processor cause the system to perform operations; and one or more processors to execute the computer-readable instructions to cause the system to perform operations to: access point cloud data for a site; identify one or more surfaces of interest at the site from the point could data; model the point cloud data to generate a site representation of the site that includes the one or more surfaces of interest and one or more objects at the site that are around the one or more surfaces of interest; simulate a path of the sun with respect to the site representation to identify areas of the one or more surfaces of interest that are shaded from the sun; mask surface of interest points of the point cloud; and determine a shade metric at each point of each of the one or more surfaces of interest. Simulating the path of the sun with respect to the site representation can comprise: obtaining sun positions for a plurality of points in time that is representative of phases throughout the year given a geolocation of the site; filtering the sun positions to daytime sun positions; filtering further to sun positions for multiple days of a year (e.g., summer and winter solstices); and representing the sun positions for each of the multiple days of the year to simulate shade on the one or more surfaces of interest. Determining a shade metric at each point of each of the one or more surfaces of interest can comprise: casting a ray between the sun positions and each surface of interest point in the point cloud checking for any intersections with the site representation (e.g., 3D mesh); recording, for each given surface of interest point, intersections with the site representation of the ray cast from a given sun position to the given surface of interest point (e.g., in an array that is n points long by m hour points); applying an insolation value (e.g., irradiance) to the surface of interest points (e.g., elements of the array) without intersections; and summing insolation values for each given point and dividing by a total possible irradiance for the given point producing a percentage of total irradiance at the given point.
Example 2. A computer-implemented method to model obstructions to sunlight, comprising: receiving point cloud data for a site (e.g., of a potential solar electrical generation system); modeling the point cloud data to generate an object representation (e.g., three-dimensional (3D) model, a polyhedron model) of an object of interest at the site, the object representation including one or more surfaces of interest for the object of interest; modeling the point cloud data to generate a site representation (e.g., a 3D mesh) of the site that includes the one or more surfaces of interest and one or more objects at the site that are adjacent (e.g., surrounding, around) the one or more surfaces of interest, wherein the surface of interest points of the object representation are adjusted (e.g., elevated above) to be offset from (to not intersect) the of the site representation; generating an obstruction point cloud by inserting surface of interest points of the point cloud into the site representation and adjusting the surface of interest points to not intersect with a corresponding portion of the site representation; simulating (or otherwise determining) a path of the sun with respect to the site representation to identify areas of the one or more surfaces of interest that are shaded from the sun, by: obtaining (or gathering) sun positions (e.g., in zenith and azimuth angles) for a plurality of points in time that is representative of phases (e.g., days, weeks, months, seasons) throughout (e.g., every second, minute, hour of) the year given a geolocation of the site; filtering the sun positions to daytime sun positions; filtering further to sun positions for multiple days of a year (e.g., summer and winter solstices); and representing the sun positions for each of the multiple days of the year for simulating shade (e.g., at a point per period/hour of the year) on the one or more surfaces of interest (or simulating the sun positions for each of the multiple days of the year for finding shade on the one or more roof surfaces); masking (or otherwise extracting, filtering, separating) surface of interest points of the point cloud (e.g., based on the one or more surfaces of interest, determining the points of the point cloud that are on the one or more surfaces of interest); determining a shade metric (or value) at each point of each of the one or more surfaces of interest (for the time period) by: casting a ray between the sun positions and each surface of interest point in the point cloud checking for any intersections with the site representation (e.g., 3D mesh); recording, for each given surface of interest point, intersections with the site representation of the ray cast from a given sun position to the given surface of interest point (e.g., in an array that is n points long by m hour points); applying an insolation value (e.g., irradiance) to the surface of interest points (e.g., elements of the array) without intersections; and summing insolation values for each given point and dividing by a total possible irradiance for the given point producing a percentage of total irradiance at the given point. The method can further include identifying the objects at the site that are obstructions, based on one or more of the recorded intersections and/or the shade metric at each point of each of the one or more surfaces of interest. The method can further include generating a visual representation of the object of interest and the obstructions that indicates the shade metric of each point of each of the one or more surfaces of interest. The visual representation can be a digital interactive proposal.
While this specification contains many specific implementation details, these should not be construed as limitations on the scope of any inventions or of what may be claimed, but rather as descriptions of features specific to particular implementations of the systems and methods described herein. Certain features that are described in this specification in the context of separate implementations can also be implemented and/or arranged in combination in a single implementation. Conversely, various features that are described in the context of a single implementation can also be implemented and arranged in multiple implementations separately or in any suitable sub combination. Moreover, although features may be described above as acting in certain combinations and even initially claimed as such, one or more features from a claimed combination can in some cases be excised from the combination, and the claimed combination may be directed to a subcombination or variation of a subcombination.
Similarly, while operations are depicted in the drawings in a particular order, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order, or that all illustrated operations be performed, to achieve desirable results. In some cases, the actions recited in the claims can be performed in a different order and still achieve desirable results. In addition, the processes depicted in the accompanying figures do not necessarily require the particular order shown, or sequential order, to achieve desirable results.
In certain circumstances, multitasking and parallel processing may be advantageous. Moreover, the separation of various system components in the implementations described above should not be understood as requiring such separation in all implementations, and it should be understood that the described program components and systems can generally be integrated together in a single software product or packaged into multiple software products.
Having described some illustrative implementations, implementations, illustrative embodiments, and embodiments, it is apparent that the foregoing is illustrative and not limiting, having been presented by way of example. In particular, although many of the examples presented herein involve specific combinations of method acts or system elements, those acts and those elements may be combined in other ways to accomplish the same objectives. Acts, elements, and features discussed only in connection with one implementation are not intended to be excluded from a similar role in other implementations.
The phraseology and terminology used herein is for the purpose of description and should not be regarded as limiting. The use of “including,” “comprising,” “having,” “containing,” “involving,” “characterized by,” “characterized in that,” and variations thereof herein, is meant to encompass the items listed thereafter, equivalents thereof, and additional items, as well as alternate implementations consisting of the items listed thereafter exclusively. In one implementation, the systems and methods described herein consist of one, each combination of more than one, or all of the described elements, acts, or components.
Any references to implementations, arrangements, elements, or acts of the systems and methods herein referred to in the singular may also embrace implementations including a plurality of these elements, and any references in plural to any implementation, arrangement, element, or act herein may also embrace implementations including only a single element. References in the singular or plural form are not intended to limit the presently disclosed systems or methods, or their components, acts, or elements to single or plural configurations. References to any act or element being based on any information, act, or element may include implementations where the act or element is based at least in part on any information, act, or element.
It should be understood that no claim element herein is to be construed under the provisions of 35 U.S.C. § 112(f) unless the element is expressly recited using the phrase “means for.”
It should be noted that although the diagrams herein may show a specific order and composition of method steps, it is understood that the order of these steps may differ from what is depicted. For example, two or more steps may be performed concurrently or with partial concurrence. Also, some method steps that are performed as discrete steps may be combined, steps being performed as a combined step may be separated into discrete steps, the sequence of certain processes may be reversed or otherwise varied, and the nature or number of discrete processes may be altered or varied. The order or sequence of any element or apparatus may be varied or substituted according to alternative embodiments. Accordingly, all such modifications are intended to be included within the scope of the present disclosure as defined in the appended claims. Such variations will depend on the machine-readable media and hardware systems chosen and on designer choice. It is understood that all such variations are within the scope of the disclosure. Likewise, software and web implementations of the present disclosure could be accomplished with standard programming techniques with rule-based logic and other logic to accomplish the various database searching steps, correlation steps, comparison steps, and decision steps.
It will be obvious to those having skill in the art that many changes may be made to the details of the above-described embodiments without departing from the underlying principles of the invention. The scope of the present invention should, therefore, be determined only by the following claims.
Claims
1. A system to model obstructions to sunlight, comprising:
- a network interface to couple to one or more client computing devices over a communication network;
- memory to store one or more of point cloud data and computer-readable instructions that when executed by a processor cause the system to perform operations; and
- one or more processors to execute the computer-readable instructions to cause the system to perform operations to: access point cloud data for a site; identify one or more surfaces of interest at the site from the point could data; model the point cloud data to generate a site representation of the site that includes the one or more surfaces of interest and one or more objects at the site that are around the one or more surfaces of interest; simulate a path of the sun with respect to the site representation to identify areas of the one or more surfaces of interest that are shaded from the sun; mask surface of interest points of the point cloud; and determine a shade metric at each point of each of the one or more surfaces of interest.
2. The system of claim 1, wherein simulating the path of the sun with respect to the site representation comprises:
- obtaining sun positions for a plurality of points in time that is representative of phases throughout the year given a geolocation of the site;
- filtering the sun positions to daytime sun positions;
- filtering further to sun positions for multiple days of a year; and
- representing the sun positions for each of the multiple days of the year to simulate shade on the one or more surfaces of interest.
3. The system of claim 1, wherein determining a shade metric at each point of each of the one or more surfaces of interest comprises:
- casting a ray between the sun positions and each surface of interest point in the point cloud checking for any intersections with the site representation;
- recording, for each given surface of interest point, intersections with the site representation of the ray cast from a given sun position to the given surface of interest point;
- applying an insolation value to the surface of interest points without intersections; and
- summing insolation values for each given point and dividing by a total possible irradiance for the given point producing a percentage of total irradiance at the given point.
4. The system of claim 1, wherein the one or more processors are further to execute the computer-readable instructions to cause the system to perform operations to identify the objects at the site that are obstructions, based on the shade metric at each point of each of the one or more surfaces of interest.
5. The system of claim 1, wherein identifying the one or more surfaces of interest at the site from the point could data comprises modeling the point cloud data to generate a three dimensional model of an object of interest that includes the one or more surfaces of interest.
6. The system of claim 1, wherein the one or more surfaces pertain to an object of interest at the site and the object of interest is a structure at the site.
7. The system of claim 1, wherein the one or more surfaces are roof surfaces of a structure at the site.
8. The system of claim 1, wherein the site is a location of a potential solar electrical generation system.
9. The system of claim 1, wherein the one or more processors are further to execute the computer-readable instructions to cause the system to perform operations to generate a visual representation of the object of interest and the obstructions that indicates the shade metric of each point of each of the one or more surfaces of interest.
10. The method of claim 9, wherein the visual representation is a digital interactive proposal.
11. A computer-implemented method to model obstructions to sunlight, comprising:
- obtaining point cloud data for a site;
- identifying one or more surfaces of interest at the site from the point cloud data;
- generating a three dimensional model of the one or more surfaces of interest, based on the point cloud data;
- modeling the point cloud data to generate a site representation of the site that includes the one or more surfaces of interest and one or more objects at the site that are adjacent the one or more surfaces of interest;
- simulating a path of the sun with respect to the site representation to identify areas of the one or more surfaces of interest that are shaded from the sun;
- masking surface of interest points of the point cloud; and
- determining a shade metric at each point of each of the one or more surfaces of interest.
12. The method of claim 11, wherein simulating the path of the sun with respect to the site representation comprises:
- obtaining sun positions for a plurality of points in time that is representative of phases throughout the year given a geolocation of the site;
- filtering the sun positions to daytime sun positions;
- filtering further to sun positions for multiple days of a year; and
- representing the sun positions for each of the multiple days of the year to simulate shade on the one or more surfaces of interest.
13. The method of claim 11, wherein determining a shade metric at each point of each of the one or more surfaces of interest comprises:
- casting a ray between the sun positions and each surface of interest point in the point cloud checking for any intersections with the site representation;
- recording, for each given surface of interest point, intersections with the site representation of the ray cast from a given sun position to the given surface of interest point;
- applying an insolation value to the surface of interest points without intersections; and
- summing insolation values for each given point and dividing by a total possible irradiance for the given point producing a percentage of total irradiance at the given point.
14. The method of claim 11, further comprising:
- identifying the objects at the site that are obstructions, based on the shade metric at each point of each of the one or more surfaces of interest.
15. The method of claim 11, wherein identifying the one or more surfaces of interest at the site from the point could data comprises:
- modeling the point cloud data to generate a three dimensional model of an object of interest that includes the one or more surfaces of interest.
16. The method of claim 11, wherein the one or more surfaces pertain to an object of interest at the site and the object of interest is a structure at the site.
17. The method of claim 11, wherein the one or more surfaces are roof surfaces of a structure at the site.
18. The method of claim 11, wherein the site is a location of a potential solar electrical generation system.
19. The method of claim 11, further comprising:
- generating a visual representation of the object of interest and the obstructions that indicates the shade metric of each point of each of the one or more surfaces of interest.
20. The method of claim 19, wherein the visual representation is a digital interactive proposal.
Type: Application
Filed: Nov 29, 2022
Publication Date: Jun 1, 2023
Inventors: Dennis J. Strader (Eagle Mountain, UT), Ryan H. Nelson (Highland, UT), Landon J. Anderton (Cottonwood Heights, UT), Daniel S. Goodrick (Saratoga Springs, UT), Merrill E. McKee (Clearwater, FL)
Application Number: 18/071,184