IP Library Granted Patent US 10,754,999
Granted Patent B1
US 10,754,999 · App. 16/685,670 · Granted Aug 25, 2020

Generating a photovoltaic system design for a building

Inventors: Miltiadis Vratimos (Berkeley, CA); Jacob Wachman (San Francisco, CA); Grzegorz Biziel (Wroclaw, PL); Derrick Boudwin (San Jose, CA); Blaz Snuderl (Maribor, SI); Dominik Kulikowski (Wlen, PL); James Mannix (Richmond, CA); Nour Daouk (San Francisco, CA); Austen A. Satterlee (San Francisco, CA)
Assignee: SUNPOWER CORPORATION
G06F30/13G06F3/04845G06F30/00G06N3/08G06T7/13G06T7/70G06T11/20H02S20/24G06F2111/04G06T2200/24G06T2207/10032H01L31/02021Y02B10/12
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,754,999
App. No.
16/685,670
Granted
Aug 25, 2020
Kind
B1
Abstract

A solar design generation system is configured to design a solar panel or photovoltaic (PV) system for the roof of building. A server includes processing circuitry configured to receive information from a remote device, including an address corresponding to a building having a roof, automatically generate a solar design in real time based on the received information, and display the solar design to a user. The user can interact with the solar design in various ways to accommodate, implement and calculate various design changes, design rules and electricity generation (production) estimates.

Claims (107)

1. A method, comprising:

receiving, by processing circuitry, information including an address corresponding to a building having a roof;

in response to receiving the information, automatically generating, by a server, a solar design for the roof in real time based on the received information, wherein automatically generating the solar design includes,

determining a roof topology by reconstructing a three-dimensional representation of the roof, wherein determining the roof topology includes

receiving output from a trained segmentation machine learning model, wherein the trained segmentation machine learning model is configured to identify types of roof edges; and

receiving output from a trained obstruction machine learning model, wherein the trained obstruction model is configured to identify obstructions on the roof;

determining a photovoltaic panel layout based on the roof topology; and

receiving setback rules, wherein receiving the setback rules includes

receiving a maximum dimension of a photovoltaic (PV) panel array without a walkway; and

receiving an array walkway width; and

displaying, by the processing circuitry, the solar design, wherein the displayed solar design is interactive; and

in response to receiving an update to the solar design by changing an aspect of the displayed solar design, automatically generating an updated solar design in real time based on the update.

2. The method of claim 1 , further comprising:

displaying an overhead view of the roof

receiving a radius corresponding to a selection box, and

receiving a selection box position, wherein the selection box position corresponds to the selection box covering at least a portion of the roof.

3. The method of claim 1 , further comprising:

receiving a photovoltaic module type; and

receiving a system type for the photovoltaic module, wherein the system type corresponds to a single tilt or dual tilt design.

4. The method of claim 1 , wherein receiving setback rules further comprises:

receiving a small roof set back; and

receiving a large roof set back.

5. The method of claim 1 , wherein receiving setback rules further comprises:

receiving a small obstruction area; and

receiving a small obstruction setback, wherein the small obstruction setback is applied to any obstruction that has an area less than the small obstruction area.

6. The method of claim 5 , wherein receiving setback rules further comprises:

receiving a medium obstruction area;

receiving a medium obstruction setback, wherein the medium obstruction setback is applied to any obstruction that has an area less than the medium obstruction area and greater than or equal to the small obstruction area; and

receiving a large obstruction setback, wherein the large obstruction setback is applied to any obstruction that has an area greater than or equal to the medium obstruction area.

7. The method of claim 1 , wherein receiving setback rules further comprises:

receiving a minimum area of obstacles to connect, wherein the minimum area of obstacles to connect corresponds to which obstacles on the roof have walkway access as part of the solar design.

8. The method of claim 1 , further comprising:

determining location information;

identifying a topology of a roof identified based on the location information;

determining a photovoltaic (PV) panel layout for the roof based on the roof topology;

determining a solar access of the roof based on the location information;

calculating a total solar radiation factor (TSRF) based on the solar access of the roof and a tilt orientation factor (TOF);

calculating power generation information for the solar design based on the panel layout; and

generating the solar design based on the TSRF, the panel layout, and the power generation information.

9. The method of claim 8 , wherein determining the PV panel layout further comprises:

receiving roof topology information;

identifying a roof size and selecting roof walkways;

integrating setbacks for each obstruction based on the received information;

integrating obstruction walkways based on the received information;

placing the PV panels based on the integrated setbacks, obstruction walkways, and roof walkways; and

outputting PV panel placement information.

10. The method of claim 8 , wherein identifying the roof topology further comprises:

determining obstruction information for the roof;

determining segmentation information for the roof;

improving the segmentation information via feature extraction;

identifying edges and vertices of the roof; and

outputting a roof geometry graph.

11. The method of claim 10 , wherein determining obstruction information further comprises:

identifying obstructions on the roof based on the location information and a trained obstruction model;

outputting an obstruction array; and

determining whether the obstruction array is within a predetermined threshold.

12. The method of claim 10 , wherein determining segmentation information further comprises:

identifying a segmentation of the roof based on the location information and a trained segmentation model; and

outputting a roof plane array.

13. The method of claim 8 , wherein determining solar access of the roof further comprises:

calculating heliopath information based on the location information;

calculating raycasting information based on the heliopath information, a roof layout, a panel layout, and a digital surface model (DSM);

calculating shade information based on the raycasting information; and

calculating the solar access of the roof based on the shade information.

14. The method of claim 1 , wherein the received information for automatically generating the solar design in real time further includes a selected area including at least a portion the roof, a system type, a module type, setback rules, and walkway rules.

15. A method, comprising:

receiving, by processing circuitry, information including an address corresponding to a building having a roof;

in response to receiving the information, automatically generating, by a server, a solar design for the roof in real time based on the received information, wherein automatically generating the solar design includes,

determining a roof topology by reconstructing a three-dimensional representation of the roof, wherein determining the roof topology includes

receiving output from a trained segmentation machine learning model, wherein the trained segmentation machine learning model is configured to identify types of roof edges; and

receiving output from a trained obstruction machine learning model, wherein the trained obstruction model is configured to identify obstructions on the roof;

determining a photovoltaic panel layout based on the roof topology; and

receiving setback rules, wherein receiving the setback rules includes

receiving a small obstruction area; and

receiving a small obstruction setback, wherein the small obstruction setback is applied to any obstruction that has an area less than the small obstruction area; and

displaying, by the processing circuitry, the solar design, wherein the displayed solar design is interactive; and

in response to receiving an update to the solar design by changing an aspect of the displayed solar design, automatically generating an updated solar design in real time based on the update.

16. The method of claim 15 , wherein receiving setback rules further comprises:

receiving a medium obstruction area;

receiving a medium obstruction setback, wherein the medium obstruction setback is applied to any obstruction that has an area less than the medium obstruction area and greater than or equal to the small obstruction area; and

receiving a large obstruction setback, wherein the large obstruction setback is applied to any obstruction that has an area greater than or equal to the medium obstruction area.

17. A method, comprising:

receiving, by processing circuitry, information including an address corresponding to a building having a roof;

in response to receiving the information, automatically generating, by a server, a solar design for the roof in real time based on the received information, wherein automatically generating the solar design includes,

determining a roof topology by reconstructing a three-dimensional representation of the roof, wherein determining the roof topology includes

receiving output from a trained segmentation machine learning model, wherein the trained segmentation machine learning model is configured to identify types of roof edges; and

receiving output from a trained obstruction machine learning model, wherein the trained obstruction model is configured to identify obstructions on the roof;

determining a photovoltaic panel layout based on the roof topology; and

receiving setback rules, wherein receiving the setback rules includes

receiving a minimum area of obstacles to connect, wherein the minimum area of obstacles to connect corresponds to which obstacles on the roof have walkway access as part of the solar design; and

displaying, by the processing circuitry, the solar design, wherein the displayed solar design is interactive; and

in response to receiving an update to the solar design by changing an aspect of the displayed solar design, automatically generating an updated solar design in real time based on the update.

18. A method, comprising:

receiving, by processing circuitry, information including an address corresponding to a building having a roof;

in response to receiving the information, automatically generating, by a server, a solar design for the roof in real time based on the received information, wherein automatically generating the solar design includes,

determining a roof topology by reconstructing a three-dimensional representation of the roof, wherein determining the roof topology includes

receiving output from a trained segmentation machine learning model, wherein the trained segmentation machine learning model is configured to identify types of roof edges; and

receiving output from a trained obstruction machine learning model, wherein the trained obstruction model is configured to identify obstructions on the roof;

determining a photovoltaic panel layout based on the roof topology, wherein determining the photovoltaic panel layout includes

receiving roof topology information;

identifying a roof size and selecting roof walkways;

integrating setbacks for each obstruction based on the received information;

integrating obstruction walkways based on the received information;

placing the PV panels based on the integrated setbacks, obstruction walkways, and roof walkways; and

outputting PV panel placement information; and

displaying, by the processing circuitry, the solar design, wherein the displayed solar design is interactive; and

in response to receiving an update to the solar design by changing an aspect of the displayed solar design, automatically generating an updated solar design in real time based on the update.

Assignments (5)
PATENT SECURITY AGREEMENT Recorded Apr 27, 2026
From: SUNPOWER INC.; COMPLETE SOLAR INC.
To: U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 075476/0528 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 8, 2025
From: SUNPOWER CORPORATION
To: COMPLETE SOLARIA, INC.
Reel/Frame 070772/0951 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Feb 14, 2024
From: SUNPOWER CORPORATION
To: GLAS AMERICAS LLC, AS COLLATERAL AGENT
Reel/Frame 066598/0964 →
SECURITY INTEREST Recorded Sep 13, 2022
From: SUNPOWER CORPORATION
To: BANK OF AMERICA, N.A., AS AGENT
Reel/Frame 061422/0566 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 13, 2020
From: VRATIMOS, MILTIADIS; WACHMAN, JACOB; BIZIEL, GRZEGORZ; BOUDWIN, DERRICK; SNUDERL, BLAZ; KULIKOWSKI, DOMINIK; MANNIX, JAMES; DAOUK, NOUR; SATTERLEE, AUSTEN
To: SUNPOWER CORPORATION
Reel/Frame 053191/0237 →
Cited By (6)
US 12,229,480 US 12,282,711 US 12,443,770 US 12,555,244 US 12,567,229 US 12,705,883