Automatic location of devices of a facility
Patent Information
- Application Number
- TW111121664
- Authority / Receiving Office
- TW · TW
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2022-06-03
- Filing Date
- 2022-06-10
- Publication Date
- 2026-09-01
- Estimated Expiration
- 2042-06-09
AI Technical Summary
There is a discrepancy between the requested and actual installation locations of devices in facilities, leading to operational challenges such as difficulty in data interpretation, calibration, maintenance, and repair, which is exacerbated by manual location verification methods being labor-intensive, time-consuming, and prone to errors.
A method involving signal-to-interference-plus-noise ratio (SINR) measurement, time domain reflectometry (TDR), and a virtual model heuristic is used to determine the relative positions of devices, correcting for discrepancies between planned and actual locations, utilizing ultra-wideband (UWB), GPS, and RFID for geolocation.
Automates the process of locating devices, reducing labor and errors, ensuring accurate data interpretation and operational efficiency by precisely determining their actual positions within facilities.
Smart Images

Figure TWG2TB001908228_001 
Figure TWG2TB001908228_002 
Figure TWG2TB001908228_003
Abstract
Description
[Technical Field]
[0001] This application relates to the automatic positioning of devices in a facility. [Previous Technology]
[0002] The device may be placed at a location within the facility, for example, to analyze, detect, and / or react to various environmental characteristics. The device may analyze, detect, and / or react to: data, temperature, humidity, sound, electromagnetic waves, location, distance, movement, speed, vibration, volatile organic compounds (VOCs), dust, light, glare, color, gases, and / or other states of the facility. The device is operatively coupled to (e.g., communicatively coupled to and / or powered by) a network. Digital models and / or other files may be associated with the facility and device (e.g., Building Information Modeling (BIM) files, such as Revit files or similar facility-related files). The digital model and / or files may be referred to herein as a "digital twin" of the facility.
[0003] There may be a difference between the requested installation location of the device and the actual installation location of the device. This difference can occur when the device is placed in the facility, causing a change in the position of one or more of the devices. This difference can also occur when one or more of the devices are misplaced. For example, devices that are installed (e.g., substantially externally identical) can be distinguished from each other (e.g., only) by consulting engraved serial numbers, barcodes, quick response (QR) codes, querying radio frequency identification (RFID) tags, and / or by obtaining other information that identifies the devices by their specific serial numbers.
[0004] Knowing the actual (e.g., real-world) installation location of a device can be important for its function and / or control. For example, knowing the actual installation location can be important so that the device can correctly interpret and / or operate after acquiring data. The location of a device can be important for its operation, control, calibration, replacement, maintenance, and / or repair. A lack of knowledge about the actual installation location of a device can make its operation, control, calibration, replacement, maintenance, and / or repair difficult to perform. A lack of knowledge about the actual installation location of a device may jeopardize the use and / or interpretation of its data (e.g., due to misunderstandings caused by different location conditions such as fixed and / or unfixed installations).
[0005] The actual (e.g., real) installation location of the device can be externally determined and / or verified, for example, by a passenger (such as a person or a machine (e.g., a robot, such as a drone)). Manually locating any misplaced device and / or updating digital twins (e.g., current solutions) can be labor-intensive, time-consuming, expensive, and / or prone to error, such as human error and / or judgment errors due to manual input. Such work can increase (i) with the number of devices and (ii) with the size and / or complexity of the facility where the device is located (e.g., set up). When the location of the device is requested in advance, a significant amount of work (e.g., labor and cost) may be required to ensure correct placement. If the location is not requested in advance but recorded manually afterwards, a similar amount of work (e.g., labor, time, and / or cost) may be required.
[0006] Automating the procedures for locating and recording devices, at least partially, during and / or after commissioning can provide some relief for such tasks (e.g., device deployment in a facility). To address random location deviations of installed devices from their requested locations, we face a combinatorial optimization problem. For a network of N devices, there may be N! mappings to requested locations for the actual installation location. Exhaustive searching for large values of N may be infeasible. [Summary of the Invention]
[0007] The various forms disclosed herein at least partially mitigate one or more disadvantages associated with the positioning of one or more devices in a facility. The various forms disclosed herein can relate to a group of components (e.g., assemblies, groups, and / or networks) configured to analyze, detect, and / or respond to one or more characteristics of an enclosure. Components can be configured to respond to various signals. Signals may contain data (e.g., received). Signals may contain (e.g., digital) signals.
[0008] According to some embodiments, a method for locating devices installed in a facility includes: a procedure (A) comprising measuring the signal-to-interference-plus-noise ratio (SINR) of signals received from each device and using the measured SINR to determine a relative position of each of the devices; and a procedure (B) comprising transmitting an incident signal to a network containing the devices and using a time-domain reflectograph (TDR) to analyze the reflections of the signal from each of the devices and using the analyzed reflections to determine the relative position of each of the devices. And / or a procedure (C) comprising (i) using a virtual model of the facility, the virtual model comprising virtual devices located in virtual locations corresponding to planned locations of the devices in the facility, wherein each virtual device corresponds to a separate installed device; (ii) identifying actual distances between one or more pairs of installed devices; (iii) comparing the identified actual distances with the virtual locations using a heuristic method; and (iv) at least in part by using the heuristic method to evaluate the matching of the virtual locations with one of the actual locations of the devices.
[0009] In some instances, one or more of these devices may be a window controller for a colorable window. In some instances, the method may include determining a difference between at least one portion of the network, such as an as-built configuration, and another portion of the network, such as an as-designed configuration. In some instances, determining the difference includes using network diagnostics available from the window controller.
[0010] In some instances, the method may include one or both of procedure (C) and procedure (A) and / or procedure (B). In some instances, the signals received from the devices are received via a trunk line coupled to the devices in a network. In some instances, the method may further include using virtual device pair distances to identify a characteristic virtual distance, and using the characteristic virtual distance to identify a match between: (i) two real devices located at a distance exactly or substantially equal to the characteristic virtual distance; and (ii) two virtual devices located at a distance of the characteristic virtual distance. In some instances, the method may further include using the actual distances identified between the pairs of installed devices to calculate the real positions of the pairs of installed devices. In some instances, the trial-and-error method may include a calculation scheme utilizing a digital matrix. In some instances, the trial-and-error method may include a calculation scheme including a combinatorial solution, a discrete solution, recursive calculation, mathematical induction, mathematical optimization, and / or a decision tree. In some instances, the heuristic approach may include using a computation scheme that includes computing sub-solutions to provide a solution by: (i) determining the solution using computational stages of computing the sub-solutions, and (ii) making an optimal choice among the computational stages to compute a corresponding sub-solution of the solution. In some instances, the computation scheme may include a candidate set from which the solution is constructed, the candidate set comprising building information model data. In some instances, the computation scheme may include providing a solution for matching the virtual distances and actual distances of the devices, the provision of a solution including using a decision tree structure representing a set of candidate solutions, the decision tree structure having a plurality of branches containing a solution space. In some instances, the method may further include: forming an initial evaluation of a solution; partitioning a solution space into a plurality of subsets; and discarding all subsets that approximate the solution with less accuracy than the initial evaluation. In some instances, the trial-and-error method may include a combination of computation schemes that provide a solution for matching virtual distances and actual distances for such devices by making a locally optimal choice for each of the plurality of sub-solutions of the solution.
[0011] In some instances, the method may further include using the following to measure such actual distances: ultra-wideband (UWB), global positioning system (GPS), radio frequency identification (RFID), communication links operating at frequencies in the radio frequency band of about 2.4 GHz to 2.48 GHz, and / or any other geographic location technology.
[0012] In some instances, the method may include one or both of procedure (A) and / or procedure (B). In some instances, the devices may be communicatively coupled via a network having a control panel or network controller, the network including a trunk line coupling the control panel and / or network controller to the devices. In some instances, the method may include procedure (A) and procedure (B).
[0013] In some embodiments, the facility includes one or more buildings.
[0014] According to some embodiments, a system for locating devices installed in a facility includes a plurality of devices within a network and a processor configured to control or guide control: a procedure (A) including measuring the signal-to-interference-plus-noise ratio (SINR) of signals received from each device and using the measured SINR to determine a relative position of each of the devices; a procedure (B) including transmitting an incident signal to a network containing the devices and using a time-domain reflectometry (TDR) to analyze the reflection of the signal from each of the devices, and using... The analysis of reflections is used to determine the relative positions of the devices; and / or a procedure (C) comprising (i) using a virtual model of the facility, the virtual model including virtual devices located in virtual positions corresponding to the planned positions of the devices in the facility, wherein each virtual device corresponds to a separate installed device; (ii) identifying actual distances between one or more pairs of installed devices; (iii) comparing the identified actual distances with the virtual positions using a trial-and-error method; and (iv) at least in part by using the trial-and-error method to evaluate the matching of the virtual positions with one of the actual positions of the devices.
[0015] In some instances, one or more of the plurality of devices may be a window controller for a colorable window.
[0016] In some instances, the processor may be further configured to determine the difference between at least one part of the network, such as a construction configuration, and another part of the network, such as a design configuration.
[0017] In some instances, the processor may be configured to control or guide one or both of control program (C) and program (A) and / or program (B). In some instances, the processor may be further configured to use virtual device distances to identify a characteristic virtual distance and to use the characteristic virtual distance to identify a match between: (i) two real devices located at a distance exactly or substantially equal to the characteristic virtual distance; and (ii) two virtual devices located at a distance of the characteristic virtual distance. In some instances, the processor may be further configured to use the actual distances identified between the pairs of mounted devices to calculate the real positions of the pairs of mounted devices. In some instances, the trial-and-error method may include a calculation scheme that includes a combined solution, a discrete solution, recursive calculation, mathematical induction, mathematical optimization, and / or a decision tree. In some instances, the heuristic method may include using a computation scheme that includes computing sub-solutions to provide a solution by: (i) determining the solution using computational stages of computing the sub-solutions, and (ii) making an optimal choice among the computational stages to compute a corresponding sub-solution of the solution. In some instances, the computation scheme may include one or both of the following: a feasibility function for determining when one of the candidates in the candidate set is available to constitute the solution; and / or an objective function for assigning a value to each of the sub-solutions. In some instances, the processor may be further configured to locate a specific signature corresponding to each of the virtual devices, and the specific signature may include locating the individual virtual device that forms a numerical series by referencing the distances of one or more other virtual devices and / or one or more other real devices. In some instances, the numerical series includes a Fibonacci, square, cubic, telescopic, trigonometric, geometric, twin, or arithmetic series. In some instances, the trial-and-error method may include a combination of computational schemes that provide a solution for matching virtual distances to actual distances for such devices by making a locally optimal choice among the complex sub-solutions of the solution.
[0018] In some instances, the processor can be configured to control or guide one or both of control program (A) and / or program (B).
[0019] In some instances, the processor can be configured to control or boot control program (A) and program (B).
[0020] According to some embodiments, an apparatus for locating devices in a facility includes at least one controller having a circuit system, wherein the at least one controller is configured to control or guide control: a procedure (A) comprising measuring the signal-to-interference-plus-noise ratio (SINR) of signals received from each device and using the measured SINR to determine a relative position of each of the devices; a procedure (B) comprising transmitting an incident signal to a network containing the devices and using a time-domain reflectometry (TDR) to analyze the reflection of the signal from each of the devices, and using the time-domain reflectometry (TDR) to analyze the reflection of the signal from each of the devices. The relative positions of the devices are determined by analyzing reflections; and / or a procedure (C) comprising (i) using a virtual model of the facility, the virtual model including virtual devices located in virtual positions corresponding to the planned positions of the devices in the facility, wherein each virtual device corresponds to a separate installed device; (ii) identifying actual distances between one or more pairs of installed devices; (iii) comparing the identified actual distances with the virtual positions using a trial-and-error method; and (iv) at least in part by using the trial-and-error method to match the virtual positions with one of the actual positions of the devices.
[0021] In some instances, one or more of these devices may be a window controller for a colorable window.
[0022] In some instances, the at least one controller can be configured to determine the difference between at least one part of the network, such as a construction configuration, and the other part of the network, such as a design configuration.
[0023] In some instances, the at least one controller may be configured to control or guide one or both of control program (C) and program (A) and / or program (B). In some instances, the at least one controller may be further configured to use virtual device distance to identify a characteristic virtual distance and use the characteristic virtual distance to identify a match between: (i) two real devices located at a distance exactly or substantially equal to the characteristic virtual distance; and (ii) two virtual devices located at a distance of the characteristic virtual distance. In some instances, the at least one controller may be further configured to use the actual distances identified between the pairs of mounted devices to calculate the real positions of the pairs of mounted devices. In some instances, the at least one controller may be further configured to locate a specific feature corresponding to one of the virtual devices, and the specific feature includes locating the other virtual device, which forms a numerical series, by referring to the distances of one or more other virtual devices and / or one or more other real devices.
[0024] In some instances, the at least one controller may be further configured to control or guide one or both of control program (A) and / or program (B).
[0025] In some instances, the at least one controller may be further configured to control or guide the control program (A) and the program (B).
[0026] According to some embodiments, a computer-readable medium includes program instructions stored thereon for positioning devices in a facility, the instructions, when executed by one or more processors, causing the one or more processors to execute one or more programs, the one or more programs including: a program (A) including measuring the signal-to-interference-plus-noise ratio (SINR) of signals received from each device and using the measured SINR to determine a relative position of each of the devices; a program (B) including transmitting an incident signal to a network containing the devices and using a time-domain reflectometry (TDR) to analyze the signals received from each of the devices. The method involves: (i) using a virtual model of the facility, which includes virtual devices located in virtual locations corresponding to the planned locations of the devices in the facility, wherein each virtual device corresponds to a separate installed device; (ii) identifying actual distances between one or more pairs of installed devices; (iii) comparing the identified actual distances with the virtual locations using a trial-and-error method; and (iv) at least in part by using the trial-and-error method to match the virtual locations with one of the actual locations of the devices.
[0027] In some instances, one or more of these devices may be a window controller for a colorable window.
[0028] In some instances, such instructions can be configured to cause one or more processors to determine the difference between at least one part of the network, such as a construction configuration, and another part of the network, such as a design configuration.
[0029] In some instances, such instructions may be configured to cause one or more processors to execute one or both of program (C) and program (A) and / or program (B).
[0030] In some instances, such instructions may be configured to cause one or more processors to execute one or both of program (A) and / or program (B).
[0031] In some instances, these instructions can be configured to cause one or more processors to execute program (A) and program (B).
[0032] The contents of this Summary of the Invention section are provided as a simplified introduction to the present invention and are not intended to limit the scope of any invention disclosed herein or the scope of the appended claims.
[0033] Further features and advantages of the present invention will become apparent to those skilled in the art from the following embodiments, wherein only illustrative embodiments of the invention are shown and described. It should be recognized that the invention can have other and different embodiments, and certain details thereof can be modified in various obvious ways without departing from the invention. Therefore, the drawings and descriptions should be regarded as illustrative rather than restrictive in nature.
[0034] These and other features and embodiments will be described in more detail with reference to the accompanying drawings, which are incorporated herein by reference.
[0035] All disclosures, patents and patent applications mentioned in this specification are incorporated herein by reference as if each disclosure, patent or patent application were specifically and individually indicated to be incorporated by reference.
Implementation Method
[0039] This application relates to U.S. Patent Application No. 63 / 109,306, filed on November 9, 2020, entitled “ACCOUNTING FOR DEVICES IN A FACILITY”. This application also relates to U.S. Patent Application No. 16 / 946,947, filed July 13, 2020, entitled "AUTOMATED COMMISSIONING OF CONTROLLERS IN A WINDOW NETWORK," which is the national phase of International Patent Application No. PCT / US17 / 62634, filed November 20, 2017, entitled "AUTOMATED COMMISSIONING OF CONTROLLERS IN A WINDOW NETWORK," and is a successor to U.S. Patent Application No. 16 / 462,916, filed May 21, 2019, entitled "AUTOMATED COMMISSIONING OF CONTROLLERS IN A WINDOW NETWORK." This application also relates to U.S. Patent Application No. 15 / 727,258, filed October 6, 2017, entitled "COMMISSIONING WINDOW NETWORKS." This application also relates to U.S. Patent Application No. 16 / 696,887, filed November 26, 2019, entitled "SENSING SUN RADIATION," which is a successor to U.S. Patent No. 15 / 287,646, filed October 6, 2016, entitled "Multi-sensor device and system with a light diffusing element around Aperiphery of a ring of photosensors and an infrared sensor," now U.S. Patent No. 10,533,892, published January 14, 2020. This application also relates to U.S. Patent Application No. 16 / 099,424, filed November 6, 2018, which is a national phase registration for International Patent Application No. PCT / US17 / 31106, filed May 4, 2017, entitled "WINDOW ANTENNAS." This application also relates to U.S. Patent Application No. 16 / 980, filed September 11, 2020, entitled "WIRELESSLY POWERED AND POWERING ELECTROCHROMIC WINDOWS".Application No. 305 is a national registration of International Patent Application No. PCT / US19 / 22129, filed March 13, 2019, entitled "WIRELESSLY POWERED AND POWERING ELECTROCHROMIC WINDOWS". This application also relates to U.S. Patent Application No. 16 / 527,554, filed July 31, 2019, entitled "APPLICATIONS FOR CONTROLLING OPTICALLY SWITCHABLE DEVICES", which is a successor to U.S. Patent Application No. 16 / 438,177, filed June 11, 2019, entitled "APPLICATIONS FOR CONTROLLING OPTICALLY SWITCHABLE DEVICES". This application also relates to U.S. Patent Application No. 17 / 247,823, filed December 23, 2020, entitled "METHOD OF COMMISSIONING ELECTROCHROMIC WINDOWS," which is a successor to U.S. Patent Application No. 16 / 082,793, filed September 6, 2018, entitled "METHOD OF COMMISSIONING ELECTROCHROMIC WINDOWS," and now to U.S. Patent No. 10,935,864, published March 2, 2021, which is a national phase registration of U.S. Patent Application No. PCT / US2017 / 020805, filed March 3, 2017, entitled "METHOD OF COMMISSIONING ELECTROCHROMIC WINDOWS," claiming priority to: U.S. Patent Application No. 17 / 247,823, filed August 2, 2016, entitled "METHOD OF COMMISSIONING ELECTROCHROMIC WINDOWS." This application also relates to U.S. Provisional Patent Application No. 62 / 370,174 entitled "WINDOWS" and U.S. Provisional Patent Application No. 62 / 305,892 entitled "METHOD OF COMMISSIONING ELECTROCHROMIC WINDOWS", filed March 9, 2016. This application also claims priority to U.S. Provisional Patent Application No. PCT / US21 / 12313 entitled "LOCALIZATION OF COMPONENTS IN A COMPONENT COMMUNITY", filed January 6, 2021, which claims priority to U.S. Provisional Patent Application No. 63 / 133 entitled "LOCALIZATION OF COMPONENTS IN A COMPONENT COMMUNITY", filed January 4, 2021.U.S. Provisional Patent Application No. 725, filed January 8, 2020, entitled "Sensor Auto-location", and U.S. Patent Application No. 29, 652,869, filed December 22, 2020, entitled "TRANSCEIVER TAG". PCT / US21 / 12313 is part of the following consecutive cases: (I) U.S. Patent Application No. 16 / 696,887, filed November 26, 2019, entitled "MULTI-SENSOR DEVICE AND SYSTEM WITH A LIGHT DIFFUSING ELEMENT AROUND A PERIPHERY OF A RING OF PHOTOSENSORS AND AN INFRARED SENSOR", which claims U.S. Patent No. 10,533,892, filed October 6, 2016, and now published January 14, 2020, entitled "MULTI-SENSOR DEVICE AND SYSTEM WITH A LIGHT DIFFUSING ELEMENT AROUND A PERIPHERY OF A RING OF PHOTOSENSORS AND AN INFRARED SENSOR". Priority to U.S. Patent Application No. 15 / 287,646, entitled “MULTI-SENSOR HAVING A LIGHT DIFFUSING ELEMENT AROUND A PERIPHERY OF A RING OF PHOTOSENSORS”, filed October 6, 2015 and now published June 23, 2020, is a successor to U.S. Patent Application No. 14 / 998,019, entitled “MULTI-SENSOR HAVING A LIGHT DIFFUSING ELEMENT AROUND A PERIPHERY OF A RING OF PHOTOSENSORS”, filed December 10, 2020, entitled “OPTICALLY SWITCHABLE WINDOWS FOR SELECTIVELY IMPEDING PROPAGATION OF LIGHT FROM AN ARTIFICIAL SOURCE”, which claims priority to U.S. Patent Application No. 17 / 251,100, entitled “OPTICALLY SWITCHABLE WINDOWS FOR SELECTIVELY IMPEDING PROPAGATION OF LIGHT FROM AN ARTIFICIAL SOURCE”, filed November 6, 2018, entitled “WINDOW”. Priority to U.S. Patent Application No. 16 / 099,424 concerning "ANTENNAS" is the national phase of International Patent Application No. PCT / US17 / 31106, filed on May 4, 2017.424 claims priority to, for example, U.S. Provisional Patent Application No. 62 / 379,163, filed August 24, 2017, entitled "WINDOW ANTENNAS"; U.S. Provisional Patent Application No. 62 / 352,508, filed June 20, 2016, entitled "WINDOW ANTENNAS"; U.S. Provisional Patent Application No. 62 / 340,936, filed May 24, 2016, entitled "WINDOW ANTENNAS"; and U.S. Provisional Patent Application No. 62 / 333,103, filed May 6, 2016, entitled "WINDOW ANTENNAS"; (III) U.S. Provisional Patent Application No. AUTOMATED COMMISSIONING OF CONTROLLERS IN A WINDOW, filed July 13, 2020. U.S. Patent Application No. 16 / 946,947, entitled "AUTOMATED COMMISSIONING OF CONTROLLERS IN A WINDOW NETWORK," is a successor to U.S. Patent Application No. 16 / 462,916, filed May 21, 2019, entitled "AUTOMATED COMMISSIONING OF CONTROLLERS IN A WINDOW NETWORK." No. 16 / 462,916 is a successor to U.S. Patent Application No. 16 / 082,793, filed September 6, 2018, entitled "METHOD OF COMMISSIONING OF CONTROLLERS IN A WINDOW." No. 16 / 082,793 is a successor to U.S. Patent Application No. 16 / 082,793, filed November 20, 2017, entitled "AUTOMATED COMMISSIONING OF CONTROLLERS IN A WINDOW." The national phase of the international patent application PCT / US17 / 62634 entitled “NETWORK” claims priority to, for example, U.S. Provisional Patent Application No. 62 / 551,649 entitled “AUTOMATED COMMISSIONING OF CONTROLLERS IN A WINDOW NETWORK”, filed August 29, 2017, and U.S. Provisional Patent Application No. 62 / 426,126 entitled “AUTOMATED COMMISSIONING OF CONTROLLERS IN A WINDOW NETWORK”, filed November 23, 2016, and U.S. Provisional Patent Application No. 16 / 980 entitled “WIRELESSLY POWERED AND POWERING ELECTROCHROMIC WINDOWS”, filed September 11, 2020.305, which is the national phase of International Patent Application No. PCT / US19 / 22129, filed March 13, 2019, entitled "WIRELESSLY POWERED AND POWERING ELECTROCHROMIC WINDOWS," claims priority to U.S. Provisional Patent Application No. 62 / 642,478, filed March 13, 2018, entitled "WIRELESSLY POWERED AND POWERING ELECTROCHROMIC WINDOWS," and (V) U.S. Patent Application No. 15 / 727,258, filed October 6, 2017, entitled "COMMISSIONING WINDOW NETWORKS," which claims priority to, for example, U.S. Patent Application No. AUTOMATED COMMISSIONING OF CONTROLLERS IN A WINDOW, filed August 29, 2017. U.S. Provisional Patent Application No. 62 / 551,649 entitled "NETWORK", and U.S. Provisional Patent Application No. 62 / 426,126 entitled "AUTOMATED COMMISSIONING OF CONTROLLERS IN A WINDOW NETWORK", filed November 23, 2016; and (VI) U.S. Patent Application No. 17 / 083,128 entitled "BUILDING NETWORK", filed October 28, 2020, which is a successor to U.S. Patent Application No. 16 / 664,089 entitled "BUILDING NETWORK", filed October 25, 2019. No. 16 / 664,089 is a successor to U.S. Patent Application No. 16 / 664,089 entitled "TINTABLE WINDOW SYSTEM FOR BUILDING", filed April 25, 2018. The national phase of the international patent application for "SERVICES" No. PCT / US18 / 29460. All of the applications mentioned above are incorporated herein by reference in their entirety.
[0040] All disclosures, patents and patent applications mentioned in this specification are incorporated herein by reference as if they were specifically and individually indicated to be incorporated by reference.
[0041] Although various embodiments of the invention have been shown and described herein, it will be apparent to those skilled in the art that such embodiments are provided by way of example only. Numerous variations, modifications, and substitutions will arise in those skilled in the art without departing from the invention. It should be understood that various alternatives to the embodiments of the invention described herein may be employed.
[0042] Terms such as “a / an” and “the” are not intended to refer to a single entity, but rather to include general categories for which specific instances may be used to illustrate. The terms used herein are used to describe specific embodiments of the invention, but their use does not limit the invention.
[0043] Unless otherwise specified, when referring to a range, the range is intended to be inclusive. For example, a range between value 1 and value 2 is intended to be inclusive and includes both value 1 and value 2. An inclusive range will span any value from about value 1 to about value 2. As used herein, the terms "adjacent" or "adjacent to" include "next to," "adjoining," "in contact with," and "in proximity to."
[0044] As used herein, including in the scope of the claims, the conjunction "and / or" in phrases such as "comprising X, Y, and / or Z" means any combination or plural of X, Y, and Z. For example, this phrase means to include X. For example, this phrase means to include Y. For example, this phrase means to include Z. For example, this phrase means to include X and Y. For example, this phrase means to include X and Z. For example, this phrase means to include Y and Z. For example, this phrase means to include a plural X. For example, this phrase means to include a plural Y. For example, this phrase means to include a plural Z. For example, this phrase means to include a plural X and a plural Y. For example, this phrase means to include a plural X and a plural Z. For example, this phrase means to include a plural Y and a plural Z. For example, this phrase means including a plural of X and Y. For example, this phrase means including a plural of X and Z. For example, this phrase means including a plural of Y and Z. For example, this phrase means including X and a plural of Y. For example, this phrase means including X and a plural of Z. For example, this phrase means including Y and a plural of Z. The conjunction "and / or" has the same effect as the phrase "X, Y, Z, or any combination thereof or plural thereof". The conjunction "and / or" has the same effect as the phrase "one or more X, Y, Z, or any combination thereof".
[0045] The terms "operatively coupled" or "operatively connected" refer to a first element (e.g., a mechanism) coupled (e.g., connected) to a second element to allow the intended operation of the second element and / or the first element. Coupling may include physical or non-physical coupling (e.g., communication coupling). Non-physical coupling may include signal-induced coupling (e.g., wireless coupling). Coupling may include physical coupling (e.g., physical connection) or non-physical coupling (e.g., via wireless communication). Operationally coupled may include communication coupling.
[0046] A component (e.g., a mechanism) configured to perform a function includes structural features that enable the component to perform that function. Structural features may include electrical features, such as circuit systems or circuit elements. Structural features may include actuators. Structural features may include circuit systems (e.g., including electrical or optical circuit systems). Electrical circuit systems may include one or more wires. Electronic circuit systems may be configured to be coupled to a power source (e.g., to a power grid). For example, an electronic circuit system may include a slot. Optical circuit systems may include at least one optical element (e.g., a beam splitter, mirror, lens, and / or optical fiber). Structural features may include mechanical features. Mechanical features may include latches, springs, closures, hinges, chassis, supports, fixtures, or cantilever brackets, etc. Performing a function may include utilizing logic features. Logic features may include programmed instructions. Programmed instructions may be executed by at least one processor. Programmed instructions may be stored or encoded on a medium accessible by one or more processors. Additionally, in the following description, the phrases “operable to,” “adapted to,” “configured to,” “designed to,” “programmed to,” or “capable” may be used interchangeably where appropriate.
[0047] In some embodiments, the distributed network of the controller is used to control optically switchable (e.g., tinted) windows. For example, according to some embodiments, the network system is operable to control a plurality of integrated glass units (e.g., IGUs). One function of the network system may be to control the optical state of electrochromic devices (or other optically switchable devices) that are part of the tinted window (e.g., within the IGU).
[0048] Figure 1 illustrates an example of a system 100 for controlling and driving a plurality of tintable windows (such as 102). It can be used to control the operation of one or more devices associated with tintable windows, such as window antennas. System 100 can be adapted for use with facilities (e.g., building 104) that may be commercial office buildings or residential buildings. In some embodiments, system 100 is designed to integrate heating, ventilation, and air conditioning (HVAC) systems 106, interior lighting systems 107, security systems 108, and electrical systems 109, for example, to act as a single, integrated, and energy-efficient control system for the entire building 104 or facility (such as a building complex, e.g., 104). Some embodiments of system 100 are particularly suitable for integration with a building management system (BMS) 110. BMS 110 is a computer-based control system that can be installed in a building to monitor and control the building's mechanical and electrical equipment (such as HVAC systems, lighting systems, electrical systems, elevators, fire protection systems, and security systems). BMS 110 may include hardware and associated firmware and / or software for maintaining conditions within a building according to preferences set by the occupant or by the building manager or other administrator. The software may be at least partially based on, for example, Internet protocols or open standards.
[0049] A Building Management System (BMS) can be used in larger buildings to control the environment within the building. For example, the BMS can control lighting, temperature, carbon dioxide levels, and / or humidity within the building. Several (e.g., numerous) mechanical and / or electrical devices controlled by the BMS may be present, including, for example, furnaces or other heaters, air conditioners, blowers, and / or vents. To control the building environment, the BMS can, for example, turn these various devices on and off according to rules and / or in response to conditions. Such rules and / or conditions may be selected and / or specified by users (e.g., building managers and / or administrators). One function of the BMS may be, for example, to maintain a comfortable environment for the building's occupants while minimizing heating and cooling energy losses and costs. In some embodiments, the BMS is configured (e.g., not only) to monitor and control, but also to optimize the synergy between various systems, for example, to save energy and reduce building operating costs.
[0050] Some embodiments are designed to function responsively or reactively, at least in part, based on feedback. The feedback control scheme may include measurements sensed via, for example, thermal sensors, optical sensors, or other sensors. The feedback control scheme may include inputs from one or more sensors and / or mechanisms. For example, the feedback control scheme may include inputs from HVAC, interior lighting systems, and / or inputs from user control instances of the control system, the methods of use of which and related software can be found in U.S. Patent Application No. 13 / 449,235, filed April 17, 2012, and now published April 22, 2014, entitled "CONTROLLING TRANSITIONS IN OPTICALLY SWITCHABLE DEVICES," which is incorporated herein by reference in its entirety. Some embodiments are used in existing structures, including, for example, commercial and / or residential structures with conventional or known HVAC and / or interior lighting systems. Some embodiments have been modified for use in older facilities (e.g., residential homes).
[0051] In some embodiments, the control system (e.g., 100) includes a network controller (e.g., 112) configured to control a plurality of window controllers (e.g., 114). For example, a network controller may control at least several, dozens, hundreds, or thousands of window controllers. Each window controller may then control and drive one or more devices, such as electrochromic windows. In some embodiments, the network controller may issue higher-level instructions, such as the final hue state of a colorable window. Window controllers may receive such instructions and, for example, directly control their associated devices (e.g., windows) by applying electrical stimulation to appropriately drive hue state transitions and / or maintain hue states. The number and size of colorable (e.g., electrochromic) windows that each window controller 214 can drive are typically limited by the voltage and / or current characteristics of the load on the window controller controlling the individual electrochromic windows. In some embodiments, a window controller controls one or more colorable windows. In some embodiments, the maximum window size that the window controller can drive (e.g., change tinting) is limited by voltage, current, and / or power requirements to induce a requested optical transition (e.g., perform a tinting transition) in the electrochromic window within a requested time frame. Such requirements are, in turn, a function of the material properties of the tintable window. Material properties may include the surface area of the window, the thickness of one or more optically switchable structures, and the concentration of the tinted entity in (e.g., one layer) of the optically switchable structure (e.g., an electrochromic structure). In some embodiments, this relationship is non-linear. For example, the voltage, current, and / or power requirements may increase non-linearly with the surface area of the electrochromic window. In some cases, where it is not desirable to be bound by theory, the relationship is non-linear, at least in part due to the non-linear increase in the sheet resistance of the first and second conductive layers with distances in the length and width of the first and / or second conductive layers. In some embodiments, the relationship between the voltage, current, and / or power requirements required to drive a plurality of electrochromic windows of equal size and shape is proportional to the number of electrochromic windows driven for tinting transition.
[0052] Figure 1 illustrates an example of a main controller 111. The main controller 111 communicates and operates in conjunction with a plurality of network controllers 112, each of which can address a plurality of window controllers 114. In some embodiments, the main controller 111 issues higher-level instructions (such as the final tint state of a colorable window) to the network controllers 112, and the network controllers 112 then relay the instructions to the corresponding window controllers 114. Thus, Figure 1 illustrates an example of a hierarchical control system, wherein the three levels have lower-level controllers (e.g., window controllers) and higher-level controllers (e.g., the main controller). Figure 1 illustrates controllers and devices coupled to a network (e.g., a local area network including the facilities of building 104).
[0053] Figure 1 illustrates an example of a hierarchical control system including a main controller 111, a network controller 112, and a window controller 114. In some embodiments, various electrochromic windows 102, antennas, and / or other target devices (e.g., advantageously, comprising a building or other structure) of a facility are divided into zones or zones (e.g., each of these various electrochromic windows 102, antennas, and / or other target devices includes a subset of electrochromic windows 202). For example, each zone may correspond at least partially based on its location to a set of electrochromic windows in a specific location or area of the facility that should be tinted (or otherwise transformed) to the same or similar optical state. As another example, consider a building with four faces or sides: north, south, east, and west. Consider a building with ten floors. In this example, each zone may correspond to a set of electrochromic windows on a specific floor and on a specific one of the four faces. In some such embodiments, each network controller may address one or more zones or zones. For example, the main controller may issue a final hue status command for a specific area or group of areas to one or more other network controllers. For example, the final hue status command may include an abstract identification of each of the target areas. The designated network controller receiving the final hue status command may then map the abstract identification of the area(s) to specific network addresses of individual window controllers that control the voltage or current profiles of the electrochromic windows to be applied to the area(s).
[0054] In some embodiments, another function of the network system is to acquire status information (e.g., data) from windows. For example, status information for a given window may include identification of the current hue state of the shading device(s) within the window (e.g., IGU) or information about that current hue state. The network system is operable to acquire data from various sensors, such as temperature sensors, photosensors (referred to herein as light sensors), humidity sensors, airflow sensors and / or occupancy sensors, and antennas, whether integrated on or within the shading window or located in, above, or around a building. At least one sensor may be configured (e.g., designed) to measure one or more environmental characteristics, such as temperature, humidity, ambient noise, carbon dioxide, VOCs, particulate matter, oxygen, and / or any other state of the environment (e.g., its atmosphere). The sensor may include an electromagnetic sensor.
[0055] In some embodiments, the facility includes a sensor or transceiver operatively coupled to a control system. The sensor may include an electromagnetic sensor. The transceiver may be configured to sense and / or transmit electromagnetic waves. The transceiver may be radio. The electromagnetic sensor may be configured to sense ultraviolet light, visible light, infrared light, and / or radio wave energy. Infrared light energy may be passive infrared radiation (e.g., blackbody radiation). The electromagnetic sensor may sense radio waves. The radio waves may include broadband or ultra-wideband radio signals. The radio waves may include pulsed radio waves. The radio waves may include radio waves used for communication. The radio waves may be at an intermediate frequency of at least about 300 kHz, 500 kHz, 800 kHz, 1000 kHz, 1500 kHz, 2000 kHz, or 2500 kHz. Radio waves can be at intermediate frequencies of up to about 500 kHz, 800 kHz, 1000 kHz, 1500 kHz, 2000 kHz, 2500 kHz, or 3000 kHz. Radio waves can be at any frequency between the aforementioned ranges (e.g., about 300 kHz to about 3000 kHz). Radio waves can be at high frequencies of at least about 3 MHz, 5 MHz, 8 MHz, 10 MHz, 15 MHz, 20 MHz, or 25 MHz. Radio waves can be at high frequencies of up to about 5 MHz, 8 MHz, 10 MHz, 15 MHz, 20 MHz, 25 MHz, or 30 MHz. Radio waves can be at any frequency between the aforementioned ranges (e.g., about 3 MHz to about 30 MHz). Radio waves can be at extremely high frequencies, including at least approximately 30 MHz, 50 MHz, 80 MHz, 100 MHz, 150 MHz, 200 MHz, or 250 MHz. Radio waves can be at most approximately 50 MHz, 80 MHz, 100 MHz, 150 MHz, 200 MHz, 250 MHz, or 300 MHz. Radio waves can be at any frequency between the aforementioned ranges (e.g., approximately 30 MHz to approximately 300 MHz). Radio waves can be at extremely high frequencies, including at least approximately 300 kHz, 500 MHz, 800 MHz, 1000 MHz, 1500 MHz, 2000 MHz, or 2500 MHz. Radio waves can be at ultra-high frequencies of up to about 500 MHz, 800 MHz, 1000 MHz, 1500 MHz, 2000 MHz, 2500 MHz, or 3000 MHz. Radio waves can be at any frequency between the aforementioned ranges (e.g., about 300 MHz to about 3000 MHz). Radio waves can be at ultra-high frequencies of at least about 3 GHz, 5 GHz, 8 GHz, 10 GHz, 15 GHz, 20 GHz, or 25 GHz.Radio waves can be at ultra-high frequencies of up to about 5 GHz, 8 GHz, 10 GHz, 15 GHz, 20 GHz, 25 GHz, or 30 GHz. Radio waves can be at any frequency between the aforementioned frequency ranges (e.g., about 3 GHz to about 30 GHz).
[0056] In some embodiments, one or more devices of a network operatively coupled to a control system and / or facility may be fixed on or in a spatial enclosure. In some embodiments, one or more components may be movable. The enclosure may comprise a portion of a building (e.g., having a geographic location, such as a municipal address). The building may be a residential building and / or a commercial building. The enclosure may comprise and / or enclose one or more sub-enclosures. The enclosure may include: rooms, foyer, hall, pipes, entrance hall, attic, basement, balcony (e.g., interior or exterior balcony), stairwell, corridor, elevator shaft, mezzanine, penthouse, garage, porch (e.g., enclosed porch), terrace (e.g., enclosed terrace), and / or cafeteria. The enclosure may include a floor and / or horizontal surface. The enclosure may include one or more elements. Elements may include interior walls, exterior walls, ceilings, floors, windows, entrances, doors, openings, beams, stairs, facades, veneer, vertical or horizontal frames. The enclosure may be stationary or movable. In some embodiments, one or more components are disposed in or on a movable enclosure (e.g., a train, airplane, ship, vehicle, or rocket). Figure 2 schematically depicts a perspective view of a control system architecture 200 and a fixed enclosure 201 in the form of a building. The control system architecture depicts a hierarchical control system in which local controllers are connected to various devices including sensors, IGUs, antennas, and output devices (e.g., lighting, HVAC, speakers, etc.). Figure 2 shows an example of a control system architecture 200, which includes a main controller that controls floor controllers, which in turn control local controllers. In some embodiments, local controllers control one or more IGUs, one or more sensors, one or more output devices (e.g., one or more transmitters), or any combination thereof. Figure 2 shows an example of a configuration in which the main controller is operatively coupled (e.g., wirelessly and / or wired) to a building management system (BMS) and to a database. Arrows in Figure 2 indicate communication paths. The controller is operatively coupled (e.g., directly / indirectly and / or wired and / or wirelessly) to an external source. The external source may include a network. An external source may include one or more sensors or output devices. An external source may include cloud-based applications and / or databases. Communication may be wired and / or wireless. The external source may be located outside the facility. For example, an external source may include one or more sensors and / or antennas mounted, for example, on a wall or ceiling of the facility. Communication may be unidirectional or bidirectional. All communication arrows in 200 are intended to be bidirectional.
[0057] In some embodiments, the enclosure includes an area defined by at least one structure. The at least one structure may include at least one wall. The enclosure may include and / or enclose one or more sub-enclosures. In some embodiments, the enclosure includes one or more sensors. The enclosure may include at least one wall defining the enclosure. At least one wall may include metal (e.g., steel), clay, stone, plastic, glass, plaster (e.g., gypsum), polymer (e.g., polyurethane, styrene, or vinyl), asbestos, fiberglass, concrete (e.g., reinforced concrete), wood, paper, or ceramics. At least one wall may include electrical wires, bricks, blocks (e.g., cinder blocks), ceramic tiles, drywall, or frames (e.g., steel frames).
[0058] In some embodiments, the enclosure includes one or more openings. The one or more openings may be reversibly closed. The one or more openings may be permanently open. The basic length dimension of the one or more openings may be smaller than the basic length dimension of the walls(s) defining the enclosure. The basic length dimension may include the diameter, length, width, or height of the defining circle. The surface of the one or more openings may be smaller than the surface of the walls(s) defining the enclosure. The opening surface may be a percentage of the total surface area of the walls(s). For example, the opening surface may be measured as up to about 30%, 20%, 10%, 5%, or 1% of the walls(s). The walls(s) may include a floor, ceiling, or sidewall. The closable opening may be closed by at least one window or door. The enclosure may be at least part of a facility. The facility may include a building. The enclosure may include at least part of a building. The building may be a private building and / or a commercial building. The building may include one or more floors. A building (e.g., its floors) may include at least one of the following: rooms, halls, lofts, attics, basements, balconies (e.g., interior or exterior balconies), stairwells, corridors, elevator shafts, facades, mezzanines, penthouses, garages, porches (e.g., enclosed porches), terraces (e.g., enclosed terraces), cafeterias, and / or pipework. In some embodiments, the enclosure may be stationary and / or movable (e.g., a train, airplane, cruise ship, vehicle, or rocket).
[0059] In some embodiments, the enclosure encloses an atmosphere. The atmosphere may contain one or more gases. The gases may include inert gases (e.g., containing argon or nitrogen) and / or non-inert gases (e.g., containing oxygen or carbon dioxide). The enclosure atmosphere may be similar to the atmosphere outside the enclosure (e.g., ambient atmosphere) in at least one external atmospheric characteristic, including: temperature, relative gas content, gas type (e.g., humidity and / or oxygen content), debris (e.g., dust and / or pollen), and / or gas velocity. The enclosure atmosphere may differ from the atmosphere outside the enclosure in at least one external atmospheric characteristic, including: temperature, relative gas content, gas type (e.g., moisture and / or oxygen content), debris (e.g., dust and / or pollen), and / or gas velocity. For example, the enclosure atmosphere may be less humid (e.g., drier) than the external (e.g., ambient) atmosphere. For example, the enclosure atmosphere may contain the same (e.g., substantially similar) oxygen to nitrogen ratio as the atmosphere outside the enclosure. The velocity of gas within a closed system can be (e.g., substantially) similar throughout the closed system. The velocity of gas within a closed system can differ in different parts of the closed system (e.g., by allowing gas to flow through a vent coupled to the closed system).
[0060] Some of the disclosed embodiments provide network infrastructure within an enclosed space (e.g., a facility such as a building). The network infrastructure can be used for various purposes, such as providing communication and / or power services. Communication services may include high-frequency broadband (e.g., wireless and / or wired) communication services. Communication services may be directed to occupants of the facility and / or users outside the facility (e.g., a building). The network infrastructure may work in conjunction with or as a replacement for the infrastructure of one or more cellular operators. The network infrastructure may be located in a facility including electrically switchable windows. Examples of components of the network infrastructure include high-speed backhaul. The network infrastructure may include at least one cable, switch, physical antenna, transceiver, sensor, transmitter, receiver, radio, processor, and / or controller (which may include a processor). The network infrastructure is operatively coupled to and / or includes a wireless network. The network infrastructure may include cabling. One or more sensors may be deployed (e.g., installed) in the environment as part of and / or after the network is installed. The network may be a local area network. A network may include cables configured to transmit power and communications in a single cable. Communications may be one or more types of communications. Communications may include cellular communications that comply with at least second-generation (2G), third-generation (3G), fourth-generation (4G), or fifth-generation (5G) cellular communication protocols. Communications may include media communications that facilitate the streaming of still images, music, or animation (e.g., movies or videos). Communications may include data communications (e.g., sensor data). Communications may include control communications, such as those for controlling one or more nodes operatively coupled to the network. A network may include a first (e.g., cable-laying) network installed within a facility. A network may include a (e.g., cable-laying) network installed within the envelope of a facility (e.g., the envelope of an enclosure of the facility). For example, a (e.g., cable-laying) network included within the envelope of a building within the facility.
[0061] In various embodiments, the network infrastructure supports a control system for one or more windows, such as colorable (e.g., electrochromic) windows. The control system may include controllers operatively coupled (e.g., directly or indirectly) to one or more windows. While the disclosed embodiments describe colorable windows (also referred to herein as "optically switchable windows" or "smart windows"), such as electrochromic windows, the concepts disclosed herein can be applied to other types of switchable optical devices, including liquid crystal devices, electrochromic devices, suspended particle devices (SPDs), NanoChromics displays (NCDs), Organic electroluminescent displays (OELDs). The display element may be attached to a portion of a transparent body (such as a window). Tintable windows can be installed in (non-temporary) installations such as buildings, and / or in temporary installations (e.g., vehicles) such as automobiles, RVs, buses, trains, airplanes, helicopters, ships or boats.
[0062] In some embodiments, a tintable window presents a (e.g., controllable and / or reversible) change in at least one optical property of the window, such as when a stimulus is applied. The change may be continuous. The change may be directed at discrete hue levels (e.g., at at least about 2, 4, 8, 16, or 32 hue levels). The optical property may include hue or transmittance. Hue may include color. Transmittance may have one or more wavelengths. Wavelengths may include ultraviolet, visible, or infrared wavelengths. The stimulus may include optical, electrical, and / or magnetic stimuli. For example, the stimulus may include the application of voltage and / or current. One or more tintable windows may be used to control lighting and / or glare conditions, for example, by regulating the transmission of solar energy propagating through them. One or more tintable windows may be used to control the temperature inside a building, for example, by regulating the transmission of solar energy propagating through the window. Solar energy control can control the heat load imposed on the interior of an facility (e.g., a building). The control may be manual and / or automatic. Controls can be used to maintain one or more requested (e.g., environmental) conditions, such as occupant comfort. Controls may include reducing energy consumption of heating, ventilation, air conditioning, and / or lighting systems. At least two of the heating, ventilation, and air conditioning systems may be induced by a single system. At least two of the heating, ventilation, and air conditioning systems may be induced by a single system. Heating, ventilation, and air conditioning may be induced by a single system (hereinafter referred to as "HVAC"). In some cases, a color-sensitive window may respond to (e.g., and communicatively coupled to) one or more environmental sensors and / or user controls. A color-sensitive window may include (e.g., an electrochromic window). The window may be located from the interior to the exterior of a structure (e.g., facility, such as a building). However, this is not necessary. A color-sensitive window may be operated using liquid crystal devices, suspended particle devices, microelectromechanical systems (MEMS) devices (such as micro-shutters), or any technology known or developed later that is configured to control the transmission of light through the window. Windows (e.g., those having MEMS devices for tinting) are described in U.S. Patent No. 10,359,681, filed May 15, 2015 and published July 23, 2019, entitled "MULTI-PANE WINDOWS INCLUDING ELECTROCHROMIC DEVICES AND ELECTROMECHANICAL SYSTEMS DEVICES," which is incorporated herein by reference in its entirety. In some cases, one or more tinting windows may be located inside a building, such as between a conference room and a corridor. In some cases, one or more tinting windows may be used in automobiles, trains, airplanes, and other vehicles, for example, replacing passive and / or non-tinting windows.
[0063] In some embodiments, the tintable window includes an electrochromic device (referred herein to as an "EC device" (abbreviated as ECD) or "EC"). The EC device may include at least one coating comprising at least one layer. The at least one layer may comprise an electrochromic material. In some embodiments, the electrochromic material exhibits a change from one optical state to another, for example, when a potential is applied across the EC device. The transition of the electrochromic layer from one optical state to another may be caused, for example, by reversible, semi-reversible, or irreversible ion insertion (e.g., by means of embedding) and corresponding injection of charge-balanced electrons into the electrochromic material. For example, the transition of the electrochromic layer from one optical state to another may be caused, for example, by reversible ion insertion (e.g., by means of embedding) and corresponding injection of charge-balanced electrons into the electrochromic material. Reversibility may refer to the expected lifetime of the ECD. Semi-reversibility refers to a measurable (e.g., significant) degradation of the tint reversibility of the window within one or more tinting cycles. In some cases, a portion of the ions responsible for the optical transition are irreversibly bound to the electrochromic material (e.g., and therefore, the induced (changed) hue state of the window is irreversible to its original tinting state). In various EC devices, at least some (e.g., all) of the irreversibly bound ions can be used to compensate for the "blind charge" in the material (e.g., ECD).
[0064] In some embodiments, suitable ions include cations. Cations may include lithium ions (Li+) and / or hydrogen ions (H+) (i.e., protons). In some embodiments, other ions may be suitable. Cations may be intercalated into (e.g., metal) oxides. Changes in the intercalation state of ions (e.g., cations) into oxides can induce a visible change in the hue (e.g., color) of the oxide. For example, the oxide may change from a colorless state to a colored state. For example, the intercalation of lithium ions into tungsten oxide (WO3-y (0 < y ≤ about 0.3)) can cause tungsten oxide to change from a transparent state to a colored (e.g., blue) state. As described herein, the EC device coating is located within the viewable portion of the colorable window, such that the coloring of the EC device coating can be used to control the optical state of the colorable window.
[0065] In some embodiments, the group of components (such as devices) includes specific and / or non-specific components. Specific components may include anchoring components and / or coordinator components. Anchoring components and coordinators may be the same component or may be different components. Components may include one or more sensors, actuators, transmitters, receivers, transceivers, processors, memory, transmitters, and / or controllers. Non-specific components may be stationary or mobile. Coordinator components may be stationary or mobile. Coordinator components may be virtual components (e.g., residing in the cloud), for example, when a coordinator component is pre-assigned to a group of components (e.g., a network).
[0066] In some embodiments, the enclosure includes one or more sensors. The sensors facilitate control over the environment of the enclosure, enabling the inhabitants of the enclosure to have an environment that is more comfortable, desirable, aesthetically pleasing, healthy, productive (e.g., in terms of resident performance), easier to live in (e.g., work), or any combination thereof. The sensors (multiple) may be configured as low- or high-resolution sensors. The sensors may provide on / off indications of the occurrence and / or presence of specific environmental events (e.g., a pixel sensor). In some embodiments, the accuracy and / or resolution of the sensors may be improved through artificial intelligence analysis of the sensor measurements. Examples of artificial intelligence techniques that may be used include: reactive, limited memory, theory of mind, and / or self-sensing techniques known to those skilled in the art. The sensor can be configured to process, measure, analyze, detect one or more of the following and / or respond to one or more of the following: data, temperature, humidity, sound, force, pressure, electromagnetic waves, position, distance, movement, flow, acceleration, velocity, vibration, dust, light, glare, color, gas, and / or other states (e.g., characteristics) of the environment (e.g., enclosed space). Gases may include volatile organic compounds (VOCs). Gases may include carbon monoxide, carbon dioxide, water vapor (e.g., moisture), oxygen, radon, and / or hydrogen sulfide. Gases may be present in the surrounding environment. Gases may include inert gases.
[0067] Figure 3 depicts various types of devices (e.g., components) in the facility and examples of some possible uses in Table 300. Figure 4 depicts various types of devices (e.g., components) in the facility and examples of some possible uses in Table 400.
[0068] In some embodiments, one or more components are coupled to an enclosure of the facility (e.g., mounted thereon or in it). For example, one or more components may be coupled to elements of the enclosure. Elements of the enclosure may include walls, doors, windows, door frames, window frames, and / or conduits (e.g., air ducts and / or electrical conduits). Components may be included within elements of the enclosure. Components may be directly or indirectly coupled to elements. Components may be devices such as those disclosed herein. Coupling may include fastening to, adhesive to, contacting with, electrically connecting to, wired connecting to, and / or binding to. A component may be easily removed from an element such as a fixture (e.g., the component may be removable), or it may be permanently coupled to an element (e.g., difficult to remove from the element without damaging it). Easy removal may include reversible removal. For example, a component may be reversibly attached to and detached from an element, for example, without causing aesthetic and / or detectable damage to the element and / or the component. Components can be configured to attach (e.g., reversibly) to one or more elements of an enclosure. Components can be reversibly or irreversibly attached to elements of an enclosure. Components can be configured to mate into and / or snap onto elements (e.g., mate into or attach to a frame). At least two components can be coupled to the same circuit board. At least two components can be coupled to different circuit boards. A component as a whole may comprise two or more components (e.g., one or more sensors and one or more processors). In some embodiments, a component as a whole is coupled (e.g., disposed therein) to a single circuit board. Two or more components may be part of a larger system (e.g., a module). Examples of components and modules are provided in U.S. Patent Application No. 16 / 447169, filed June 20, 2019, entitled “SENSING AND COMMUNICATIONS UNIT FOR OPTICALLY SWITCHABLE WINDOW SYSTEMS,” which is incorporated herein by reference in its entirety. Components may communicate or be operatively (e.g., functionally) coupled to other components wirelessly or via one or more wires (e.g., one or more wireless cameras may communicate with one or more processors via radio waves).
[0069] In some embodiments, tintable windows may be configured in a hierarchical structure. A hierarchical structure can help facilitate control of tintable windows at a specific location by allowing rules or user controls to be applied to various groups of tintable windows or IGUs. Furthermore, for aesthetic purposes, multiple connected windows in a room and / or other location (e.g., within an enclosure) may sometimes need their optical states to correspond and / or tint at the same rate. Treating a group of connected windows as a zone can facilitate these objectives.
[0070] In some embodiments, windows (e.g., IGUs) are grouped into areas of colorizable windows, each of which includes at least one window controller and its respective window. Each area of a window may be controlled by one or more individual NCs and one or more individual WCs controlled by such NCs. For example, each area may be controlled by a single NC and two or more WCs controlled by the single NC.
[0071] In some embodiments, at least one device (e.g., a component) operates in coordination with at least one other device, which is coupled to a network. Control of at least one device may be via a network (e.g., including an Ethernet network). For example, the hue level of a colorable window may be adjusted simultaneously. When the device is in use, areas of the device may have at least one identical characteristic. For example, when a colorable window is in an area, the area of the colorable window may (automatically) change its hue level (e.g., darken or brighten) to the same level. For example, when a sound sensor is in an area, it may sample sound at the same frequency and / or within the same time window. An area of the device may contain (e.g., multiple devices of the same type). A zone may include (i) devices (e.g., tintable windows) facing a specific direction toward an enclosure (e.g., a facility), (ii) multiple devices mounted on a specific face (e.g., a facade) of the enclosure, (iii) devices on a specific floor of the facility, (iv) devices in a specific type of room and / or activity (e.g., open space, office, meeting room, lecture hall, corridor, reception hall, or cafeteria), (v) devices mounted on the same fixed object (e.g., an interior or exterior wall), and / or (vi) user-defined devices (e.g., a group of tintable windows in a room or on a facade that is a subset of a larger group of tintable windows). Adjustment of the devices may be automatic and / or performed by the user. Automatic changes in the nature and / or state of the devices in the zone may be controlled by the user (e.g., by manually adjusting the tint level). Users can use applications installed on mobile circuitry systems (e.g., remote controllers, virtual reality controllers, cellular phones, electronic notebooks, laptops, and / or similar mobile devices) to automatically adjust the devices in the control area.
[0072] In some embodiments, when a command related to the control of a device (e.g., a command for a window controller and / or IGU) traverses the network system, it is accompanied by a unique network ID of the device to which it is sent. The network ID helps ensure that the command arrives and is executed on the intended device. For example, a window controller controlling the hue state of more than one IGU can determine which IGU to control based on a network ID such as a Controller Area Network (CAN) ID (in the form of a network ID) transmitted along with the hue command. In a window network (such as the window network described herein), the term network ID includes (but is not limited to) a CAN ID and a BACnet ID. Such network IDs can be applied to window network nodes, such as window controllers, network controllers, and master controllers. The network ID for a device can include the network ID of each device that controls it in a hierarchical structure. For example, in addition to its own CAN ID, the network ID of an IGU can also include a window controller ID, a network controller ID, and a master controller ID.
[0073] Figure 5 illustrates various IGUs 522 grouped into zones 503 of colorable windows, each of which includes at least one window controller 524 and its respective IGU 522. In some embodiments, each zone of the IGU 522 is controlled by one or more individual NCs and one or more individual WCs 524 controlled by such NCs. Each zone 503 may be controlled by a single NC and two or more WCs 524s controlled by the single NC. Thus, a zone 503 may represent a logical grouping of IGUs 522. For example, each zone 503 may correspond to a set of IGUs 522 that are driven together based on their location in a particular location or area of a building. As a more specific example, consider location 501 as a building with four faces or sides: north, south, east, and west. Consider that the building has ten floors. In this example, each zone 503 may correspond to a set of colorable windows 522 on a particular floor and on a particular one of the four faces. Each zone 503 may correspond to a set of IGUs 522 that share one or more physical characteristics (e.g., device parameters such as size or service life). In some embodiments, zones 503 of IGUs 522 are grouped at least in part based on one or more non-physical characteristics that include security designation or business hierarchy (e.g., IGUs 522 demarcated to managerial offices may be grouped into one or more zones, while IGUs 522 demarcated to non-manager offices may be grouped into one or more different zones).
[0074] In some such embodiments, each NC may address all IGUs 522 in one or more individual regions 503. For example, an MC may issue a primary coloring command to the NC controlling the target region 503. The primary coloring command may include an abstract identification of the target region (hereinafter referred to as "region ID"). In some such embodiments, the region ID may be a first protocol ID such as the one just described in the example above. The NC may receive a primary coloring command including a coloring value and a region ID, and may map the region ID to a second protocol ID associated with a WC 524 within the region. In some embodiments, the region ID may be a higher-level abstraction than the first protocol ID. In such cases, the NC may first map the region ID to one or more first protocol IDs, and then map the first protocol ID to the second protocol ID.
[0075] In some embodiments, the control system is configured to control one or more devices of a facility. To facilitate control of the facility using the devices (e.g., components) disclosed herein, the control system may utilize the network address of a device connected to that particular local controller. The functionality being debugged can be used to provide correct assignment of local controller addresses and / or other identification information to a particular device, as well as the physical location of the device and / or its local controller. For example, to enable hue control to function (e.g., to allow a window control system to change the hue state of a particular window or IGU or a set of particular windows or IGUs), the master controller, network controller, and / or other controllers responsible for hue decisions may utilize the network address of the window controller(s) connected to that particular window or set of windows. For example, the functionality being debugged can be used to provide correct assignment of window controller addresses and / or other identification information to a particular window, as well as the physical location of windows and / or window controllers in the facility. In some embodiments, the goal of the debugging is to correct errors and / or other problems made when a device such as a window is installed in the wrong location and / or a cable is connected to the wrong controller (e.g., a local controller, such as a window controller). In some embodiments, the purpose of commissioning is to provide semi-automatic or fully automated installation, for example, to allow installers to install with little or no location guidance.
[0076] In some embodiments, the commissioning procedure for a particular device (e.g., a window or IGU) may involve associating the ID of the device (e.g., a window and / or other window-related components) with its corresponding local (e.g., window) controller. The procedure may assign a location in the facility, such as a relative location and / or an absolute location (e.g., latitude, longitude, and altitude), to the device (e.g., a window or another component). Examples related to debugging and / or configuring colorizable windows in networks can be found in U.S. Patent Application Serial No. 14 / 391,122, filed October 7, 2014, entitled "APPLICATIONS FOR CONTROLLING OPTICALLY SWITCHABLE DEVICES"; U.S. Patent Application Serial No. 14 / 951,410, filed November 24, 2015, entitled "SELF-CONTAINED EC IGU"; U.S. Provisional Patent Application Serial No. 62 / 305,892, filed March 9, 2016, entitled "METHOD OF COMMISSIONING ELECTROCHROMIC WINDOWS"; and U.S. Provisional Patent Application Serial No. 62 / 305,892, filed August 2, 2016, entitled "METHOD OF COMMISSIONING ELECTROCHROMIC". The contents of U.S. Provisional Patent Application Serial No. 62 / 370,174 concerning “WINDOWS” are incorporated herein by reference in their entirety.
[0077] After physically traversing a network of installed devices (e.g., including optically switchable windows), the network can be tuned to correct any incorrect assignments by the local controller to incorrect devices (e.g., windows (typically IGUs)) and / or facility locations. In some embodiments, the tuning mapping pairs (e.g., links) individual devices (e.g., windows) and their locations to associated local (e.g., window) controllers. In some embodiments, the local controller is a controller directly connected to the device, without any intermediary controller between the local controller and the device. The local controller may be directly or indirectly connected to higher-level controllers (such as a master controller) and / or the local controller.
[0078] In some embodiments, commissioning is intended to resolve mispairing of local (e.g., window) controllers and associated devices (e.g., windows), for example, during installation (e.g., during commissioning). For instance, prior to installation, a local (e.g., window) controller may be assigned to a specific device (e.g., a window), which may be assigned to a specific location within the facility. However, during installation, the local (e.g., window) controller and / or device (e.g., window) may be installed in the wrong location. For example, the local (e.g., window) controller may be paired with the wrong device (e.g., window), and / or the device (e.g., window) may be installed in the wrong location. Such mispairing can be difficult to resolve and / or require significant (e.g., manual) labor, time, and / or cost to resolve and / or correct. Additionally, during the construction process, the installation and wiring of physical devices (e.g., windows) within the facility can be performed at different times by different teams. Recognizing this challenge, in some implementations, devices (e.g., windows) and / or local controllers are not pre-assigned to each other, but are paired during the commissioning process. Even if mispairing is due to, for example, the local (e.g., window) controller being physically attached to its corresponding device (e.g., window) rather than a problem, the installer may not know or care which device (e.g., window) (and therefore its local controller) is installed in which location. For example, devices may be identical in size, shape, and / or optical properties, and are therefore visibly interchangeable. Installers can install such devices in any convenient location without considering the unique local controller associated with each such device. The various commissioning embodiments described herein allow for flexible installation.
[0079] Some examples of problems that may occur during installation are as follows: (I) Errors in placing devices (e.g., windows) in the correct location: for example, electrically controllable windows may be easily misinstalled, for example, by technicians who are not adapted to working with electrically controllable windows. These technicians may include commercial personnel, such as glass installers and / or low-voltage electricians (LVEs); (II) Incorrect cable connections to the local controller: for example, this may occur when multiple seemingly identical devices are installed adjacent to each other; (III) Faulty (e.g., broken) devices (e.g., tinted windows) and / or controllers: for example, the installer may install a usable device and / or controller to replace the faulty (e.g., broken) one. The new device and / or controller may not be in the installation and / or facility (e.g., BIM) plan and therefore may not have been considered and / or identified during commissioning; and (IV) The procedure for installing many devices (e.g., windows) in the correct location can be intellectually and / or physically complex. Advantageously, the paradigm of replacing multiple identical but unique devices in their designated locations, which is prone to human error, requires the installer to be responsible for this process. Therefore, it may be useful to eliminate (e.g., some, many, or all) device and / or controller locations and to accurately identify considerations that complicate the installation process. Devices can be any of the devices (e.g., components) disclosed herein, including windows. Controllers can be lower- or higher-level controllers.
[0080] In one instance, the installation and associated problems of the commissioning method requiring improvement may arise from any of the following operations:
[0081] (a) When manufacturing local controllers, a unique network address (e.g., CANID or Internet Protocol (IP)) is assigned to each local controller. A local controller may be a device controller. For example, when the device is a window, the local controller is a window controller. For example, when the device is a sensor, the local controller is a sensor controller. For example, when the device is a transmitter, the local controller is a transmitter controller.
[0082] (b) The device manufacturer (which is not necessarily the local device controller manufacturer), facility designer, or other entity specifies information about the device controller (with a specified network address) and the device. For example, the window manufacturer (which is not necessarily the window controller manufacturer), building designer, or other entity specifies information about the window controller (with a specified network address) and the window (IGU). The device manufacturer does this by assigning a device controller ID (DCID), which is not (e.g., different from) the network address of the device controller. The device manufacturer and / or other entity specifies which device is associated with the local controller (DCID). For this purpose, the entity specifies a device ID (DID) for the device. In some cases, the manufacturer and / or other entity does not specify the association between the device and the controller, such as which specific device(s) the controller needs to be connected to. For example, the device manufacturer does not need to specify that the local controller (with a CANID (e.g., 19196997)) needs to be connected to any specific device ID (e.g., 04349`0524`0071`0017`00). In reality, the manufacturer or other entity designates a local controller (with a CANID (e.g., 19196997)) to have a local controller ID, such as LC10. The device controller ID can be displayed (e.g., shown) as a location label (e.g., assigned to any number of devices in the installation, such as any serial number) in the facility's interconnection diagram, architectural diagram, or other representation, which can specify that the device controller is connected to a specific device identified by the device ID (e.g., D31 and D32 (location labels for IGs)). For example, a window device manufacturer accomplishes this by assigning a window controller ID (WCID), which is not (e.g., different from) the network address of the window controller. The window manufacturer and / or other entity specifies which IGU(s) are associated with the window controller(WCID). For this purpose, the entity specifies a window ID (WID) for the window. In some cases, the manufacturer and / or other entity does not specify the association between the IGU and the controller, e.g., which specific IGU(s) the controller needs to connect to. For example, window manufacturers do not need to specify that the WC (with a CANID (e.g., 19196997)) needs to be connected to any particular WID (e.g., 04349`0524`0071`0017`00). In reality, the manufacturer or other entity specifies that the WC (with a CANID (e.g., 19196997)) has a window controller ID, such as WC10. The window controller ID can be displayed (e.g., shown) as a location label on an interconnection diagram, architectural diagram, or other representation of a building (e.g., any number assigned to the window being installed), which can specify that the window controller is connected to a specific IGU identified by the window ID (e.g., W31 and W32 (location labels for IGs)).
[0083] (c) As instructed, the manufacturer or other entity applies the device controller ID (WCxx tag) on each local device controller. The entity accesses the DCxx / CAN ID pair information in the configuration file used by the main controller / network controller or other devices containing logic responsible for issuing individual coloring decisions.
[0084] (d) This procedure requires a technician (e.g., a low voltage electrician (LVE)) to install and / or connect the electrically controllable window to select a specific local controller from the local controller box and install it in a specific location within the facility.
[0085] (e) Any error made in operation (c) or (d) results in difficult troubleshooting in the field to find and correct the error mapping.
[0086] (f) Even if operations (c) and (d) are performed correctly, the local controller and / or device may still be damaged and / or otherwise malfunction, in which case the local controller and / or device should be replaced during installation. This can cause problems again unless the changes are manually tracked and reflected in the configuration file. This statement applies to windows or any other device (replacing the window), and any local controller of the control device (replacing the window controller). The device can be, for example, any device (e.g., component) disclosed herein.
[0087] As indicated, in various embodiments, the debugging process pairs individual devices (e.g., tintable windows, device collectives, or any other individual devices) with individual local (e.g., window) controllers responsible for controlling various attributes of the devices (e.g., for controlling the optical state of tintable windows). In some embodiments, the debugging process pairs device and / or local controller locations with local controller IDs and / or controller network identifiers (e.g., CANIDs) for controllers that directly control the devices (e.g., non-intervention controllers) and / or for controllers located on or near device locations. For example, the debugging process pairs window and / or window controller locations with window controller IDs and / or window controller network identifiers (e.g., CANIDs) for controllers located on or near window locations. Such controllers can be configured to control one or more properties of the devices (e.g., the optical state of windows). Local controllers can directly control the devices and can be located on or near device locations (e.g., located on or near window or device collective housings). In some embodiments, the debugging procedure specifies the type of controller in a hierarchical network and / or the logical location of the controller in the topology of another network. Individual devices (e.g., sensors, device groups, and / or optically switchable windows) may have an entity ID (e.g., window or pane ID (WID) as referred to herein) and an associated controller with a unique network ID (e.g., CANID). In some embodiments, the local controller includes an entity ID (e.g., WCID). Generally, the debugging procedure can be used to link (e.g., pair) any two associated network components, including (but not limited to) IGUs (or panes within IGUs), window controllers, network controllers, master controllers, sensors, transmitters, antennas, receivers, transceivers, processors, memory (e.g., servers), and / or device groups. In some embodiments, the debugging procedure involves pairing network identifiers associated with devices (e.g., IGUs) and / or controllers to any other features on a fixture, surface, and / or 3D building model (e.g., BIM file). Device groups may be referred to herein as "digital architecture elements". The device collective may include (i) a sensor, (ii) a sensor and transmitter, (iii) a transceiver, (iv) a processor, (v) a network connection, or (vi) memory.
[0088] In some embodiments, the commissioning connection is performed by comparing the architecturally determined location of a first component (e.g., a device) with the wirelessly measured location of a second component associated with the first component. For example, the first component may be an optically switchable window and the second component may be a window controller configured to control the optical state of the optically switchable component. In another instance, the first component may be a sensor that provides measured radiation data to a local controller (e.g., a window or sensor), which is the second component. Sometimes, the location of the first component may be known with greater accuracy than the location of the second component. The location may be determined by wireless measurement. The location may be determined by a traveler such as a field service engineer or a robot such as a drone. Although the exact location of the first component may be determined from architectural drawings or similar sources (e.g., BIM files), the commissioning procedure may employ alternative sources, such as manually measured post-installation locations of devices (e.g., windows or other components). Geographic automatic location technologies (also known as geolocation technologies, such as Global Positioning System (GPS), Ultra-Wideband Radio Waves (UWB), infrared radiation, Bluetooth, and the like) can be used. Location can be determined using dead reckoning. In various embodiments, the component whose location is determined by wireless measurement (e.g., a local controller) has a network ID. The network ID can be made available during commissioning, for example, via a configuration (e.g., BIM) file. In such cases, the commissioning process can pair the accurate physical location of the first component with the network ID of the second component. In some embodiments, the first and second components are a single component. For example, a window controller can be such a component; its location can be determined, for example, by architectural drawings and wireless measurements. The commissioning process can combine the physical location from architectural drawings (e.g., BIM files) with the network ID from configuration files. BIM files can constitute a digital twin of a facility (e.g., a building).
[0089] In some embodiments, links determined during commissioning are stored in files, data structures, databases, or similar entities (e.g., BIM files), which can be accessed by various window network components and / or associated systems such as mobile applications, window control smart algorithms, building management systems (BMS), security systems, lighting systems, and the like. In some embodiments, commissioning links are stored in network configuration files that may be included in a digital twin of the facility. In some embodiments, the network configuration files are used by the network to send appropriate commands between components on the network; for example, the main controller sends a coloring command for a specified device (e.g., a colorable window) to a local (e.g., window) controller based on the location of that specified device in the structure for (e.g., configuration and / or coloring) changes.
[0090] Figure 6 illustrates a schematic example of a network within an enclosure. In the example of Figure 6, enclosure 600 is a building having floors 1, 2, and 3. Enclosure 600 includes a network 620 (e.g., a wired network) which is provided for communication coupling with a group of components 610. In the example shown in Figure 6, the three floors are sub-enclosures within enclosure 600.
[0091] In some embodiments, the facility has a group of components (e.g., devices) operatively coupled to each other, operatively coupled to (e.g., a local) network, and / or operatively coupled to a control system. Communication within this group of network-coupled components can be coordinated by at least one component. A component may be part of the group. A component may include a controller. The controller may be located within an enclosure housing the components controlled by the controller, or the controller may be located outside the enclosure housing the components (e.g., outside the device group). For example, the controller may be located remotely relative to the enclosure housing the controller. The remote location may be physical or virtual (e.g., in the cloud). The controller may communicate wirelessly and / or via one or more wires with the group of components. The controller may include, but is not limited to, a processor, a local or distributed server, a building management system, a sensor management system, an environmental management system, a component controller, and a window controller. Examples and methods of using window controllers are provided in U.S. Patent Application No. 16 / 096,557, filed October 25, 2018, entitled "CONTROLLING OPTICALLY-SWITCHABLE DEVICES," which is incorporated herein by reference in its entirety. In some embodiments, the component includes a controller. In some embodiments, the component may act as a controller. The controller may be temporarily assigned to a group of components. The controller may be permanently assigned to a group of components (e.g., for the duration of the operational life of the group and the controller).
[0092] Figure 7 illustrates an example of a group of components coupled to an enclosure. In the example shown in Figure 7, a group of components 702a to 702e are coupled to elements of an enclosure 700, including an inner wall, a ceiling, and a window. Component 702a may represent one or more gas sensors configured to measure, analyze, and / or provide an indication of the ambient CO2 content within the enclosure. Component 702b may represent one or more controllers configured to control the function of one or more windows. Windows may include optically switchable windows, such as electrochromic windows. Examples of optically switchable windows, controllers, and methods of use are provided in U.S. Patent Application No. 16 / 462,916, filed May 21, 2019, entitled “AUTOMATED COMMISSIONING OF CONTROLLERS IN A WINDOW NETWORK,” which is incorporated herein by reference in its entirety. Component 702c may represent one or more sound sensors configured to measure, analyze, and / or provide an indication of the sound level present within the enclosure. Component 702d may represent one or more light sensors configured to measure, analyze, and / or provide an indication of light and / or glare present within the enclosure. Component 702e may represent one or more transceivers configured to receive and transmit radio waves within the enclosure. Component 702f may represent one or more processors configured to process signals transmitted by one or more of components 702a to 702e. Some component groups may have at least two components of the same type (e.g., two temperature sensors). For example, all members of a component group may be of the same type. Some component groups may have at least two components of different types (e.g., a temperature sensor and a pressure sensor). For example, all members of a component group may be of different types. In some embodiments, a single component may provide the functionality of two or more components (e.g., a force sensor for detecting vibration and movement). In some embodiments, components having functionality other than that disclosed herein may be used. In some embodiments, components may be provided on or in elements other than those disclosed herein.
[0093] Figure 8 provides an example of an interconnection diagram established from architectural drawings (e.g., floor plans) of a building. The interconnection diagram includes the placement of IGUs and window controllers 801, control panels 802, trunk lines 803, wall interfaces 805, and various other network components such as master controllers, network controllers, and sensors. Although not shown, interconnection diagrams (e.g., BIM, such as Revit files) may include additional information such as structural information, structural dimensions, and information such as the network IDs of the various network components depicted.
[0094] Figure 9 illustrates an example of a group of components 901 to 907, which are communicatively coupled to form a communication network for component 920. The group of components 901 to 907 can be configured to communicate via a network and / or form a communication network. The arrows in the network shown in the example of Figure 9 depict possible (e.g., permitted) communication directions (e.g., direction of signal propagation). The network can be a wired and / or wireless network. One or more components of the component group can be powered by a built-in power supply and / or a remote power supply. Power to one or more components of the component group can be provided wirelessly (e.g., through energy harvesting) and / or wiredly. Power can come from renewable energy sources (e.g., from solar panels). Power can come from non-renewable energy sources (e.g., from power plants using non-renewable energy).
[0095] Figure 9 illustrates an example of a network of components disposed in an enclosure 950, which includes two sub-enclosures 954 and 955 (e.g., two rooms). Component 951 is part of a group of components disposed in the first sub-enclosure 954 (e.g., a room where a person 956 is currently located), and component 957 is part of a group of components disposed in the second sub-enclosure 955 (e.g., a room not occupied by anyone). Wall 953 separates the two sub-enclosures in the example shown in Figure 9 and also shows possible (e.g., permitted) communication paths between components, which are schematically depicted as lines (e.g., 952). Sometimes, a group of components may span more than one enclosure or multiple sub-enclosures. For example, at least a portion of (e.g., all) components from the two sub-enclosures 954 and 955 constitutes a group of components. Sometimes, a group of components may span one enclosure or multiple sub-enclosures. For example, at least a portion of the components from sub-enclosure 954 (e.g., all) constitute a group of components that excludes the components in enclosure 955. The physical basic length scale of the group of components may depend on the range of signal transmission and / or reception of the coordinator of the group of components.
[0096] In some embodiments, the topology of a group of components is determined. The topology may be determined at least in part by a moving or stationary person and / or machine. The traveler may be a moving person or machine. The topology may be determined absolutely or relatively. Absolute determination of the topology may require the traveler or a third party (e.g., a third-party accessory) to verify the absolute coordinates of at least one of the group members. Absolute coordinates may be determined at least in part based on geolocation techniques configured to determine absolute coordinates (e.g., based on Global Positioning System (GPS) coordinates) and / or using the traveler's location determination. Relative determination of coordinates may include the relative positions of the components to each other (e.g., at least in part based on geolocation techniques). The topology of a group of components may be determined by distances and / or angles measured between the group of components. The topology of a group of components can be determined by one or more processors, which are configured to perform (or guide) the following measurements and / or analyses: (I) the time of flight of one or more signals propagating between components (e.g., the signal between components 902 and 907 in Figure 9), (II) the response time of the components, and (III) the distance and / or angle between the components. The one or more processors can be one component or two or more components. The measurements and / or analyses can be stored as data in one or more memories associated with or operatively coupled to the one or more processors. The memories can be located within or outside an enclosure. The memories can be located in the cloud or in another facility (e.g., in another building). Measurements between groups of components can define constraints. These constraints can be used by at least one processor to determine the relative distances between group members. The processor can utilize data stored in at least one memory. The processor can utilize one or more calculations (e.g., triangulation) to determine the relative positions of the components. In one embodiment, once the distance between at least three (3) components (e.g., anchoring components) positioned in a common plane is determined, the positions of other components in the group can be determined relative to the three components. Each of the three components may have associated Cartesian coordinates (e.g., X, Y, and Z). The three components may have at least two of their Cartesian coordinates that are different from each other (e.g., the three components are different in at least two dimensions). For example, the three components may have all three of their Cartesian coordinates that are different (e.g., the three components are different in three dimensions). As the number of components increases, the accuracy of the (e.g., relative) position of the topology can be improved. The topology can be displayed (e.g., on a user interface communicatively coupled to the group of components).
[0097] In some embodiments, one or more components of the component group include a transceiver. In some embodiments, the transceiver may be configured to transmit and receive one or more signals using a Personal Area Network (PAN) standard (e.g., and protocol) such as IEEE 802.15.4. In some embodiments, the signals may include Bluetooth, Wi-Fi, or EnOcean signals (e.g., wideband). One or more signals may include ultra-wideband (UWB) signals (e.g., having frequencies in the range of about 2.4 to about 10.6 GHz or about 7.5 GHz to about 10.6 GHz). The ultra-wideband signal may be a signal having a portion of bandwidth greater than about 20%. The ultra-wideband signal may have a bandwidth greater than about 500 MHz. One or more signals may use extremely low energy levels for short ranges. The signals (e.g., having radio frequency) may use a spectrum capable of penetrating solid structures (e.g., walls, doors, and / or windows). The low power can be up to 25 milliwatts (mW), 50 mW, 75 mW, or 100 mW. The low power can be any value between the aforementioned values (e.g., from 25 mW to 100 mW, from 25 mW to 50 mW, or from 75 mW to 100 mW).
[0098] Signals can be transmitted at predetermined times and / or intervals. The predetermined time can be fixed or variable. The time can be predetermined, for example, by a controller. Figure 9 illustrates an example of signal transmission between components. In the example of Figure 9, the signal is transmitted by the transmitter of component 901 on the network of component 920 and received by the receivers of components 902 to 907. In the example of Figure 9, the signal is transmitted by the transmitters of components 902 to 907 and received by the receiver of component 901. In the example of Figure 9, the signal is transmitted on the network of component 920 by the transmitters and receivers of other components 902 to 907. The travel time of the signal between the transmitters of the components and the receivers of the components can be (i) stored as distance data in at least one memory, and / or (ii) retrieved to determine the relative distance between the components. The relative distance can be used to generate a map or topology of the group of components. Retrieval from memory can be performed using data processing, for example, by at least one processor. Other data types may include, but are not limited to: angle data, position data, location data, control data, sensor data, and / or component identification information. Data may be stored in at least one memory. Data may be transmitted via a network.
[0099] In some embodiments, interconnection diagrams are a set of diagrams depicting a plurality of views of a structure. In some embodiments, the set of interconnection diagrams includes similar diagrams but providing different information. For example, two diagrams may depict the same floor layout, and one diagram may provide dimensional information while the other provides network IDs of components on the network. Figure 10 provides an example of an interconnection diagram depicting an elevation view of a structure from which the coordinates of the IGU 1001 and other network components can be determined. In some embodiments, interconnection diagrams provide information relating to the power distribution network of the electrochromic device, such as that described in U.S. Patent Application No. 15 / 268,204, filed September 16, 2016, now U.S. Patent No. 10,253,558, published April 9, 2019, entitled "POWER DISTRIBUTION NETWORKS FOR ELECTROCHROMIC DEVICES", which is incorporated herein by reference in its entirety.
[0100] Modifications to the interconnection diagram may be necessary in certain situations. For example, an installer may determine that a window opening is too small for a window specified by instructions in a digital twin (e.g., interconnection diagram and / or BIM) and decide to install a smaller window. To correct the change, the digital twin may need to be updated. Other structures mapping between network configuration files or storage devices (e.g., optically switchable windows) and associated controllers may be established or modified to reflect real-world installations. With the correct mapping in place, the network will function properly. In some cases, if the network configuration file does not represent a physical network, device configuration instructions (e.g., window shading instructions) may be sent to the wrong components, or communication may not be received at all.
[0101] In some embodiments, the facility has an associated digital twin. When the digital twin of the facility (e.g., interconnection diagram) is modified, the corresponding (e.g., linked) network configuration file may also be modified. Such modifications may be manual and / or automatic. Such modifications may be performed immediately (e.g., during an update of the digital twin file, at a predetermined time, or at any time). In some embodiments, the network configuration file is not created unless physical installation has been completed, for example to ensure that any changes to the digital twin are reflected in the network configuration file. In the case of modifying the interconnection file after the network file has been created, care should be taken to ensure that the network configuration file is updated to reflect the changes. Failure to update the interconnection diagram or failure to update the network configuration file to reflect changes made to the digital twin (e.g., interconnection diagram) may result in a network that does not respond to instructions as expected. Furthermore, the digital twin (e.g., interconnection diagram) may be updated when commissioning occurs (e.g., immediately). To correct for deviations in the interconnection pattern made during installation, device (e.g., optical switchable windows) information can be obtained from a file containing device IDs (e.g., window pane IDs). Network configuration files can be created or updated (e.g., individually) when a digital twin (e.g., interconnection pattern) has been established, or when the digital twin has been updated to account for installation changes. Configuration files can be further updated at the time of commissioning (e.g., immediately) or at a later time (e.g., specified). Network configuration files may not include network IDs for controllers or other components (e.g., devices) coupled to the network on the network or via operational (e.g., communication) grounds when initially rendered.
[0102] In some embodiments, the network configuration file is a readable, interpretable, and in some cases updated digital twin (e.g., interconnection diagram) transcript in a computer-readable format (e.g., containing program instructions) that is updated by (e.g., via) multiple controllers (e.g., through logic control software). At least some (e.g., all) of network components (e.g., windows, window controllers, network controllers, sensors, transmitters, and / or sensor groups) may be represented in the network configuration file. The network configuration file may contain information about how various devices on the network are related to each other, for example, in a hierarchical structure.
[0103] In some embodiments, the network configuration file is a textual description of a digital twin (e.g., an interconnection diagram). The network configuration file may have a flat file format (e.g., where there is no facility structure information for indexing and / or no structural relationship between records). Examples of flat types include plain text files, comma-separated value files, and delimiter-separated value files. JavaScript Object Notation Format (JSON) or other object notation formats that use human-readable text to transmit data objects consisting of attribute-value pairs can be used in the network configuration file. Information in the network configuration file may be stored in other formats and / or locations.
[0104] In some embodiments, the network configuration file uses JSON format. Various devices and device groups can be defined as JSON objects. For example, when a window area is defined as an object, comma-separated characters can be used to encode which area group the area is part of, which network controller(s) the area group is reported to, and the main controller responsible for the network. The object may provide information about which window controllers, windows, and / or any additional network components (e.g., light sensors or window antennas) are included in the area. Network components can be referenced in the object by at least a network ID. When the digital twin (e.g., interconnection schema) was initially generated, the network configuration file may be incomplete in the sense that it has not yet included a network ID for at least one of the controllers.
[0105] Network configuration files can be stored at various locations within the window network. For example, network configuration files can be stored on memory attached to the main controller, network controller, remote wireless device, or in the cloud. In some embodiments, the network configuration file is stored in one location from which all other devices on the network can access the network configuration file. In another embodiment, the network configuration file is stored locally on multiple devices on the window controller network; when the network configuration file is updated at one location, the updated network configuration file replaces the outdated network files at other locations as new devices are added to the network.
[0106] Using information from a network configuration file, the control logic can send instructions to windows and / or other components (e.g., devices) on the network. The control logic can transmit instructions to a main controller 111 (FIG. 1), which in turn can transmit instructions to an appropriate network controller 112. In some embodiments, the network controller 111 transmits instructions to an appropriate local controller (e.g., window controller 114) via a network (e.g., using the BACnet communication protocol (Building Automation and Control Network Protocol, ISO 16484-5)). The local controller can apply electrical signals to control the configuration of (multiple) devices, at least in part, based on the local controller's Control Area Network ID (CAN ID). For example, the window controller can apply electrical signals to control the hue status of an optical switching window, at least in part, based on the window controller's CAN ID.
[0107] In some embodiments, the control system utilizes control logic. The control logic (e.g., in the form of software and / or programmed hardware) may be stored and / or used in various locations on a network. For example, the control logic may be stored and used on a main controller. In some embodiments, the software containing the control logic runs locally, in the cloud, or on a remote device, for example, the remote device sending instructions to a higher-level (e.g., main) controller. In some embodiments, the control logic is implemented at least in part via a facility management application operated from an electronic device.
[0108] In some embodiments, the control system is configured to receive user input. One purpose of the control logic may be to present controllable options to the user in the form of a graphical user interface (GUI) that allows the user to select and / or control one or more electrochromic windows and / or any other device operatively coupled to the network. For example, a list of window IDs may be presented to the user on the network, from which the user can select and / or modify device attributes and / or configurations, such as the tint state of a particular window. The user may send instructions (e.g., provide input) to control the grouping of devices (e.g., windows) based at least in part on areas of devices that have been pre-defined or selected by the user.
[0109] In some embodiments, the control logic communicates with other systems or modules, such as window control intelligence, BMS, and / or security systems. For example, the BMS can configure all windows to their colored states to save cooling costs in the event of a power outage.
[0110] In some embodiments, the position of an automated device (e.g., a window) is determined after installation. Various devices (e.g., sensor clusters, window controllers, windows configured with antennas and / or vehicle controllers) may be configured with transmitters to communicate via various forms of wireless electromagnetic transmission; for example, time-varying electric fields, magnetic fields, or electromagnetic fields. Various wireless protocols and wavelengths used for electromagnetic communication include (but are not limited to) Bluetooth, BLE, Wi-Fi, and / or Ultra Wideband (UWB). Electromagnetic radiation may include radio frequency (RF) radiation.
[0111] The relative position between two or more devices can be determined from information related to received transmissions at one or more antennas and / or one or more transceivers; such as the received signal strength or power, time of arrival or phase, frequency, and / or angle of arrival of the wireless transmission signal. When determining the position of the devices from such measurements, a triangulation algorithm can be implemented, which in some cases takes into account the physical layout of buildings, such as fixed objects like walls and non-fixed objects like mobile furniture. Finally, the accurate position of individual network components (e.g., devices) can be obtained using such or similar techniques. For example, the position of a window controller with a UWB microlocation chip can be determined to be at least about 2.5 cm, 5 cm, 10 cm, 15 cm, 20 (cm) centimeters or higher than its actual position. In some cases, geolocation methods, such as the geolocation method described in International Patent Application Serial No. PCT / US2017 / 031106 entitled "WINDOW ANTENNAS" filed May 4, 2017, which is incorporated herein by reference in its entirety, may be used to determine the location of one or more devices (e.g., windows). As used herein, geolocation and geographic location can refer in part to any method of determining the location or relative position of a window or device by analyzing electromagnetic signals.
[0112] In some embodiments, at least one device in the facility is located via UWB geolocation technology. Ultra-wideband (UWB) technology (ECMA-368, ECMA-369, and IEEE 802.15.3a) is a wireless technology used to transmit large amounts of data at low power. For example, in the United States, the Federal Communications Commission (FCC) limits power to no more than -41.3 dBm / MHz in the frequency range of about 3.1 to about 10.6 GHz (see 47 CFR Part 15.209, Table 1). This power limitation allows UWB communication to occur over short distances (e.g., at most about 200', 230', 250', 500', 600', or 1000' (ft)). UWB can transmit information using single-carrier (pulse-based) or multi-carrier technology. Single-carrier multi-band systems can transmit information by modulating the phase of (extremely) narrow pulses. One advantage of this type of system is that the transmitter can have a relatively simple design. Compared to pulse-based systems, multi-carrier multi-band systems can utilize orthogonal frequency division multiplexing (OFDM) technology to transmit the information over one or more sub-bands within the approximately 3.1 GHz to approximately 10.6 GHz spectrum allocated to UWB by the FCC. OFDM can offer several advantageous characteristics, including high spectral efficiency, inherent recoverability to RF interference, robustness to multipath, and the ability to effectively capture multipath energy. In some OFDM UWB systems, the average transmitted power can be approximately -12 to approximately -8 dBm, with a typical peak-to-average power ratio of approximately 8 to approximately 10 dB, resulting in peak power less than or equal to approximately zero (0) dBm.
[0113] In some embodiments, the characteristics of single-carrier and / or multi-carrier UWB signals may be that the signal occupies at least about 500 MHz of bandwidth spectrum or at least about 20% of its center frequency. UWB components or devices that broadcast digital signal pulses can simultaneously (e.g., synchronously) time carrier signals (e.g., precisely) across several channels. Information can be transmitted by modulating the timing and / or positioning of the pulses. Information can be transmitted by encoding the polarity of the pulses, their amplitude, and / or by using quadrature pulses.
[0114] In addition to being a low-power information transmission protocol, UWB technology offers several advantages over other wireless protocols for indoor location applications. In some embodiments, the wide bandwidth of the UWB spectrum includes lower frequencies with longer wavelengths, which allow UWB signals to penetrate various materials, including fixed objects such as walls. Including such a wide range of lower and higher low-penetration frequencies reduces the chance of multipath propagation errors, as some wavelengths will have line-of-sight paths. Another advantage of pulse-based UWB communication is that the pulses can be short (e.g., up to about 50 cm, 60 cm, or 70 cm for a wide pulse of about 500 MHz; or up to about 20 cm, 23 cm, or 25 cm for a wide pulse of about 1.3 GHz). This reduces the chance of reflected pulses overlapping with the original pulse.
[0115] The relative position of devices and / or individual controllers equipped with geolocation technology (e.g., with a microlocation chip) can be determined using geolocation technology (e.g., using a UWB protocol). For example, using geolocation technology (e.g., embedded in a circuit system, such as in a microlocation chip), the relative position of such devices can be determined with an accuracy of at least about 2.5 cm, 5 cm, 10 cm, 15 cm, 20 cm, or higher. In some embodiments, devices (e.g., device groups, controllers) are configured to communicate via geolocation technology (e.g., embedded in a circuit system, such as in a microlocation chip). Devices may include antennas disposed on or near windows or local controllers. In some embodiments, controllers are equipped with tags equipped with geolocation technology (e.g., embedded in a circuit system, such as in a microlocation chip). Circuit systems may be configured to broadcast (e.g., UWB) signals. Signals may include omnidirectional or unidirectional signals. Receiving stationary geolocation technology (e.g., circuit systems) may be located at various locations such as wireless routers, network controllers, or window controllers. A fixed circuit system incorporating geolocation technology (e.g., referred to herein as a "fixed geolocation circuit system," abbreviated as "SGC") may have a known (e.g., absolute or relative) location within a facility. When the SGC has an absolute location, it is referred to as an anchor. Tags may be stationary or mobile. For example, tags may be embedded in a collection of fixtures. For example, tags may be embedded in furniture or service machinery (e.g., assets). Tags may be embedded in fixed or non-fixed objects. For example, tags may be carried by an occupant. By analyzing the time it takes for a broadcast signal to reach the SGC within the tag's transmittable distance, the tag's location, for example, relative to the SGC, can be determined.
[0116] In some embodiments, the installer places a temporary SGC within a building for commissioning purposes, and then removes such temporary anchors after the commissioning process is completed. In some embodiments, multiple devices (e.g., optical switchable windows, window controllers) are equipped with SGCs configured to transmit and / or receive UWB signals. The circuitry of the SGC can be any circuitry disclosed herein, such as that contained within a chip like a microchip. By analyzing the UWB signals received at each device (e.g., window controller), the relative distance between devices (e.g., window controllers) within the transmission range limitation can be determined. By aggregating this information, the relative positions between (e.g., all) devices (e.g., window controllers) can be determined. When the position of at least one device (e.g., window controller) is known, and / or, if an SGC is used, the relative positions of other devices with micropositioning chips can be determined. Such techniques can be used in automated commissioning processes as described herein. It should be understood that this disclosure is not limited to UWB technology; any technology used for automatically reporting (e.g., high-resolution) geographic location information can be used. Such technologies may employ one or more antennas associated with the component to be automatically located.
[0117] A digital twin of a facility (e.g., an interconnection schema or other source of building information) may include location information for various network components. For example, a device (e.g., a window) may have its physical location coordinates listed in the x, y, and z dimensions with technically specified accuracy; for example, at least within about one (1) centimeter. Files or documents (such as network configuration files) derived from such a digital twin (e.g., containing schemas) may contain the accurate physical locations of network components. In some embodiments, the coordinates correspond to a corner of the facility structure (e.g., a corner where a window pane or IGU is mounted). The selection of a particular corner or other feature for specifying in the digital twin (e.g., interconnection schema) coordinates may be influenced by the placement of antennas or other location-aware components. For example, a window and / or paired window controller may have an SGC (e.g., placed near a first corner (e.g., the lower left corner) of the associated IGU); in this case, interconnection schema coordinates for the window pane may be specified for the first corner. In the case of an IGU with a window antenna, the coordinates listed on a digital twin (e.g., an interconnect diagram) can represent the position of the antenna on the surface of the IGU window or near a corner of the antenna. In some embodiments, the coordinates are obtained from architectural drawings and knowledge of antenna placement on larger window assemblies such as the IGU. In some embodiments, the orientation of the window is included in the interconnect diagram.
[0118] Although this specification often refers to digital twins (e.g., interconnect diagrams) as a source of accurate physical location information for windows, the present invention is not limited to digital twins (e.g., interconnect diagrams). Any similar accurate representation of the location of components in a building or other structure having optically switchable windows can be used. This includes files derived from interconnect diagrams (e.g., network configuration files) as well as files or diagrams generated independently of interconnect diagrams (e.g., via manual and / or automated measurements taken during the construction of the building). In some cases where coordinates cannot be determined from architectural diagrams, such as the vertical position of a window controller on a wall, the unknown coordinates can be determined by personnel responsible for installation and / or commissioning. Since architectural and interconnect diagrams are widely used in building design and construction, they are used herein for convenience, but the present invention is not limited to interconnect diagrams as a source of physical location information.
[0119] In some embodiments, using (i) an interconnection schema of the enclosure (e.g., BIM) and (ii) geolocation, a logical scheme pairs component locations with the network ID of the component (e.g., device) (or other information not available in the interconnection schema). These locations can be indicated in the interconnection schema. The interconnection schema can be a digital twin of the enclosure. The interconnection schema can be a detailed representation of the component locations. A logical scheme can be employed during commissioning. The device may include a controller, such as a local (e.g., window) controller. In some embodiments, this is done by comparing the device location provided by geolocation (e.g., using SGC) and the measured relative distance between them and the coordinates listed on the interconnection schema. When the location of network components can be determined with high accuracy (e.g., better than about 10 cm, as disclosed herein for UWB), automated commissioning can avoid the chaos that can be introduced by manually commissioning devices (e.g., windows and / or window controllers).
[0120] The controller network ID or other information paired with the physical location of the device (e.g., a window or other component) may come from various sources. In some embodiments, the controller's network ID is stored on a memory device. The memory device is operatively coupled to a network. The memory may be attached to a window (e.g., a connector or pigtail for a window controller) or may be downloaded from the cloud based on the device serial number. One instance of the controller's network ID is a CAN ID (an identifier used for communication via a CAN bus). In addition to the controller's network ID, other stored device information may include the controller's ID (not its network ID), device component ID (e.g., a window serial number), device type, device (e.g., window) size, manufacturing date, bus length, zone membership, current firmware, and / or various other device details (e.g., the layer composition and (e.g., relative) dimensions of an electrochromic device). Regardless of which information is stored, at least a portion (e.g., all) of this information may be accessed during device use and / or during commissioning procedures. Access to information may include a security layer. Once accessed, any or all of this information can be linked to physical location information obtained from digital twins (e.g., interconnect diagrams), partially complete network configuration files, or other sources.
[0121] In some embodiments, the logic scheme compares the requested device location with the actual device location. The logic scheme may include distances between devices. For example, the logic scheme may include relative distances between the requested device locations. For example, the logic scheme may include relative distances between the actual device locations. Locations and / or relative distances may be incorporated into a table format or in any other format. For example, locations may be incorporated into a vector form. For example, locations may be incorporated into a matrix form. In some embodiments, the logic scheme utilizes one or more matrices. In some embodiments, the logic scheme performs one or more matrix manipulations (e.g., algebra). The matrix may include device locations. For example, the matrix may include rows of actual device locations and rows of requested device locations. The logic scheme may compare the relative distance between any two requested device locations with the relative distance between any two actual device locations (e.g., individually). The logic scheme may search to identify patterns and / or significant differences in the relative distances between (I) the requested device locations and (II) the actual device locations. The logic scheme may attempt to match the identified patterns and / or significant differences between the relative distances between (i) the requested device locations and (ii) the actual device locations. Significant may be relative to acceptable measurement error. Significant differences can be relative to acceptable installation errors in the installation of the device. The pattern may include mathematical patterns. The pattern may include mathematical series. The pattern may include, for example, repeating distances configured in a specific space. Significant differences compared to other relative device distances may include significantly larger or significantly smaller distances. The logical scheme may consider the location (e.g., relative position) of fixed objects in the facility (e.g., the installed device adjacent to, within, or on it). The logical scheme may consider the location (e.g., relative position) of non-fixed objects in the facility (e.g., the installed device adjacent to, within, or on it). Non-fixed objects may include furniture such as tables, small bedrooms, cabinets, wardrobes, closets, cupboards, machinery, or sofas. Fixed objects may include walls, ceilings, floors, frames, risers, pipes, shelves, ledges, or racks. Frames may include door or window frames. Machinery may be industrial (e.g., heavy industrial) machinery or office or household machinery (e.g., printers or vending machines). Machines may be service machines.
[0122] In some embodiments, pairing of the controller network ID or other information having the physical location of the device can be facilitated using inherent network diagnostics and / or time domain reflectometry (TDR) techniques. A better understanding of the features and benefits of these techniques can be obtained by referring to FIG11A, which illustrates examples of use cases where these techniques can be applied. Although the illustrated examples only include a “window controller” coupled to a trunk line, it will be understood that other devices are conceivable, including other types of controllers, sensors, antennas, receivers, transmitters, network diagnostic devices, etc. In the illustrated example, the "as designed" configuration of control panel or network controller 1150, first trunk 1152 (coupled to window controllers 1155, 1157, 1159 and 1161 and IGUs 1156, 1158, 1160 and 1162), and second trunk 1154 (coupled to window controllers 1163, 1165 and 1167 and IGUs 1164, 1166 and 1168) is compared to the "as constructed" configuration of control panel or network controller 1170, first trunk 1172, and second trunk 1174. It can be observed that because first trunk 1172 is coupled to three sets of window controllers (1175, 1177, 1179) and IGUs (1176, 1178, 1180), instead of the four sets depicted in the "as designed" configuration, the assumed "as constructed" configuration differs from the "as designed" configuration. Furthermore, the second trunk 1174 is coupled to four sets of window controllers (1181, 1183, 1185, and 1187) and IGUs (1182, 1184, 1186, and 1188), instead of the three sets depicted in the As-Design configuration. Finally, in the As-Built configuration, the first trunk 1172 is shown as including the external lengths of cables 1192 and 1194, which is not foreseeable in the As-Design configuration.
[0123] Examples of unintended differences between "as designed" and "as constructed" configurations are common at building sites and can adversely affect network control (if not calibrated) in the absence of the disclosed technology, while also being costly to identify and correct. For example, the strength of the signal transmitted to the controller coupled to the trunk line will vary with the distance along the cable length between the control panel / network controller and the individual window controllers. In some embodiments, this problem is mitigated by using built-in network diagnostic tools (which may be supplemented by TDR in some instances).
[0124] In some implementations, for example, near the trunk line head (e.g., next to, at, or near the control panel / network controller), the signal interference plus noise ratio (SINR) of signals from two or more window controllers is measured. The window controller exhibiting the better (best) SINR can be determined to be closer (closest) to the head.
[0125] Furthermore, in some embodiments, the window controllers and control panels are configured as network devices conforming to the G.hn specification developed by the International Telecommunication Union. Therefore, network diagnostics are available to determine the order, including relative distance, between local controllers (e.g., window controllers) and control panels. In some embodiments, Time Domain Reflectometry (TDR) can be used alone or in conjunction with G.hn network diagnostics to obtain at least approximate relative position information for each window controller.
[0126] Returning to the usage example in Figure 11A, it should be understood that this technology enables the identification of differences between a "as designed" configuration and a "as constructed" configuration. For example, TDR data obtained by transmitting a TDR signal to a constructed trunk line and recording the reflection of that signal from devices coupled to the trunk line can be used to identify the length and approximate location of the external lengths of cables 1192 and 1194. Similarly, the absence of a intended controller on a constructed first trunk line 1172 and the presence of an unplanned controller on a constructed second trunk line 1174 can be detected from the TDR data. Although not shown in Figure 11A, it will be understood that TDR data can help detect other inconsistencies between a constructed configuration and a designed configuration, such as the unintended presence of other devices coupled to the trunk line, such as sensors, antennas, transceivers, or other controllers. Similarly, TDR data can help detect the unintended absence of any of such devices.
[0127] Referring again to FIG. 11A, in some embodiments, the control panel or network controller 1170 may be configured to transmit incoming TDR signals and / or register and / or analyze the reflection of incoming TDR signals. In some instances, other devices that may be co-located, positioned close to, or included in the control panel or network controller 1170 may transmit incoming TDR signals and / or register and / or analyze the reflection of incoming TDR signals. Advantageously, the incoming TDR signals may be transmitted via trunk lines (e.g., trunk lines 1172 and / or 1174), and the reflection of the incoming TDR signals may be received via trunk lines (e.g., trunk lines 1172 and / or 1174).
[0128] This technology helps to identify, and significantly automates, differences between design configurations and construction configurations. Therefore, these differences can be corrected in a timely manner at the building location, and / or the impact of these differences can be mitigated by adjusting, for example, signal strength, controller algorithms, and / or controller addressing.
[0129] Alternatively, or additionally, as indicated above, the network ID or other information of a window controller may be paired with the physical location of the window controller. For example, the network ID of a window controller may be stored on a memory device operatively coupled to the network. In some implementations, the physical location of each window controller can be determined by comparing data from the building's BIM files and / or digital twins with relative location information obtained by TDR and G.hn network diagnostics. As a result, an accurate mapping of the location of each window controller and its associated IGU can be obtained. Figure 11B depicts an example of network 1100, showing a set of requested device locations and a set of actual (e.g., real-world, such as installed) device locations. This set of requested device locations includes a first requested location a1 1111 for a first planned device, a second requested location a2 1112 for a second planned device, and a third requested location a3 1113 for a third planned device. In some embodiments, the first, second, and third planning devices include UWB SGCs, sensors, sensor clusters, other types of devices, and / or any various combinations thereof. Requested locations a1 1111, a2 1112, and a3 1113 may be specified, for example, in the system design (e.g., a Revit file). Based on the requested locations a1 1111, a2 1112, and a3 1113, a set of expected distances between the planning devices can be determined. A first expected distance α12 is defined as the expected distance between the first requested location a1 1111 and the second requested location a2 1112. In this example, the first expected distance α12 equals 4. A second expected distance α13 is defined as the expected distance between the first requested location a1 1111 and the third requested location a3 1113. In this example, the second expected distance α13 equals 3. A third expected distance α23 is defined as the expected distance between the second requested location a2 1112 and the third requested location a3 1113. In this example, the third expected distance α23 is equal to 5. The expected distance matrix α1130 incorporates the first expected distance α12 (equal to 4 in this example), the second expected distance α13 (equal to 3 in this example), and the third expected distance α23 (equal to 5 in this example).
[0130] The installer now installs the devices in the enclosure in a random order. In some embodiments, the installer may use this set of requested device locations as a reference or guide during the installation process. In some embodiments, the physical installation process may result in random differences or errors between the requested locations and the installation locations of the devices. Referring again to FIG11B, a first installed device b1 may be installed at a first installation location 1121. A second installed device b2 may be installed at a second installation location 1123. A third installed device b3 may be installed at a third installation location 1125. Based on installation locations 1121, 1123, and 1124, a set of measured distances between the devices can be determined. A first measured distance β12 is defined as the measured distance between the first installation location 1121 and the second installation location 1123. A second measured distance β13 is defined as the measured distance between the first installation location 1121 and the third installation location 1125. A third measured distance β23 is defined as the measured distance between the second installation location 1123 and the third installation location 1125. In this example, the first measurement distance β12 equals 3, the second measurement distance β13 equals 5, and the third measurement distance β23 equals 4. The measurement distance matrix β1132 incorporates the first measurement distance β12 (equal to 3 in this example), the second measurement distance β13 (equal to 5 in this example), and the third measurement distance β23 (equal to 4 in this example).
[0131] To map (e.g., match) the set of requesting device locations to the installed device locations, each column of the request distance matrix α 1130 is compared to each column of the measurement distance matrix β 1132. This comparison identifies the column of the request distance matrix α 1130 that most closely matches a column of the measurement distance matrix β 1132. These most closely matching columns are mapped to each other, and the comparison procedure is repeated in the remaining columns of the request distance matrix α 1130 and the measurement distance matrix β 1132.
[0132] In this example, the first column of the requested distance matrix α 1130 (the proposed distance {0,4,3}) most closely matches the second column of the measured distance matrix β 1132 (the proposed distance {3,0,4}). Therefore, the first column of the requested distance matrix α 1130 maps to the second column of the measured distance matrix β 1132. Similarly, the second column of the requested distance matrix α 1130 (the proposed distance {4,0,5}) matches the third column of the measured distance matrix β 1132 (the proposed distance {5,4,0}). Therefore, the second column of the requested distance matrix α 1130 maps to the third column of the measured distance matrix β 1132. Likewise, the third column of the requested distance matrix α 1130 (the proposed distance {3,5,0}) matches the first column of the measured distance matrix β 1132 (the proposed distance {0,3,5}). Therefore, the third column of the requested distance matrix α 1130 maps to the first column of the measured distance matrix β 1132. Based on the column-to-column mapping of the requested distance matrix α 1130 and the measured distance matrix β 1132, it is determined that the first installation device b1 is installed at the third requested position a3 1113, the second installation device b2 is installed at the first requested position a1 1111, and the third installation device b3 is installed at the second requested position a2 1112.
[0133] Readers may face a combinatorial optimization problem to address random location deviations (e.g., installer error) of the installation device from its requested location. The requested location can be provided, at least in part, based on a digital twin (e.g., a Revit file) of the enclosure (e.g., a facility, building, or room incorporating the device and its type at the requested location). The installer (e.g., a field service engineer) can install the device (e.g., a low-voltage electrical service). A traveler (e.g., a field service engineer or a drone) can record the installation location of the device. Information about the installation location can be fed into the digital twin. For a network comprising N devices, there are N! possible mappings. For medium to large values of N, an exhaustive search is not possible. For example, if N=59, this results in N!= 1.4 x 1080 possible mappings. Therefore, in some embodiments, an automatic mapping procedure is performed.
[0134] In some embodiments, the logical scheme utilizes a problem-solving trial-and-error approach. The trial-and-error approach may include seeking local and / or global endpoints. The trial-and-error approach may optimize between the optimal solution and the time required to reach the optimal solution. In some embodiments, the trial-and-error approach may compromise on time. In some embodiments, the trial-and-error approach may compromise on the overall optimal solution. The trial-and-error approach may utilize logical schemes for the Traveling Marketer problem and / or the Minimum Cross-Tree problem, and / or the Combinatorial Optimization Knapsack Problem (e.g., Source Allocation) problem. The trial-and-error approach may utilize one or more methods of combinatorial optimization. For example, the trial-and-error approach may include making a locally optimal choice (e.g., seeking a local minimum). The locally optimal choice may be evaluated at at least one (e.g., in each) comparison phase between the requested and actual relative distances. For example, the trial-and-error approach may include using a greedy algorithm. The greedy algorithm may include a pure greedy algorithm, an orthogonal greedy algorithm, or a relaxed greedy algorithm. The trial-and-error approach may not produce an optimal solution, but rather a locally optimal solution that approximates the global optimal solution in a reasonable amount of time. The trial-and-error approach may include matroids. A logical scheme may contain a vector space. For example, a logical scheme may contain submodular functions. A logical scheme may contain operational studies, algorithmic theory, or computational complexity schemes. A logical scheme may include finding the optimal solution from a finite set of solutions. A logical scheme may include optimizations, such as discretizing or reducing a set of feasible solutions to discreteness, where the objective set finds the optimal (local and / or global) solution. A logical scheme may include discrete optimization, combinatorial optimization, and / or mathematical optimization. A logical scheme may include a systematic enumeration of candidate solutions using a state-space search. The set of candidate solutions may resemble a rooted tree, where the entire set is at the root. A logical scheme may explore branches of such a tree, which represent subsets of the solution set. Before enumerating candidate solutions for a branch, the branch may be examined against upper and lower evaluation bounds for the optimal solution. If a branch cannot produce a better solution than the best currently found by the logical scheme module, the branch may be discarded. A logical scheme may depend at least in part on the effective evaluation of the lower and upper bounds of the region / branch of the solution search space. If no bounds are available, the logical scheme module may perform an exhaustive search. A logical scheme may include branch and bound, A*, B*, or alpha-beta search logical schemes. A logical scheme may include graph lateral or path search logical schemes. A logical scheme may include a best-first graph search logical scheme. A logical scheme may include a minimum value logical scheme. A logical scheme may include one or more logical scheme modules (e.g., a combination of modules). A logical scheme module may utilize an algorithmic scheme (e.g., a trial-and-error scheme). Logical scheme modules can be combined. Logical scheme modules may have weights. At least two logical scheme modules may have different weights. At least two logical scheme modules may have (e.g., substantially) the same weights. At least two logical scheme modules may form a weighted combination within the overall logical scheme to produce a result.
[0135] Referring now to FIG. 12A, a method 1200 for determining the relative positions of a plurality of devices within a network will be described. As indicated above, the devices may be communicatively coupled via a network having a control panel or network controller. In block 1210, the method includes performing a procedure for one or both of blocks 1211 and / or 1213. According to block 1211, the signal-to-interference-plus-noise ratio (SINR) of the signal received from each device can be measured. According to block 1213, the incident TDR signal can be transmitted to the network, and the reflection of the signal from each device can be recorded.
[0136] In some embodiments, referring again to FIG11A, the procedures of blocks 1211 and / or 1213 may be executed by a control panel or network controller 1170, for example, or an associated device (which may be co-located, set adjacent to, or included in the control panel or network controller 1170), which works in conjunction with one or more window controllers (e.g., window controllers 1175, 1177, 1179, 1181, 1183, 1185, 1187 or more). Furthermore, the signals conceived in this method may advantageously be transmitted and / or received by the control panel or network controller 1170 or associated device via trunk lines (e.g., in the illustrated example, via trunk lines 1172 and / or 1174).
[0137] Optionally, according to block 1215, the characteristics of the signal generated from execution block 1211 or 1213 can be determined. For example, the relative signal strength of signals received from two or more window controllers can be analyzed to determine the relative distance between each window controller and, for example, a control panel or network controller 1170. As a further example, the actual characteristics of the reflection of the incident TDR signal (e.g., as in the building configuration) can be analyzed and / or compared with the expected (e.g., as in the design) configuration.
[0138] According to block 1220, a difference between at least one portion of the network, such as a construction configuration, and that portion of the network, such as a design configuration, can be determined. For example, as indicated above in conjunction with FIG11A, the unexpected presence of devices coupled to a trunk line (e.g., the unexpected presence of additional window controllers or other devices, such as sensors, antennas, transceivers, or other controllers) can be detected. Similarly, the unexpected absence of any of such devices can be detected. In some embodiments, this detection may arise from comparing an actual measured "characteristic" of the reflected signal from the incident TDR signal with an expected characteristic, wherein the characteristic may include, for example, one or more of signal frequency, phase, and amplitude.
[0139] Figure 12B shows an example of flowchart 1250, which illustrates a first example of a greedy type program (e.g., a program at least partially based on a greedy algorithm) for mapping a set of requesting device locations to a set of installed device locations. The greedy type program follows a problem-solving trial-and-error approach that makes locally optimal choices in several stages. In some cases, the greedy type program may not produce an optimal solution, but nevertheless, the greedy trial-and-error approach can produce locally optimal solutions that approximate the global optimal solution in a reasonable amount of time. The measured distances of the installed devices are used to generate a candidate set for establishing the mapping solution (block 1251). A selection function is used to select the best candidate to be added to the trial mapping solution (block 1253). Next, by applying a feasibility function to the candidates, it is determined whether the candidates can be used to constitute the trial mapping solution (block 1255). Using an objective function, a value is assigned to the trial mapping solution, or a portion of the trial mapping solution (block 1257). Then, by using a solution function, it is determined when the trial mapping solution constitutes the complete mapping solution (block 1259).
[0140] The greedy type program of Figure 12B can be executed using on-site calculations and / or remotely (e.g., in the cloud) to automatically determine the installation location of a device in a facility. The approximate location of the device can be determined using a mapping algorithm and a digital twin adjusted accordingly. The installation location of the device can be fine-tuned by updating the digital twin to form the resulting digital twin. Errors between the requested location and the installation location can occur due to incorrect (e.g., inaccurate) placement of the device, resulting in discrepancies between the digital twin and the real-world enclosure. In some embodiments, manual and automatic mappings can be compared to locate any discrepancies and / or to improve the automatic location calculation scheme.
[0141] Figure 13 is a flowchart illustrating a second example of a greedy type procedure for mapping a set of requesting device locations to a set of installed device locations. In block 1301, a comparison of the mathematical distances between each column of the request distance matrix α 1130 (Figure 11B) and each column of the measurement distance matrix β 1132 is performed. The Mth column in the request distance matrix α 1130 is identified as the closest match to the Nth column of the measurement distance matrix β 1132 (Figure 13, block 1303). M is a positive integer equal to the number of columns in the request distance matrix α 1130 (Figure 11B), and N is a positive integer equal to the number of columns in the measurement distance matrix β 1132. Next, in block 1305 (Figure 13), the identified Mth column of the request distance matrix α 1130 (Figure 11B) is mapped to the Nth column of the measurement distance matrix β 1132. Next, in block 1307 (Fig. 13), a test is performed to determine if there are any remaining columns of the requested distance matrix α 1130 (Fig. 11B) and / or the measured distance matrix β 1132 to be mapped. If not, the mapping solution is complete (Fig. 13, block 1311). The positive branch from block 1307 loops back to block 1303 (previously described).
[0142] The greedy type program in Figure 13 executes at multiple times. In some embodiments, execution may take up to a few seconds. Sometimes, the greedy type program may produce errors in the device mapping. However, this program can provide a good initial guess about the placement of the installed device.
[0143] In some embodiments, the greedy type procedure of FIG12B and / or FIG13 can be performed by considering a set of relative distances between a requested (e.g., asymmetrically placed) device in a digital twin (e.g., a Revit file) and the location of the installed device in a real-world enclosed space. A greedy type procedure is followed to find a specific device placement feature. This method improves the speed of the greedy type procedure but does not guarantee that it will always provide the correct solution. One example of a device placement feature includes a first device located at a relatively large distance from each other device (e.g., the sum of all device-to-device distances, and if this device is known from the Revit file, the first device with the largest distance is designated as the reference device). Another example of a device placement feature is a first device located centrally, with several other devices spaced equidistant from it. Yet another device placement feature is a device that is asymmetrically positioned relative to other devices, easily detectable using (e.g., relative) distance measurements in a particular known configuration. For example, four devices (e.g., sensors) are configured to appear uniquely in a closed body at a specific distance level (e.g., distance levels X, 2X, 3X, and 4X, where X is a distance).
[0144] Figure 14 is a graphical depiction showing the initial device position a5 before calibration and the optimal device position α5 after calibration. The optimal device position α5 is determined by minimizing a cost function. In some embodiments, the cost function can be defined as: Cost (a15 = ∑ (α1i5 - βi5)2, where α1i5 = ꟾꟾai – a5ꟾꟾ.
[0145] Figure 14 illustrates some examples of device placement. In some embodiments, device placement feature 1410 is provided by asymmetrically positioning a device relative to other devices in a particular known configuration that is easily discernible using (e.g., relative) distance measurements. Device placement feature 1410 includes a set of positions a1, a2, a3, a4, and a5. The distances between these positions can be defined with reference to position a5 as follows: a first distance α15 is the distance between position a1 and position a5. Similarly, a second distance α25 is the distance between position a2 and position a5. Similarly, a third distance α35 is the distance between position a3 and position a5. A fourth distance α45 is the distance between position a4 and position a5. In some embodiments, device placement feature may include a positional configuration in which only four devices (e.g., sensors) appear in the enclosure, configured at a specific distance order (e.g., distance order = X, 2X, 3X, and 4X, where X is a distance). For example, the first distance α15 can be X, the second distance α25 can be 2X (or twice the first distance α15), the third distance α35 can be 3X, and the fourth distance α45 can be 4X. Note that Figure 14 is not drawn to scale.
[0146] In some embodiments, device placement feature 1410 is provided by symmetrically positioning a device relative to other devices in a particular known configuration that is easily discernible using (e.g., relative) distance measurements. For example, a first distance α15 may be X, wherein a second distance α25 is X, a third distance α35 is X, and a fourth distance α45 is X. As mentioned above, it is worth noting that Figure 14 is not drawn to scale. Device placement feature 1410 may be formed while designing and / or requesting placement in an interconnection schema (e.g., BIM, such as Revit) file, and this device placement feature may be strategically utilized in the greedy type procedures of Figures 12B and / or 13.
[0147] In some embodiments, sensors are placed within a facility. Sensors may be placed in a requested location to facilitate their functionality. In cases where the sensors are in a symmetrical configuration, they may be repositioned to form an asymmetrical configuration. The symmetry of this configuration may be broken within a certain limit, allowing the sensors to perform according to their intended (e.g., initially requested or planned) function. For example, a sensor designated for sensing within a spatial range may be repositioned to still cover or substantially cover that spatial range.
[0148] In some embodiments, the logic scheme utilizes a branch-and-bound scheme. Branch-and-bound is a method for solving discrete and combinatorial optimization problems. The branch-and-bound procedure provides a systematic enumeration of candidate solutions by means of a state-space search (e.g., a solution space). This set of candidate solutions is considered to form a rooted tree, where the entire set of solutions is at the root. The procedure explores the branches of the tree, where each branch represents a subset of the set of candidate solutions. Before enumerating the candidate solutions of a branch, the upper and lower bounds of the branch are checked relative to the evaluation of the best solution. If a branch cannot produce a solution better than the currently found best solution, the branch is discarded, and the procedure is executed. The procedure depends on the valid evaluation of the upper and lower bounds of the region / branch of the search space (e.g., the existence of solutions in the set). If no bounds are available, the branch-and-bound procedure degenerates into performing an exhaustive search.
[0149] Figure 15 illustrates an example of a flowchart, showing a first exemplary branch-and-bound type procedure (e.g., a procedure at least partially based on a branch-and-bound algorithm) for matching a set of requesting device locations to a set of installed device locations. In block 1501, the solution space of all possible mappings between devices is divided into a plurality of solution space subsets, and each is analyzed. The (e.g., the first) solution space subset is represented using a binary matrix to locate solutions within the solution space subset, for example, by calculating the search space and applying a user recursive algorithm (block 1503). Next, in block 1505, a test is performed to detect whether the solution space subset might include the solution. If so, the procedure proceeds to block 1513, where the analyzed solution subset is divided into smaller subsets (e.g., to generate a second and a third solution subset), and the procedure then loops back to block 1503 (previously described), where, for example, the second solution subset is analyzed. The negative branch from block 1505 leads to block 1507, where the empty subset of solutions is eliminated. Next, a test is performed in block 1509 to determine if any subset of solutions remains. If so, the program loops back to block 1503 (previously described) to analyze the remaining subset of solutions. The negative branch from block 1509 leads to block 1511, where the optimal mapping solution has been found. Branch-and-bound type programs can be robust and guarantee the location of the optimal mapping solution. However, they can be time-consuming, as with, for example, greedy type computation schemes.
[0150] Figure 16 shows a flowchart illustrating a second exemplary branch-bounding type procedure for matching a set of requested device locations to a set of installed device locations by analyzing segments of the solution space for possible locations and / or distances. The procedure begins at block 1601, where an initial guess of the mapped solution is formed. Then, at block 1603, one or more segments of the solution space that approximate a mapped solution that is less accurate than the initial guess are discarded. These segments of the solution space can be conceptualized as branches of a tree, where each branch represents a subset of the candidate solution set. Before enumerating the candidate solutions for a branch, the branch is checked against an upper bound for evaluation of the best solution and a lower bound for evaluation on the branch. If a branch cannot produce a better solution than the currently found best solution, the branch can be discarded, and the procedure continues. In some embodiments, this procedure depends on valid evaluations of the upper and lower bounds of the region / branch of the search space (e.g., the existence of possible solutions in a subset of the solution space).
[0151] The branch-and-bound procedure of Figure 16 proceeds to block 1605, where the solution space is reduced until less accurate approximations of the optimal solution (e.g., all) are discarded. Then, in block 1611, the optimized mapping solution is completed. The procedure of Figure 16 guarantees finding the optimal mapping. In some cases, this procedure may be slow (e.g., it may take several minutes), but it is faster than performing an exhaustive search. In some embodiments, the results of the greedy procedure of Figure 12B and / or Figure 13 can be used to provide an initial guess of the mapping solution (Figure 16, block 1601), thereby guiding the branch-and-bound procedure of Figure 16.
[0152] Figure 17 depicts a set of examples of requested device locations and installed device locations, used to identify a portion of the enclosure of area B195. The depiction of the BIM (Revit) file 1700 for area B195 shows the requested device location 1712 and the installed location 1714 of the UWB sensor. The normalized flat representation 1710 of the Revit file 1700 depicts the requested sensor locations on the xy diagram.
[0153] In some cases, the branching procedures of Figures 15 and 16 may have difficulty distinguishing closely spaced pairs of devices (e.g., devices that are at most about 9 cm apart from each other according to BIM (Revit) files). According to some embodiments, the branching procedure can be performed using requested (e.g., planned) devices spaced apart by at least one minimum distance (e.g., distance limit), or by manually mapping devices that are too close to each other to allow for distinction between devices.
[0154] Figure 18 depicts an example of a closely spaced pair of devices 1851 within a portion of an enclosure. In some cases, when mapping a set of request device locations to measurement device locations, it may be difficult to distinguish between individual devices within the device pair 1851. For example, according to a BIM (Revit) file, a first sensor 1811 and a second sensor 1813 are separated by less than about 9 cm. According to a BIM (Revit) file, a third sensor 1815 and a fourth sensor 1817 are separated by less than about 9 cm. In some embodiments, request device locations and / or mounting device locations are selected to provide at least a sufficient amount of physical distance between the device pair such that the first sensor 1811 can be distinguished from the second sensor 1813. In some embodiments, manual mapping via mounting device locations may be performed to distinguish the first sensor 1811 from the second sensor 1813.
[0155] In some embodiments, the greedy type procedure of FIG12B and / or FIG13 may be combined with the branching procedure of FIG15 and / or FIG16. In some embodiments, instead of updating device locations one at a time, device locations may be updated simultaneously and / or concurrently. In some embodiments, asymmetric constraints may be imposed on certain dimensions of the device location. For example, the sensor may be in the ceiling or wall-mounted at or near typical or average human height. In some embodiments, weights or adjustment factors may be added to one or more dimensions of the device location. In some embodiments, the device location may be measured manually and / or using a drone (e.g., a traveler). In some embodiments, one or more additional constraints are added. One example of a constraint is that the device cannot move too far from point C. Another example of a constraint is that the device cannot move outside a restricted or defined area.
[0156] In some embodiments, a cost function is used in the logic scheme (e.g., in greedy and / or branch-and-bound programs). An example of a cost function may be an L2 distance comparison device using an L2 metric (such as the square root of (α-β)²), where α refers to the requested distance matrix α (Figure 11B), and β1130 refers to the measured distance matrix β1132. In some embodiments, the cost function may be defined as: Cost(a15 = ∑ (α1i5 - βi5)², where α1i5 = ꟾꟾai – a5ꟾꟾ. In some embodiments, the device may be a UWB device (e.g., an SGC or a tag). In some embodiments, the device may use any geolocation technology (e.g., using RF, Bluetooth, GPS, geolocation technology, and / or RFID tags). In some embodiments, a traveler (e.g., alive or not alive) scans (e.g., RFID) the tag.
[0157] In some embodiments, the actual installation position of the device is determined (e.g., correcting for device position differences due to variations in fixture placement compared to the planned position). This can be viewed as a position optimization problem involving tracking the optimal position. An iterative correction procedure for installation position errors (e.g., fixture or device position) can be performed. In some embodiments, the iterative correction procedure begins at the position with the largest error. In some embodiments, the iterative correction procedure focuses on all erroneous device positions, regardless of the magnitude of the error. Iterating over and correcting the positions of all devices can have a higher success rate when a device is installed closer to its requested position and other devices are positioned further away from their requested positions.
[0158] In some embodiments, at least two (e.g., all) device positions are corrected sequentially (e.g., one device position at a time). In some embodiments, at least two (e.g., all) device positions are corrected in parallel. Compared to sequential position correction, the parallel position correction method can produce a faster convergence time for determining the optimal mapping. Minimization can occur in Nx3 dimensions, rather than three (3) dimensions.
[0159] In some embodiments, asymmetric constraints are strategically imposed on certain dimensions. For example, if we know that the vertical (z) dimension must be between the minimum and maximum z values horizontally from the floor, we can add an additional adjustment factor to the cost function to be minimized to account for this z constraint. In some embodiments, symmetric constraints are applied to dimensions (e.g., due to enclosure structural requirements or characteristics). For example, when devices are asymmetrically configured throughout a facility (such as an entire floor) or enclosures (such as rooms in a facility (e.g., a building)). Such asymmetry can reduce the error in coupling actual device locations with requested device locations (e.g., eliminating any symmetrical arrangement on the set of requested device locations and the set of actual device locations).
[0160] In some embodiments, measurements from actual ground-based fixed objects / devices are used as SGC points. Weights are added to the device location error. These weights may correspond to the confidence level of the location error (e.g., the probability that the location error is true). Weights may be selected such that a first device closer to the actual ground location of the fixed object / device has a larger weight than a second device farther from the fixed object / device relative to the first device. The installation locations of one or more devices may be measured and / or verified in the field (e.g., by a traveler), wherein higher weights are assigned to such measured and / or verified devices relative to unmeasured and / or unverified devices. Various strategies for finding the optimal approach may be used.
[0161] Figure 19 shows an example of Graph 1900, illustrating an illustrative relationship between the mean and distance error of the mapping error between a set of requested device locations and a set of installed device locations using 100 iterations of the greedy procedure of Figure 12B and / or Figure 13. At a distance error of one (1) meter, the mean mapping error is approximately 3.3. At a distance error of two (2) meters, the mean mapping error increases to approximately 4.6. These mapping errors would not occur in the context of the branch-and-bound procedure of Figures 15 and 16. However, the greedy procedure can be used to form a reasonable initial mapping guess or evaluation, which is used by the branch-and-bound procedure as an initial starting point to provide the optimal mapping. Therefore, a logic scheme can include two or more logic scheme modules in some order. For example, initially, a less time-consuming logic scheme module (e.g., including a mathematical scheme) is used to produce a first result, which is then used by a more time-consuming logic scheme module (e.g., including a mathematical scheme) to produce a second result. The second result provides a more accurate result than the first result produced solely by the first logic scheme module, and takes less time than the second logic scheme module alone.
[0162] Figure 20 shows an example of a graph illustrating the illustrative relationship between the mean and distance error of a mapping error between a set of requested device locations and a set of installed device locations, using a greedy procedure applied to a closed body designated as part of region B195 (Figure 17). At a distance error of one (1) meter, the mean mapping error is approximately 1.0. At a distance error of two (2) meters, the mean mapping error increases to approximately 2.6.
[0163] Figure 21 shows an example of a portion of the enclosure, illustrating the request device location according to the system plan and the installed device location based at least in part on visual inspection. The request device location 2110 for the UWB SGC is shown, as well as the installed device location 2112 for the UWB SGC. The installed device location 2112 can be determined based at least in part on visual inspection.
[0164] Figure 22 illustrates an example of a set of correction error vectors that correlates the requested device location according to the system plan with the installed device location based at least in part on visual inspection. A requested device location 2210 for the UWB SGC and an installed device location 2212 for the UWB SGC are shown. The installed device location 2212 can be determined at least in part based on visual inspection. A correction error vector 2214 is determined for the UWB SGC. The correction error vector 2214 includes correction factors that are applied to the x, y, and z coordinates of the requested device location 2210 to reach the installed device location 2212. For example, to correct the requested device location of a fixture identified as MS-32, a correction error vector of (0.3, 0.4, -0.1) must be applied to the requested device location of fixture MS-32 to reach the installed device location of fixture MS-32.
[0165] Figure 23 illustrates an example flowchart showing an exemplary procedure 2300 for mapping a set of requested device locations to a set of actual installed device locations. The procedure begins by receiving a system design 2310. The system design 2310 includes a set of requested fixture locations for enclosures and / or facilities. An ABS-MAP-0 2312 file is generated from the system design 2310. The ABS-MAP-0 2312 file includes the coordinate (x, y, z) locations of the fixtures in the system design 2310. The ABS-MAP-0 2312 file is fed to a procedure 2314 for resolving "random installation" problems. The procedure 2314 uses the ABS-MAP-0 2312 file to generate an ABS-MAP-1 2316 file, which proposes a mapping of the sensor to the fixture locations given in the ABS-MAP-0 2312 file. The ABS-MAP-1 2316 file is used by program 2318 to resolve the "position error" problem, in order to generate the ABS-MAP-3 2322 file. The ABS-MAP-3 2322 file contains the sensor's mapping to the true x, y, z position.
[0166] A set of diagrams 2313 is extracted from the system design 2310. This set of diagrams 2313 is used to install fixtures and devices in block 2315. A set of paired distance measurements 2320 is prepared and used to generate the REL-MAP-0 2328 file. The REL-MAP-0 2328 file includes the actual distance between the installed devices. The REL-MAP-0 2328 file is used by the procedure 2314 to solve the "random installation" problem to generate the ABS-MAP-1 2316 file. The REL-MAP-0 2328 file is also used by the procedure 2318 to solve the "position error" problem to generate the ABS-MAP-3 2322 file.
[0167] The ABS-TRUTH 2326 file is prepared using mounting fixtures and devices 2315. The ABS-TRUTH 2326 file includes the true x, y, z positions of the fixtures and sensors (which may be unknown to us). The ABS-TRUTH 2326 file and the ABS-MAP-3 2322 file are used to minimize error 2324 and / or make error 2324 equal to zero. In some embodiments, the procedure 2314 for solving the "random installation" problem and / or the procedure 2318 for solving the "position error" problem can be executed using a first logic scheme module (e.g., any of the greedy programs in Figures 12 and 13) and / or any of the second logic scheme modules (e.g., the branch and delimitation programs in Figures 15 and 16).
[0168] Figure 24A illustrates an example of a mathematical operation that uses known distances between devices to determine unknown coordinates (e.g., location) of the devices. For example, when the requested distance between virtual devices (denoted as matrix α) is known, the requested distance between real devices (denoted as matrix δβ) is known, and the coordinates between the requested virtual devices are known (e.g., from a BIM file), the coordinates of the real devices can be determined, for example, by finding a suitable arrangement operation R. The relationship between coordinates and distance is represented by operation γ.
[0169] Figure 24B shows examples of devices located at actual positions 2451, 2452, 2453, 2454, and 2455. The actual distances between the devices are listed as follows: (i) distance between 2451 and 2452 = 25.1 units, (ii) distance between 2451 and 2453 = 26.0 units, (iii) distance between 2451 and 2454 = 50.2 units, and (iv) distance between 2451 and 2455 = 61.0 units. The possible solution space is represented by the set 2470 of solutions a1, a2, a3, a4, and a5, each representing a possible configuration of the device. The optimal matching system between the actual devices and the solution space is shown in a3.
[0170] Figure 25 illustrates an example of a procedure 2500 involving a logic scheme 2504 (part of the commissioning system) and a network configuration file 2505. Procedure 2500 begins by collecting building information from architectural drawings 2501. Using the building information provided by the architectural drawings, the designer or design team establishes an interconnection diagram 2502, which includes a plan for the network at specific locations. Once network components such as IGUs and controllers are installed, the relative positions between devices can be measured by analyzing electromagnetic transmissions as described herein. The measured location and network ID information 2503 is then passed to the logic scheme 2504, which pairs the network ID (or other unique information) of a component (e.g., a device) with its location within a network depicted (e.g., hierarchical) as described in the interconnection diagram 2502. The location of the associated device, obtained or derived from the interconnection diagram, is paired with the network ID or other unique information. The pairing information is stored in the network configuration file 2505. No changes to the network configuration file are required unless changes are made to the network or device installation. However, if changes are made, for example, the IGU is replaced by an IGU with a different window controller, then logic scheme 2504 is used to determine the change and update the network configuration file 2505 accordingly.
[0171] As a teaching example, consider an interconnection diagram of window controllers located at three positions along a building wall (each associated with the lower left corner of an associated window): a first position, which has a first window controller at (0 ft, 0 ft, 0 ft); a second position, which has a second window controller at (5 ft, 0 ft, 0 ft); and a third position, which has a third window controller at (5 ft, 4 ft, 0 ft). The measurement unit "foot" is abbreviated as "ft". When measuring the coordinates of the three controllers, one of the controllers can be set as a reference position (e.g., the controller operator sets the controller in the first position as a reference point). From this reference point, the coordinates of the other two windows are measured, resulting in window coordinates of (5.1ft, .2ft, .1ft) and (5.0ft, 3.9ft, -.1ft). The logic scheme (e.g., debugging logic) then readily perceives that a window with coordinates (5.1ft, .2ft, .1ft) is in a second position and a window with coordinates (5.0ft, 3.9ft, -.1ft) is in a third position. Information describing the physical and hierarchical locations of the components in the interconnection diagram can then be paired with network ID information (or other unique information), which can be transmitted to the logic scheme via the network when the location of a network component is determined.
[0172] In some embodiments, the logic scheme includes one or more logic modules, each incorporating mathematical methods (e.g., methods). For example, the logic scheme may incorporate statistical methods to match physical device coordinates with coordinates listed on an interconnect diagram. In one embodiment, matching is performed by iterating through various permutations of assigning devices to each of possible interconnect locations and then observing how closely the locations of other components (determined using relative distance measurements) correspond to the locations of other network components as specified on the interconnect diagram. In some embodiments, network components are matched to coordinates listed on the interconnect diagram by selecting permutations that minimize the mean square error of the distances from one or more components (e.g., individual components) to their respective closest component locations specified by the interconnect diagram.
[0173] This automatic (e.g., automatic debugging) method can be useful, for example, when a new component (e.g., a device) is added to the network, an old component is removed from the network, or an old component is replaced by a new component on the network. In the case of a new component, the component can be identified by the network and its location can be determined by one of the methods described above. The logic can then update the network configuration file to reflect the new component. The logic can update the network configuration file when the component is removed and / or no longer identified by the network. In the case of a component being replaced, the logic can notice the absence of the component on the network and the presence of a new component reported from the same or substantially the same coordinates as the missing component. The logic can presume that the component has been replaced and therefore update the network configuration file using the network ID of the new component.
[0174] Figure 26 illustrates program 2600, in which a logic scheme generates the network topology portion of a network configuration file. Window devices (or other network connection devices) are installed at location 2601, and network components at least partially determine the network's (e.g., hierarchical) structure 2602 by communicating with each other. The hierarchical structure of the network can be determined when each component reports its network ID (or other ID) information to network components above it and the network ID (or other ID) information of any device below it in that hierarchy. For example, a device (e.g., a sensor or IGU) may report to a local controller (e.g., WC), which may report to an NC, which may report to an MC. By repeating this pattern for each component on the network, the system hierarchy can be determined automatically. Thus, the network avoids network topology errors that can be easily introduced by deviations from the interconnection pattern that occurs during installation. This self-determining structure is then passed to logic scheme 2604, which can use the device's measurement location 2603 when establishing network configuration file 2605.
[0175] The instructions and logic used to perform the commissioning procedures described herein can be deployed on any suitable processing device, including any controller on a network with sufficient memory and processing power. Examples include a master controller, a network controller, and a local controller. In other embodiments, the logic scheme (e.g., for commissioning a system) is executed on a dedicated management processor. The dedicated management processor may perform (e.g., commissioning or related management functions only) and / or communicate with an associated network. In some embodiments, the logic scheme resides outside a facility having means to be deployed, commissioned, or otherwise connected to a network. For example, the logic scheme may reside at a remote monitoring location, a control console, or on a network of any auxiliary system such as a building lighting system, BMS, building thermostat system (e.g., NEST (Nest Labs of Paloalto, California)) or the like. Examples of such systems, their usage, and related software are described in International Patent Application Serial No. PCT / US15 / 64555, filed December 8, 2015, entitled "MULTIPLE INTERACTING SYSTEMS AT A SITE," and International Patent Application Serial No. PCT / US15 / 19031, filed March 5, 2015, entitled "MONITORING SITES CONTAINING SWITCHABLE OPTICAL DEVICES AND CONTROLLERS," each of which is incorporated herein by reference in its entirety. In some embodiments, the commissioning system is executed on shared computing resources, such as a rented server cluster or the cloud.
[0176] In some embodiments, the facility's network is operatively coupled to the facility's "digital twin." In some embodiments, the control system and / or control interface includes or is operatively coupled to the facility's "digital twin." For example, the digital twin may include a representative model (e.g., a two-dimensional or three-dimensional virtual depiction) containing structural elements (e.g., walls and doors), building fixtures, non-fixed objects (e.g., furnishings), and / or one or more interactive target devices (e.g., optically switchable windows, sensors, transmitters, and / or media displays). The digital twin may reside on a server accessible via a graphical user interface or a virtual reality (VR) user interface. The VR interface may include augmented reality (AR) samples. For example, the digital twin may be used in conjunction with monitoring and services of building infrastructure and / or in conjunction with control of any interactive target devices. When a new device is installed in a facility (e.g., in a room) and is operatively coupled to a network, the new device can be detected (e.g., and the new device can be included in a digital twin). Detection of new devices and / or inclusion of new devices in a digital twin can be performed automatically and / or manually. For example, detection of new devices and / or inclusion of new devices in a digital twin can be performed without (e.g., any) manual intervention. Whether present in the initial design plan of the enclosure or added later, complete details of (e.g., each) device (including any unique identifiers) can be stored in the digital twin, network configuration files, interconnection diagrams, and / or architectural drawings (e.g., BIM files such as Revit files) to facilitate monitoring, service, and / or control functions.
[0177] In some embodiments, a digital twin includes a digital model of a facility. The digital twin may consist of a virtual three-dimensional (3D) model of the facility. The facility may include static and / or dynamic elements. For example, static elements may include a representation of structural features of the facility (e.g., fixed structures), and dynamic elements may include a representation of interactive devices with controllable features. The 3D model may include visual elements. Visual elements may represent (multiple) fixed structures of the facility. Fixed structures may include walls, floors, doors, shelves, structures (e.g., walk-in closets), fixed lights, electrical panels, elevator shafts, or windows. Fixed structures may be attached to structures. Visual elements may represent (multiple) non-fixed structures. Non-fixed structures may include people, chairs, movable lights, tables, sofas, movable closets, or media projections. Non-fixed structures may include moving elements. Visual elements may represent facility features including floors, walls, doors, windows, furniture, appliances, people, and / or (multiple) interactive devices. Digital twins can be analogous to virtual worlds used in computer games and simulations, representing the environment of a real facility. The creation of a 3D model may include analyzing a Building Information Modeling (BIM) model (e.g., an Autodesk Revit file) to derive representations of (e.g., basic) fixed structures and movable objects such as doors, windows, and elevators. In some embodiments, the digital twin (e.g., a 3D model of the facility) is defined, at least in part, using one or more sensors (e.g., optical, acoustic, pressure, gas velocity, and / or (multiple) distance measurement sensors) to determine the layout of the real facility. The use of sensor data may (e.g., exclusively) be used to model the environment of an enclosed space. The use of sensor data may be combined with the use of a 3D model of the facility (e.g., a BIM model) to model and / or control the environment of an enclosed space. A BIM model of the facility may be obtained before, during (e.g., immediately), and / or after the facility has been constructed. The BIM model of the facility can be updated during the operation and / or commissioning of the facility (e.g., in real time) (e.g., manually and / or using sensor data).
[0178] In some embodiments, dynamic elements in a digital twin include device settings. Device settings may include (e.g., existing and / or predetermined): color values, temperature settings, and / or light switching settings. Device settings may include available actions in a media display. Available actions may include menu items or hotspots in the displayed content. A digital twin may include a device and / or movable object (e.g., a chair or door) and / or a virtual representation of the occupant (from a camera or from an actual image of the stored avatar). In some embodiments, dynamic elements may be devices newly connected to the network and / or removed from the network (e.g., due to a failure or relocation). A digital twin may reside in any circuit system (e.g., a processor) operatively coupled to the network. The circuit system residing in the digital circuit system may be in a facility, outside the facility, and / or in the cloud. In some embodiments, a two-way (e.g., bidirectional) connection is maintained between the digital twin and the physical circuit system. The physical circuit system may be part of a control system. The physical circuitry system may be located in a main controller, network controller, floor controller, local controller, or any other node in the processing system (e.g., within or outside the facility). For example, a bidirectional link may be used by the physical circuitry system to inform a digital twin of changes in dynamic and / or static elements, allowing the 3D representation of the enclosure to be updated, for example, immediately or later (e.g., at a specified time). The bidirectional link may also be used by the digital twin to inform the physical circuitry system of manipulation (e.g., control) actions entered by a user on a mobile circuitry system. The mobile circuitry system may be a remote controller (e.g., including a handheld pointer, manual input buttons, or a touchscreen).
[0179] The methods, systems, and / or devices described herein may include a control system. The control system may communicate with any of the devices described herein (e.g., sensors). Sensors may be of the same or different types, for example, as described herein. For example, the control system may communicate with a first sensor and / or a second sensor. The control system may control one or more sensors. The control system may control one or more components of a building management system (e.g., lighting, security, and / or air conditioning systems). The controller may regulate at least one (e.g., environmental) characteristic of the enclosure. The control system may use any component of the building management system to regulate the enclosure environment. For example, the control system may regulate the energy supplied by heating and / or cooling elements. For example, the control system may regulate the rate at which air flows into and / or out of the enclosure via vents. The control system may include a processor. The processor may be a processing unit. The controller may include a processing unit. The processing unit may be a central processing unit. The processing unit may include a central processing unit (hereinafter referred to as a "CPU"). The processing unit may be a graphics processing unit (hereinafter referred to as a "GPU"). Multiple controllers or control mechanisms (e.g., including computer systems) may be programmed to implement one or more methods of the present invention. A processor may be programmed to implement the methods of the present invention. A controller may control at least one component forming the system and / or device disclosed herein.
[0180] The controller may monitor and / or guide changes in the operating conditions (e.g., physical) of the devices, software, and / or methods described herein. Control may include regulation, manipulation, limitation, guidance, monitoring, adjustment, modulation, alteration, modification, constraint, inspection, directing, or management. Control (e.g., performed by the controller) may include attenuation, modulation, alteration, management, suppression, discipline, regulation, constraint, supervision, manipulation, and / or guidance. Control may include controlling a control variable (e.g., temperature, power, voltage, and / or profile). Control may include real-time or offline control. Calculations utilized by the controller may be performed real-time or offline.
[0181] In some embodiments, a plurality of devices are operatively (e.g., communicatively) coupled to a control system. The plurality of devices may be located in a facility (e.g., including a building and / or room). The control system may include a hierarchy of controllers. Devices may include transmitters, sensors, or windows (e.g., IGUs). Devices may be any of the devices disclosed herein. At least two of the plurality of devices may be of the same type. For example, two or more IGUs may be coupled to the control system. At least two of the plurality of devices may be of different types. For example, sensors and transmitters may be coupled to the control system. Sometimes, the plurality of devices may comprise at least 20, 50, 100, 500, 1000, 2500, 5000, 7500, 10000, 50000, 100000, or 500000 devices. The plurality of devices can be any number between the aforementioned numbers (e.g., 20 to 500,000 devices, 20 to 50 devices, 50 to 500 devices, 500 to 2,500 devices, 1,000 to 5,000 devices, 5,000 to 10,000 devices, 10,000 to 100,000 devices, or 100,000 to 500,000 devices). For example, the number of windows in a floor can be at least 5, 10, 15, 20, 25, 30, 40, or 50. The number of windows in a floor can be any number between the aforementioned numbers (e.g., 5 to 50, 5 to 25, or 25 to 50). Sometimes, the devices can be in a multi-story building. At least a portion of the floors of a multi-story building can have devices controlled by a control system (e.g., at least a portion of the floors of a multi-story building can be controlled by a control system). For example, a multi-story building may have at least 2, 8, 10, 25, 50, 80, 100, 120, 140, or 160 floors controlled by the control system. The number of floors (e.g., devices therein) controlled by the control system may be any number between the aforementioned numbers (e.g., 2 to 50, 25 to 100, or 80 to 160). A floor may have an area of at least about 150 m², 250 m², 500 m², 1000 m², 1500 m², or 2000 square meters (m²). A floor may have an area between any of the aforementioned floor area values (e.g., about 150 m² to about 2000 m², about 150 m² to about 500 m², about 250 m² to about 1000 m², or about 1000 m² to about 2000 m²). The building may contain an area of at least approximately 1,000 square feet (sqft), 2,000 sqft, 5,000 sqft, 10,000 sqft, 100,000 sqft, 150,000 sqft, 200,000 sqft, or 500,000 sqft.The building may comprise an area between any of the areas described above (e.g., approximately 1,000 sqft to approximately 5,000 sqft, approximately 5,000 sqft to approximately 500,000 sqft, or approximately 1,000 sqft to approximately 500,000 sqft). The building may comprise an area of at least approximately 100 m², 200 m², 500 m², 1,000 m², 5,000 m², 10,000 m², 25,000 m², or 50,000 m². The building may comprise an area between any of the areas described above (e.g., approximately 100 m² to approximately 1,000 m², approximately 500 m² to approximately 25,000 m², or approximately 100 m² to approximately 50,000 m²). The facility may comprise commercial or residential buildings. Commercial buildings may include (multiple) tenants and / or (multiple) owners. Residential facilities may comprise multi-family or single-family buildings. Residential facilities may include mixed-use residential buildings. Residential facilities may include single-family homes. Residential facilities may include multi-family homes (e.g., apartments). Residential facilities may include townhouses. Facilities may include residential and commercial portions. Facilities may contain at least about 1, 2, 5, 10, 50, 100, 150, 200, 250, 300, 350, 400, 420, 450, 500, or 550 windows (e.g., tinted windows). These windows may be divided into zones (e.g., at least in part based on the location, facade, floor, ownership, utilization rate, any other assignment measure, random assignment, or any combination thereof of the enclosure (e.g., room) containing these windows). The allocation of windows to zones may be static or dynamic (e.g., based on a trial-and-error method). Each zone may contain at least about 2, 5, 10, 12, 15, 30, 40, or 46 windows.
[0182] In some embodiments, the sensors are operatively coupled to at least one controller and / or processor. Sensor readings may be obtained by one or more processors and / or controllers. The controller may include a processing unit (e.g., a CPU or GPU). The controller may receive input (e.g., from at least one sensor). The controller may include circuitry, electrical wiring, optical wiring, communication terminals, and / or receptacles. The controller may deliver outputs. The controller may include multiple (e.g., sub) controllers. The controller may be part of a control system. The control system may include a main controller, floor (e.g., including a network controller) controller, or a local controller. A local controller may be a window controller (e.g., controlling an optically switchable window), an enclosure controller, or a component controller. The controller may be a device controller (e.g., any device disclosed herein). For example, the controller may be part of a hierarchical control system (e.g., including a main controller that directs one or more controllers, such as floor controllers, local controllers (e.g., window controllers), enclosure controllers, and / or component controllers). The physical location of the controller type in a hierarchical control system may change. For example, at a first time: a first processor may act as a main controller, a second processor may act as a floor controller, and a third processor may act as a local controller. At a second time: a second processor may act as a main controller, a first processor may act as a floor controller, and a third processor may maintain the role of a local controller. At a third time: a third processor may act as a main controller, a second processor may act as a floor controller, and a first processor may act as a local controller. The controller may control one or more devices (e.g., directly coupled to the devices). The controller may be located close to one or more devices it is controlling. For example, the controller may control optically switchable devices (e.g., IGUs), antennas, sensors, and / or output devices (e.g., light sources, sound sources, odor sources, gas sources, HVAC outlets, or heaters). In one embodiment, the floor controller may direct one or more window controllers, one or more enclosure controllers, one or more component controllers, or any combination thereof. The floor controller may include a floor controller. For example, a floor (e.g., including a network) controller may control a plurality of local (e.g., including window) controllers. Multiple local controllers may be located within a portion of the facility (e.g., a portion of a building). A portion of the facility may be a floor of the facility. For example, a floor controller may be assigned to a floor. In some embodiments, a floor may contain multiple floor controllers, depending on the floor size and / or the number of local controllers coupled to the floor controllers. For example, a floor controller may be assigned to a portion of a floor. For example, a floor controller may be assigned to a portion of the local controllers located within the facility. For example, a floor controller may be assigned to a portion of a floor of the facility.The main controller may be coupled to one or more floor controllers. Floor controllers may be located within the facility. The main controller may be located within or outside the facility. The main controller may be located in the cloud. The controller may be part of or operatively coupled to a building management system. The controller may receive one or more inputs. The controller may generate one or more outputs. The controller may be a single-input single-output (SISO) controller or a multiple-input multiple-output (MIMO) controller. The controller may interpret the received input signals. The controller may acquire data from one or more components (e.g., sensors). Acquisition may include receiving or extracting. Data may include measurement, estimation, determination, generation, or any combination thereof. The controller may include feedback control. The controller may include feedforward control. Control may include switching control, proportional control, proportional-integral (PI) control, or proportional-integral-derivative (PID) control. Control may include open-loop control or closed-loop control. The controller may include closed-loop control. The controller may include open-loop control. The controller may include a user interface. The user interface may include (or be operatively coupled to) a keyboard, keypad, mouse, touchscreen, microphone, voice recognition device, camera, imaging system, or any combination thereof. Outputs may include a display (e.g., a screen), speaker, or printer. The controller may be a manual or non-manual controller. The controller may be an automatic controller. The controller may operate on request. The controller may be a programmable controller. The controller may be programmable. The controller may include a processing unit (e.g., a CPU or GPU). The controller may receive input (e.g., from at least one sensor). The controller may deliver output. The controller may include multiple (e.g., sub) controllers. The controller may be part of a control system. The control system may include a main controller, floor controllers, local controllers (e.g., enclosure controllers or window controllers). The controller may receive one or more inputs. The controller may generate one or more outputs. The controller may be a single-input single-output (SISO) controller or a multiple-input multiple-output (MIMO) controller. The controller may interpret the received input signals. The controller may acquire data from one or more sensors. Acquisition may include receiving or extracting. Data may include measurement, estimation, judgment, generation, or any combination thereof. The controller may include feedback control. The controller may include feedforward control. Control may include switching control, proportional control, proportional-integral (PI) control, or proportional-integral-derivative (PID) control. Control may include open-loop control or closed-loop control. The controller may include closed-loop control. The controller may include open-loop control. The controller may include a user interface. The user interface may include (or be operatively coupled to) a keyboard, keypad, mouse, touchscreen, microphone, voice recognition package, camera, imaging system, or any combination thereof. Output may include a display (e.g., a screen), speaker, or printer.
[0183] Figure 27 illustrates a schematic example of a computer system 2700, which is programmed or otherwise configured for use in one or more operations of any of the methods provided herein. The computer system can control (e.g., guide, monitor, and / or regulate) various features of the methods, apparatus, and systems of the present invention, such as controlling heating, cooling, lighting, and / or ventilation of an enclosure, or any combination thereof. The computer system may be part of, or communicate with, any sensor or sensor group disclosed herein. The computer may be coupled to one or more mechanisms and / or any part thereof disclosed herein. For example, the computer may be coupled to one or more sensors, valves, switches, lights, windows (e.g., IGUs), motors, pumps, optical components, or any combination thereof.
[0184] A computer system may include a processing unit (e.g., 2706) (also referred to herein as "processor," "computer," and "computer processor"). A computer system may include memory or memory locations (e.g., 2702) (e.g., random access memory, read-only memory, flash memory), electronic storage units (e.g., 2704) (e.g., hard disk), communication interfaces for communicating with one or more other systems (e.g., 2703) (e.g., network adapter), and peripheral devices (e.g., 2705), such as caches, other memories, data storage devices, and / or electronic display adapters. In the example shown in Figure 27, memory 2702, storage unit 2704, interface 2703, and peripheral device 2705 communicate with processing unit 2706 via a communication bus (solid line) (such as a motherboard). The storage unit may be a data storage unit (or database) for storing data. A computer system may be operatively coupled to a computer network ("network") via a communication interface (e.g., 2701). The network may be the Internet, an inter-enterprise network, or an intranet and / or inter-enterprise network communicating with the Internet. In some cases, the network is a telecommunications and / or data network. The network may include one or more computer servers that enable distributed computing, such as cloud computing. In some cases, the network may implement peer-to-peer networking via the computer system, which allows devices coupled to the computer system to act as clients or servers.
[0185] The processing unit can execute machine-readable instruction sequences that can be embodied in a program or software. The instructions can be stored in a memory location such as memory 2702. These instructions can be directed to the processing unit, which can then be programmed or otherwise configured to implement the methods of the present invention. Examples of operations performed by the processing unit may include fetching, decoding, executing, and writing back. The processing unit can interpret and / or execute instructions. The processor may include a microprocessor, data processor, central processing unit (CPU), graphics processing unit (GPU), system-on-a-chip (SOC), coprocessor, network processor, application-specific integrated circuit (ASIC), application-specific instruction set processor (ASIP), controller, programmable logic device (PLD), chipset, field-programmable gate array (FPGA), or any combination thereof. The processing unit may be a part of a circuit such as an integrated circuit. One or more other components of system 2700 may be included in the circuit.
[0186] The storage unit may store files, such as drivers, libraries, and saved programs. The storage unit may store user data (e.g., user preferences and user programs). In some cases, the computer system may include one or more additional data storage units located outside the computer system, such as on a remote server that communicates with the computer system via an intranet or the Internet.
[0187] The processing unit (e.g., a computer system) may communicate with one or more remote computer systems via a network. For example, the computer system may communicate with a remote computer system belonging to a user (e.g., an operator). Examples of remote computer systems include personal computers (e.g., portable PCs), tablet PCs (e.g., Apple® iPad, Samsung® Galaxy Tab), telephones, smartphones (e.g., Apple® iPhone, Android-enabled devices, Blackberry®), or personal digital assistants. The user may access the computer system via a network. The processing unit may include a CPU or GPU. The processing unit may include a media player. The processing unit may be included in a circuit board. The circuit board may include an NVIDIA® Jetson Nano™ development kit (e.g., a 2GB or 4GB development kit) or a Raspberry-Pi kit (e.g., a 1GB, 2GB, 4GB, or 8GB development kit). The processing unit is operatively coupled to a plurality of ports, including at least one media port (e.g., display port, HDMI, and / or mini HDMI), USB, or audio / video jack, which may be included, for example, in a circuit board. The processing unit is operatively coupled to a Camera Serial Interface (CSI) or Display Serial Interface (DSI), for example, as part of a circuit board. The processing unit is configured to support communications such as Ethernet (e.g., gigabit Ethernet). The circuit board may include Wi-Fi functionality, Bluetooth functionality, or a wireless adapter. The wireless adapter may be configured to comply with wireless networking standards in the 802.11 protocol suite (e.g., USB 802.11ac). The wireless adapter may be configured to provide high-throughput wireless local area network (WLAN) in, for example, at least about 5 GHz frequency band. The USB port may have a transmission speed of at least about 480 megabits per second (Mbps), 4,800 Mbps, or 10,000 Mbps. At least one processor may include a synchronous (e.g., timing) processor. The processor's clock speed may have at least about 1.2 GHz, 1.3 GHz, 1.4 GHz, 1.5 GHz, or 1.6 GHz. The processing unit may include random access memory (RAM). The RAM may include dual data rate synchronous dynamic RAM (SDRAM). The RAM may be configured for use in mobile devices (e.g., laptops, tablets, or mobile phones, such as cell phones). The RAM may include low-power dual data rate (LPDDR) RAM. The RAM may be configured to allow channels of at least about 16, 32, or 64 bits wide.
[0188] The method described herein can be implemented by machine-executable code (e.g., a computer processor) stored in an electronic storage location of a computer system, such as, for example, in memory 2702 or electronic storage unit 2704. The machine-executable or machine-readable code may be provided in software form. During use, the processor 2706 may execute the code. In some cases, code may be retrieved from a storage unit and stored in memory for processor access. In some cases, electronic storage units may be excluded, and machine-executable instructions may be stored in memory.
[0189] The code may be pre-compiled and configured for use by a machine having a processor adapted to execute the code, or it may be compiled during the execution phase. The code may be provided in a programming language that can be selected to enable the code to be executed either pre-compiled or compile-time.
[0190] In some embodiments, the processor includes program code. The program code may be program instructions. The program instructions may cause at least one processor (e.g., a computer) to direct feedforward and / or feedback control loops. In some embodiments, the program instructions cause at least one processor to direct closed-loop and / or open-loop control schemes. Control may be based at least in part on one or more sensor readings (e.g., sensor data). A controller may direct a plurality of operations. At least two operations may be directed by different controllers. In some embodiments, different controllers may direct at least two of operations (a), (b), and (c). In some embodiments, different controllers may direct at least two of operations (a), (b), and (c). In some embodiments, a non-transitory computer-readable medium causes each different computer to direct at least two of operations (a), (b), and (c). In some embodiments, different non-transitory computer-readable media cause each different computer to direct at least two of operations (a), (b), and (c). Controllers and / or computer-readable media may direct any of the devices or components disclosed herein. A controller and / or computer-readable media may direct any operation of the methods disclosed herein.
[0191] In some embodiments, at least one sensor is operatively coupled to a control system (e.g., a computer control system). The sensor may include an accelerometer. The sensor may include a light sensor, an acoustic sensor, a vibration sensor, a chemical sensor, an electrical sensor, a magnetic sensor, a flow sensor, a motion sensor, a speed sensor, a position sensor, a pressure sensor, a force sensor, a density sensor, a distance sensor, or a proximity sensor. The sensor may include a temperature sensor, a weight sensor, a material (e.g., powder) content sensor, a unit of measurement sensor, a gas sensor, or a humidity sensor. The unit of measurement sensor may include a measurement sensor (e.g., height, length, width, angle, and / or volume). The unit of measurement sensor may include a magnetic, acceleration, orientation, or optical sensor. The sensor may transmit and / or receive sound (e.g., echo), magnetic, electronic, or electromagnetic signals. Electromagnetic signals may include visible light, infrared, ultraviolet, ultrasonic, radio wave, or microwave signals. The gas sensor may sense any of the gases described herein. Distance sensors can be a type of metrological sensor. Distance sensors can include optical sensors or capacitive sensors. Temperature sensors can include calorimeters, bimetallic strips, heat meters, exhaust thermometers, flame detectors, Gardon meters, Golay cells, heat flux sensors, infrared thermometers, microcalorimeters, microwave radiometers, net radiometers, quartz thermometers, resistance temperature detectors, resistance thermometers, silicon bandgap temperature sensors, special sensors (microwave / imagers), thermometers, thermistors, thermocouples, thermometers (e.g., resistance thermometers), or pyrometers. Temperature sensors can include optical sensors. Temperature sensors can include image processing. Temperature sensors can include cameras (e.g., IR cameras, CCD cameras). Pressure sensors may include barometers, barometers, booster gauges, Bourdon gauges, hot filament ionizers, ionizers, McLeod gauges, U-tube manometers, permanent downhole pressure gauges, pressure gauges, Pirani gauges, pressure sensors, pressure gauges, tactile sensors, or time-pressure gauges. Position sensors may include growth meters, capacitive displacement sensors, capacitive sensors, free-fall sensors, gravimeters, gyroscope sensors, collision sensors, inclinometers, integrated circuit piezoelectric sensors, laser rangefinders, laser surface velocity meters, laser radar, linear encoders, linear variable differential transformers (LVDTs), liquid capacitive inclinometers, odometers, photoelectric sensors, piezoelectric accelerometers, rate sensors, rotary encoders, rotary variable differential transformers, synchros, impact detectors, impact data loggers, tilt sensors, tachometers, ultrasonic thickness gauges, variable magnetoresistive sensors, or speed receivers.Optical sensors may include charge-coupled devices, colorimeters, contact image sensors, electro-optic sensors, infrared sensors, dynamic inductive detectors, light-emitting diodes (e.g., photosensors), optically addressable potential sensors, Nichols radiometers, fiber optic sensors, optical position sensors, photosensors, photodiodes, photomultiplier tubes, phototransistors, photodetectors, photoionization detectors, photomultipliers, photoresistors, photosensitive switches, phototubes, scintillation counters, Shack-Hartmann wavefront sensors, single-photon burst diodes, superconducting nanowire single-photon detectors, transition edge sensors, visible light photon counters, or wavefront sensors. One or more sensors may be connected to a control system (e.g., to a processor or a computer).
[0192] Figure 28 shows an example of a schematic cross-section of an electrochromic device 2800 according to some embodiments. An EC device coating is attached to a substrate 2802, a transparent conductive layer (TCL) 2804, an electrochromic layer (EC) 2806 (sometimes also referred to as a cathode dyeing layer or cathode coloring layer), an ion conducting layer or region (IC) 2808, a counter electrode layer (CE) 2830 (sometimes also referred to as an anode dyeing layer or anode coloring layer), and a second TCL 2814. Elements 2804, 2806, 2808, 2810, and 2814 are collectively referred to as an electrochromic stack 2820. A voltage source 2816, which can be used to apply a potential to the electrochromic stack 2820, enables the electrochromic coating to transition from, for example, a clear state to a colored state. In other embodiments, the order of the layers is reversed relative to the substrate. That is, the layers are arranged in the following order: substrate, TCL, relative electrode layer, ion-conducting layer, electrochromic material layer, TCL.
[0193] In various embodiments, ion-conducting regions (e.g., 2808) may be formed from a portion of the EC layer (e.g., 2806) and / or from a portion of the CE layer (e.g., 2810). In such embodiments, the electrochromic stack (e.g., 2820) may be deposited to include a cathode-dyed electrochromic material (EC layer) in direct physical contact with the anolyte-dyed opposing electrode material (CE layer). Ion-conducting regions (sometimes referred to as interface regions or substantially electronically insulating layers or regions that are ion-conducting) may be formed, for example, via heating and / or other processing steps at the junction of the EC layer and the CE layer. Examples of electrochromic devices (those manufactured without depositing dissimilar ion-conducting materials) can be found in U.S. Patent Application Serial No. 13 / 462,725, filed May 2, 2012, entitled "Electrochromic Devices," which is incorporated herein by reference in its entirety. In some embodiments, the EC device coating may include one or more additional layers, such as one or more passive layers. Passive layers may be used to improve certain optical properties, provide moisture, and / or provide scratch resistance. These and / or other passive layers may function to hermetically seal the EC stack 2820. Various layers, including transparent conductive layers (such as 2804 and 2814), may be treated with antireflective and / or protective layers (e.g., oxide and / or nitride layers).
[0194] In some embodiments, the electrochromic device is configured to (e.g., substantially) reversibly cycle between a clear state and a colored state. Reversibility may occur within the expected lifetime of the ECD. The expected lifetime may be at least about 5, 10, 15, 25, 50, 75, or 100 years. The expected lifetime may be any value between the aforementioned values (e.g., from about 5 years to about 100 years, from about 5 years to about 50 years, or from about 50 years to about 100 years). A potential may be applied to the electrochromic stack (e.g., 2820) such that available ions in the stack that can cause the electrochromic material (e.g., 2806) to be in a colored state are primarily residing in the opposing electrode (e.g., 2810) when the window is in a first hue state (e.g., clear). When the potential applied to the electrochromic stack is reversed, ions may be transported across the ion-conducting layer (e.g., 2808) to the electrochromic material and cause the material to enter a second hue state (e.g., colored state).
[0195] It should be understood that the reference to the transition between the clear and tinted states is non-limiting and represents only one example among many instances of feasible electrochromic transitions. Unless otherwise specified, whenever a reference is made to a clear to tinted transition, the corresponding apparatus or procedure encompasses other optical state transitions, such as non-reflective to reflective and / or transparent to opaque transitions. In some embodiments, the terms "clear" and "bleached" refer to optically neutral states, such as untinted, transparent, and / or translucent. In some embodiments, the "color" or "hue" of the electrochromic transition is not limited to any wavelength or wavelength range. The selection of suitable electrochromic materials and relative electrode materials can control the associated optical transitions (e.g., from a tinted state to an untinted state).
[0196] In some embodiments, at least a portion (e.g., all) of the materials constituting the electrochromic stack are inorganic, solid (i.e., in a solid state), or inorganic and solid. Inorganic materials offer the advantage of a reliable electrochromic stack that can function for an extended period, as various organic materials tend to degrade over time, especially when tinted building windows are exposed to heat and UV light. In some embodiments, solid materials offer the advantage of minimal contamination and minimized leakage problems, as liquid materials sometimes do occur. One or more layers in the stack may contain a certain amount of organic material (e.g., measurable). The ECD or any portion thereof (e.g., one or more layers) may contain very little or no measurable organic matter. The ECD or any portion thereof (e.g., one or more layers) may contain one or more liquids that may be present in very small amounts. The very little may be at most about 100 ppm, 10 ppm, or 1 ppm of the ECD. Solid materials can be deposited (or otherwise formed) using one or more processes employing liquid components, such as certain sol-gel processes, physical vapor deposition, and / or chemical vapor deposition.
[0197] Figure 29 shows an example of a schematic cross-section of an electrochromic device 2900 according to some embodiments. An EC device coating is attached to a substrate 2902, a transparent conductive layer (TCL) 2904, an electrochromic layer (EC) 2906 (sometimes also referred to as a cathode dyeing layer or cathode coloring layer), an ion conducting layer or region (IC) 2908, a counter electrode layer (CE) 2930 (sometimes also referred to as an anode dyeing layer or anode coloring layer), and a second TCL 2914. Elements 2904, 2906, 2908, 2910, and 2914 are collectively referred to as an electrochromic stack 2920. A voltage source 2916, which can be used to apply a potential to the electrochromic stack 2920, enables the electrochromic coating to transition from, for example, a clear state to a colored state. In other embodiments, the order of the layers is reversed relative to the substrate. That is, the layers are arranged in the following order: substrate, TCL, relative electrode layer, ion-conducting layer, electrochromic material layer, TCL.
[0198] In various embodiments, ion-conducting regions (e.g., 2908) may be formed from a portion of the EC layer (e.g., 2906) and / or from a portion of the CE layer (e.g., 2910). In such embodiments, the electrochromic stack (e.g., 2920) may be deposited to include a cathode-dyed electrochromic material (EC layer) in direct physical contact with the anolyte-dyed electrode material (CE layer). Ion-conducting regions (sometimes referred to as interface regions or substantially electronically insulating layers or regions that are ion-conducting) may be formed, for example, via heating and / or other processing steps at the junction of the EC layer and the CE layer. Electrochromic devices fabricated without depositing dissimilar conductor materials are further discussed in U.S. Patent Application No. 13 / 462,725, filed May 2, 2012, entitled "Electrochromic Devices," which is incorporated herein by reference in its entirety. In some embodiments, the EC device coating may include one or more additional layers, such as one or more passive layers. Passive layers can be used to improve certain optical properties, such as providing moisture and / or scratch resistance. These and / or other passive layers can function to hermetically seal EC stack 2920. Various layers, including transparent conductive layers (such as 2904 and 2914), can be treated with anti-reflective and / or protective layers (e.g., oxide and / or nitride layers).
[0199] In some embodiments, the electrochromic device is configured to (e.g., substantially) reversibly cycle between a clear state and a colored state. Reversibility may occur within the expected lifetime of the ECD. The expected lifetime may be at least about 5, 10, 15, 25, 50, 75, or 100 years. The expected lifetime may be any value between the aforementioned values (e.g., from about 5 years to about 100 years, from about 5 years to about 50 years, or from about 50 years to about 100 years). A potential may be applied to the electrochromic stack (e.g., 2920) such that available ions in the stack that can cause the electrochromic material (e.g., 2906) to be in a colored state primarily reside in the opposing electrode (e.g., 2910) when the window is in a first hue state (e.g., clear). When the potential applied to the electrochromic stack is reversed, ions may be transported across the ion-conducting layer (e.g., 2908) to the electrochromic material and cause the material to enter a second hue state (e.g., colored state).
[0200] It should be understood that the reference to the transition between the clear and colored states is non-limiting and represents only one example among many instances of feasible electrochromic transitions. Unless otherwise specified, whenever a reference is made to a clear to a colored transition, the corresponding apparatus or procedure encompasses other optical state transitions, such as non-reflective to reflective and / or transparent to opaque transitions. In some embodiments, the terms "clear" and "bleached" refer to optically neutral states, such as uncolored, transparent, and / or translucent. In some embodiments, the "color" or "hue" of the electrochromic transition is not limited to any wavelength or wavelength range. The selection of suitable electrochromic materials and relative electrode materials can control the associated optical transitions (e.g., from a colored state to an uncolored state).
[0201] In some embodiments, at least a portion (e.g., all) of the materials constituting the electrochromic stack are inorganic, solid (i.e., solid-state), or inorganic and solid. Inorganic materials offer the advantage of a reliable electrochromic stack that can function for an extended period, as various organic materials tend to degrade over time, especially when tinted building windows are exposed to heat and UV light. In some embodiments, solid-state materials offer the advantage of minimal contamination and minimized leakage problems, as liquid-state materials sometimes do occur. One or more layers in the stack may contain a certain amount of organic material (e.g., measurable). The ECD or any portion thereof (e.g., one or more layers) may contain very little or no measurable organic matter. The ECD or any portion thereof (e.g., one or more layers) may contain one or more liquids that may be present in very small amounts. The very little may be at most about 100 ppm, 10 ppm, or 1 ppm of the ECD. Solid materials can be deposited (or otherwise formed) using one or more processes employing liquid components, such as certain sol-gel processes, physical vapor deposition, and / or chemical vapor deposition.
[0202] Examples of the embodiments contemplated in this disclosure are listed below:
[0203] Example 1: A method for locating a real device installed in a facility, the method comprising: (a) using a virtual model of the facility, the virtual model including virtual devices among virtual devices disposed in the virtual model of the facility, the virtual locations corresponding to planned locations of the real devices in the facility, the virtual devices representing the real devices; (b) identifying real distances between the real devices installed in the facility; (c) applying the identified real distances to the virtual locations using a probing method; and (d) matching the virtual locations with a guess of the real locations of the devices by at least part of using the probing method.
[0204] Example 2: The method of Example 1, wherein the facility comprises one or more buildings.
[0205] Example 3: The method as in Example 1 or Example 2, wherein the facility comprises one or more enclosures.
[0206] Example 4: The method of any one of Examples 1 to 3 further includes using the matching to identify the real locations of the real devices.
[0207] Example 5: The method of Example 4 further includes comparing the distances of the real device pairs to identify at least one characteristic real distance among the distances of the real device pairs.
[0208] Example 6: The method of Example 5, wherein the at least one characteristic real distance includes the longest distance or the shortest distance among the real device pairs.
[0209] Example 7: The method of Example 5 or Example 6, wherein the at least one characteristic real distance is a distance that occurs at least twice in the distance of the real device.
[0210] Example 8: The method of any one of Examples 1 to 7 further includes using a virtual device to identify a characteristic virtual distance and using the virtual device to calculate a real position based on the virtual distances between them.
[0211] Example 9: The method of Example 8 further includes using the feature to virtualize the distance to match a real distance with a virtual distance.
[0212] Example 10: The method of Example 8 or Example 9 further includes using the characteristic virtual distance to identify (i) two real devices located at a distance that is exactly or substantially equal to one of the characteristic virtual distances, and (ii) a match between two virtual devices located at one of the characteristic virtual distances.
[0213] Example 11: The method of any one of Examples 1 to 10, wherein states (a), (c) and (d) of the method are executed automatically.
[0214] Example 12: The method of Example 11, wherein state (b) of the method is executed automatically.
[0215] Example 13: The method of any one of Examples 1 to 12, wherein the planned location includes at least one identifiable distance between the virtual devices.
[0216] Example 14: The method of any one of Examples 1 to 13, wherein the planned positions of the real devices in the virtual model are asymmetrical.
[0217] Example 15: The method of Example 14, wherein the planned positions of the real devices in the virtual model include a portion of the virtual model in which the virtual devices are positioned symmetrically relative to each other.
[0218] Example 16: The method of any one of Examples 1 to 10 further includes using the real distances identified between the real devices to calculate the real positions of the real devices.
[0219] Example 17: The method of Example 16 further includes comparing the distances of the real devices to identify a characteristic real distance.
[0220] Example 18: The method of Example 17, wherein the characteristic true distance is the longest or shortest distance among the distances of the true devices.
[0221] Example 19: The method of Example 17, wherein the characteristic true distance is a distance that occurs at least twice in the distance of the true device.
[0222] Example 20: The method of Example 17 further includes using the virtual distances between the virtual devices to calculate the virtual positions of the virtual devices.
[0223] Example 21: The method of Example 20 further includes using such virtual devices to identify a characteristic virtual distance.
[0224] Example 22: The method of Example 21 further includes using the virtual distance feature to match a real distance between the real devices and a virtual distance between the virtual devices.
[0225] Example 23: The method of Example 21 further includes using the virtual distance feature to identify (i) two real devices installed in the facility, and (ii) a match between two virtual devices in the virtual model of the facility.
[0226] Example 24: The method of Example 23, wherein the two real devices are located at a distance substantially equal to one of the virtual distances of the characteristic.
[0227] Example 25: The method of Example 24, wherein the method is executed automatically, and the two virtual devices are located at a distance substantially equal to one of the characteristic virtual distances.
[0228] Example 26: The method of any one of Examples 1 to 25, wherein one or more distances between planned locations include at least one identifiable distance between the virtual devices.
[0229] Example 27: The method of Example 26, wherein the one or more distances are asymmetrical.
[0230] Example 28: The method of Example 27, wherein the one or more distances include a portion of the virtual model in which the virtual devices are symmetrically positioned relative to each other.
[0231] Example 29: The method of any one of Examples 1 to 28, wherein the trial method includes a calculation scheme using a matrix.
[0232] Example 30: The method of Example 29, wherein the matrix is a digit matrix.
[0233] Example 3: The method of any one of Examples 1 to 30, wherein the trial method includes a calculation scheme, which includes a combined solution, a discrete solution, recursive calculation, mathematical induction, and / or mathematical optimization.
[0234] Example 32: The method of any one of Examples 1 to 31, wherein the trial method includes a calculation scheme including (i) a decision tree, (ii) finding a best solution, (iii) finding an optimal solution, and / or (iv) finding a discrete solution.
[0235] Example 33: The method of any one of Examples 1 to 32, wherein the trial method includes using a calculation scheme that includes calculating sub-solutions for providing a solution by: (i) determining the solution using each calculation stage of calculating the sub-solutions, and (ii) making an optimal choice among the calculation stages to calculate the respective sub-solutions of the solution.
[0236] Example 34: The method of Example 33, wherein the calculation scheme includes a candidate set from which the solution is established.
[0237] Example 35: The method of Example 34, wherein the candidate set identifies the actual distance of the real devices installed in the facility.
[0238] Example 36: The method of Example 35, wherein the candidate set includes building information model data.
[0239] Example 37: The method of any one of Examples 34 to 36, wherein the calculation scheme includes a selection function for selecting the best choice of each of the sub-solutions to be added to the solution.
[0240] Example 38: The method of Example 37, wherein the calculation scheme further includes a feasibility function for determining when one of the candidates in the candidate set can be used to constitute the solution.
[0241] Example 39: The method of Example 38, wherein the calculation scheme further includes an objective function for assigning a value to each of the sub-solutions.
[0242] Example 40: The method of Example 39, wherein the calculation scheme further includes an objective function for assigning a value to the solution.
[0243] Example 41: The method of Example 40, wherein the calculation scheme further includes a solution function for indicating when the solution contains a complete solution.
[0244] Example 42: The method of any one of Examples 33 to 41 further includes locating a specific feature, the specific feature corresponding to a virtual device of the virtual devices or a real device of the real devices.
[0245] Example 43: The method of Example 42, wherein the specific feature includes the virtual device located at a greater distance from each of the other devices of the virtual devices and / or the real devices.
[0246] Example 44: The method of Example 42, wherein the specific feature includes the virtual device being centrally located with reference to one or more other virtual devices and / or one or more other real devices.
[0247] Example 45: The method of Example 42, wherein the specific feature includes the virtual device being asymmetrically positioned with reference to one or more other virtual devices and / or one or more other real devices.
[0248] Example 46: The method of Example 42, wherein the specific feature includes the virtual device being symmetrically positioned with reference to one or more other virtual devices and / or one or more other real devices.
[0249] Example 47: The method of Example 42, wherein the specific feature includes the virtual device being located in a recognizable pattern with reference to one or more other virtual devices and / or one or more other real devices.
[0250] Example 48: The method of Example 42, wherein the specific feature includes forming a numerical series of the virtual device by referring to the distance positioning of one or more other virtual devices and / or one or more other real devices.
[0251] Example 49: The method of Example 48, wherein the numerical series includes a Fibonacci, square, cubic, split term, trigonometric, geometric, twin, or arithmetic series.
[0252] Example 50: The method of Example 33 further includes using the identified real distances between the real devices and the virtual distances between the virtual devices to calculate the virtual positions.
[0253] Example 51: The method of Example 50, wherein the calculation scheme determines a mathematical distance between all columns of a first distance matrix representing the distance between the virtual devices and all columns of a second distance matrix representing the distance between the real devices.
[0254] Example 52: The method of Example 51 further includes: finding the first column of the first matrix that is closest to the first column of the second matrix, and mapping the first column of the first matrix to the first column of the second matrix.
[0255] Example 53: The method of Example 51 further includes: finding the second column of the first matrix that is closest to the second column of the second matrix, and mapping the second column of the first matrix to the second column of the second matrix.
[0256] Example 54: The method of any one of Examples 1 to 53, wherein the trial method includes a calculation scheme for providing a solution for matching the virtual distances of the devices with the real distances by performing a systematic enumeration of a set of candidate solutions of the solution.
[0257] Example 55: The method of Example 54 further includes using a decision tree structure to represent the set of candidate solutions, the decision tree structure having a plurality of branches containing a solution space.
[0258] Example 56: The method of Example 55 further includes checking one of the plurality of branches relative to an upper evaluation limit of the solution and a lower evaluation limit of the branch.
[0259] Example 57: The method of Example 56 further includes discarding the branch of the plurality of branches when a branch does not include a better solution compared to an optimal solution in the solution space found by the computation scheme.
[0260] Example 58: The method of Example 55 further includes (i) dividing the solution space into a plurality of subsets, and (ii) analyzing one subset of the plurality of subsets to locate a target solution.
[0261] Example 59: The method of Example 58 further includes eliminating the subset when the target solution does not exist in the subset.
[0262] Example 60: The method of Example 58 further includes dividing the subset into at least two smaller subsets when the target solution may exist in the subset.
[0263] Example 61: The method of Example 58 further includes locating the target solution using a matrix by at least partly calculating a search space and applying at least one recursive calculation scheme.
[0264] Example 62: The method of Example 55 further includes (i) dividing the solution space into a plurality of subsets, and (ii) analyzing one subset of the plurality of subsets to locate a target solution.
[0265] Example 63: The method of Example 62 further includes eliminating the subset when the target solution does not exist in the subset.
[0266] Example 64: The method of Example 62 further includes dividing the subset into at least two smaller subsets when the target solution may exist in the subset.
[0267] Example 65: The method of Example 62 further includes using a binary matrix to represent a subset in the search space and applying at least one recursive computation scheme.
[0268] Example 66: The method of Example 55 further includes an initial guess to form a solution.
[0269] Example 67: The method of Example 66, wherein the initial guess is a random guess or a logical guess.
[0270] Example 68: The method of Example 66 further includes partitioning a solution space into a plurality of subsets and discarding all subsets of the solution that are less accurate than the initial guess.
[0271] Example 69: The method of Example 58 further includes using a target virtual device, which is separated by at least one minimum distance limit.
[0272] Example 70: The method of Example 69, wherein the minimum distance limit is at least nine (9) centimeters.
[0273] Example 71: The method of Example 62 further includes using a target real device, which is separated by at least one minimum distance limit.
[0274] Example 72: The method of Example 71, wherein the minimum distance limit is at least nine (9) centimeters.
[0275] Example 73: The method of any one of Examples 1 to 72, wherein the trial method includes a combination of calculation schemes that provide a solution for matching between the real distances and the virtual distances of the devices by making a locally optimal choice for each of the plurality of sub-solutions of the solution and performing a systematic enumeration of a set of candidate solutions of the solution.
[0276] Example 74: The method of Example 73, wherein the calculation scheme includes: a first calculation scheme, the first calculation scheme including (i) using each calculation stage for calculating the sub-solutions to determine the solution, and (ii) making an optimal choice among the calculation stages to calculate the respective sub-solutions of the solution; and a second calculation scheme, which includes performing a systematic enumeration of a set of candidate solutions of the solution.
[0277] Example 75: The method of Example 74, wherein the second calculation scheme follows the first calculation scheme.
[0278] Example 76: The method of Example 73 further includes updating one of the real distances of the real devices once.
[0279] Example 77: The method of Example 73 further includes applying one or more asymmetric constraints to the virtual locations and / or the real locations.
[0280] Example 78: The method of Example 77, wherein the one or more asymmetric constraints are contained in or on the ceiling of one of the facilities at the virtual and / or real locations.
[0281] Example 79: The method of Example 77, wherein the one or more asymmetric constraints are contained in or on a wall of the facility at the virtual location and / or the real location.
[0282] Example 80: The method of Example 79, wherein the one or more asymmetric constraints are contained in or near the height of a normal person in or on the wall, such as virtual locations and / or real locations.
[0283] Example 81: The method of Example 73, wherein a weight is added to at least one dimension of the virtual distances and / or the real distances.
[0284] Example 82: The method of Example 73 further includes measuring the actual distances manually.
[0285] Example 83: The method of Example 73 further includes using a drone and / or using a traveler to measure the actual distances.
[0286] Example 84: The method of Example 73 further includes applying one or more distance restrictions to the virtual distances and / or the real distances.
[0287] Example 85: The method of Example 84, wherein the one or more distance limits include one of the limitations of not moving more than a specified distance from a reference point.
[0288] Example 86: The method of Example 84, wherein the one or more distance restrictions include one of the restrictions that prevents movement to the outside of a restricted area.
[0289] Example 87: The method of Example 73 further includes using a cost function to provide the solution.
[0290] Example 88: The method of Example 73 further includes using the following to measure the actual distances: Ultra Wideband (UWB), Global Positioning System (GPS), Radio Frequency Identification (RFID), communication links operating at frequencies in the radio frequency band of about 2.4 GHz to 2.48 GHz, and / or any other geographic location technology.
[0291] Example 89: The method of Example 88, wherein the geolocation technology can be used for industrial, scientific and / or medical applications.
[0292] Example 90: The method of Example 73 further includes iteratively correcting the solution to correct one or more position errors of one or more of the true distances.
[0293] Example 91: The method of Example 73 further includes finding the solution by considering one of the real devices at a time.
[0294] Example 92: The method of Example 73 further includes finding the solution by considering the real devices simultaneously or concurrently.
[0295] Example 93: A non-transitory computer-readable program instruction for locating physical devices in a facility, the non-transitory computer-readable program instruction comprising instructions stored thereon, which, when executed by one or more processors operatively coupled to a virtual model of the facility, cause the one or more processors to perform the following operations: (a) using or instructing the use of a virtual model of the facility, the virtual model comprising virtual devices located in virtual locations within the virtual model of the facility, the virtual locations corresponding to planned locations of the physical devices in the facility, the virtual devices representing the physical devices; (b) identifying or instructing the identification of physical distances between physical devices installed in the facility; (c) applying or instructing the application of the identified physical distances to the virtual distances using a probing method; and (d) at least in part by using the probing method to match or instructing a match between one of the guesses of the virtual locations and the physical locations of the devices.
[0296] Example 94: Non-transitory computer-readable program instructions as in Example 93, wherein the one or more processors are operatively coupled to a geolocation sensor.
[0297] Example 95: Non-transitory computer-readable program instructions as in Example 93, wherein the one or more processors are operatively coupled to a network to which the physical devices are operatively coupled.
[0298] Example 96: Non-transitory computer-readable program instructions as in Example 93, wherein the operational ground coupling includes the communication ground coupling.
[0299] Example 97: Non-transitory computer-readable program instructions as in Example 94, wherein the geolocation sensor includes an ultra-wideband (UWB) sensor.
[0300] Example 98: Non-transitory computer-readable program instructions as in Example 93, wherein at least one of the real devices includes an ultra-wideband (UWB) sensor, a transmitter, or a radio.
[0301] Example 99: Non-transitory computer-readable program instructions as in Example 93, wherein at least one of the real devices includes an accelerometer.
[0302] Example 100: Non-transitory computer-readable program instructions as in Example 95, wherein the network includes a cable system configured to transmit communication and power over a cable.
[0303] Example 101: Non-transitory computer-readable program instructions as in Example 95, wherein the network is a local area network of the facility.
[0304] Example 102: Non-transitory computer-readable program instructions as in Example 93, wherein at least one of the real devices comprises (i) a sensor, or (ii) a sensor and a transmitter.
[0305] Example 103: Non-transitory computer-readable program instructions as in Example 93, wherein the at least one controller is configured to facilitate adjustment of one of the environments of the facility.
[0306] Example 104: Non-transitory computer-readable program instructions as in Example 93, wherein the at least one controller is configured to adjust one or more other devices of the facility.
[0307] Example 105: Non-transitory computer-readable program instructions as in Example 93, wherein the facility comprises one or more buildings.
[0308] Example 106: Non-transitory computer-readable program instructions as in Example 93, wherein the facility comprises one or more enclosures.
[0309] Example 107: Non-transitory computer-readable program instructions as in Example 93, wherein the operations include using or instructing the use of real devices to determine the real distances between them, the real distances being identified to calculate the real position of one of the real devices.
[0310] Example 108: Non-transitory computer-readable program instructions as in Example 107, wherein such operations further include comparing or guiding a comparison of the distances of the real devices to identify at least one characteristic real distance.
[0311] Example 109: Non-transitory computer-readable program instructions as in Example 108, wherein the at least one characteristic real distance is the longest and / or shortest distance among the real device distances.
[0312] Example 110: Non-transitory computer-readable program instructions as in Example 108, wherein the at least one characteristic real distance is a distance that occurs at least twice in the real device pair of distances.
[0313] Example 111: Non-transitory computer-readable program instructions as in Example 108, wherein such operations further include using or instructing the use of such virtual devices to measure distances to identify a characteristic virtual distance, and using or instructing the use of such virtual devices to measure the virtual distances between them to calculate a real position.
[0314] Example 112: Non-transitory computer-readable program instructions as in Example 111, wherein such operations further include using or instructing the use of such virtual devices to identify a characteristic virtual distance.
[0315] Example 113: Non-transitory computer-readable program instructions as in Example 112, wherein such operations further include using or instructing the use of the virtual distance feature to match one of the real device distances with one of the virtual device distances with a virtual distance.
[0316] Example 114: Non-transitory computer-readable program instructions as in Example 112, wherein such operations further include using or instructing the use of the characteristic virtual distance to identify (i) two real devices located at a distance exactly or substantially equal to one of the characteristic virtual distances and installed in the facility, and (ii) a match between two virtual devices of the virtual model of the facility located at one of the characteristic virtual distances.
[0317] Example 115: Non-transitory computer-readable program instructions as in Example 93, wherein such program instructions further include instructions for automatic execution without human intervention.
[0318] Example 116: Non-transitory computer-readable program instructions as in Example 93, wherein such program instructions further include instructions for automatic execution, in addition to instructions for identifying the actual location of the actual device installed in the facility.
[0319] Example 117: Non-transitory computer-readable program instructions as in Example 93, wherein such program instructions further include instructions for automatic execution.
[0320] Example 118: Non-transitory computer-readable program instructions as in Example 93, wherein the program distance includes at least one identifiable distance between such virtual devices.
[0321] Example 119: Non-transitory computer-readable program instructions as in Example 93, wherein the planned distances of the virtual devices in the virtual model are asymmetrical.
[0322] Example 120: Non-transitory computer-readable program instructions as in Example 93, wherein the planned distances of the virtual devices in the virtual model are asymmetrical and include a portion of the virtual model in which the virtual devices are symmetrically positioned relative to each other.
[0323] Example 121: Non-transitory computer-readable program instructions as in Example 93, wherein the heuristic method includes a calculation scheme utilizing a matrix.
[0324] Example 122: Non-transitory computer-readable program instructions as in Example 121, wherein the matrices are digital matrices.
[0325] Example 123: Non-transitory computer-readable program instructions as in Example 93, wherein the trial method includes a calculation scheme including a combinatorial solution, a discrete solution, recursive calculation, mathematical induction, and / or mathematical optimization.
[0326] Example 124: Non-transitory computer-readable program instructions as in Example 93, wherein the trial-and-error method includes a computation scheme comprising (i) a decision tree, (ii) finding a best solution, (iii) finding an optimal solution, and / or (iv) finding a discrete solution.
[0327] Example 125: Non-transitory computer-readable program instructions as in Example 93, wherein the trial method includes using a calculation scheme that includes calculating sub-solutions for providing a solution by: (i) determining the solution using each calculation stage of calculating the sub-solutions, and (ii) making an optimal choice among the calculation stages to calculate the respective sub-solutions of the solution.
[0328] Example 126: Non-transitory computer-readable program instructions as in Example 93, wherein the trial method includes a calculation scheme that provides a solution for matching the real distances and the virtual distances for the devices by at least partly making a locally optimal choice for each of the plurality of sub-solutions of the solution.
[0329] Example 127: Non-transitory computer-readable program instructions as in Example 93, wherein the heuristic method includes a calculation scheme that includes a candidate set from which the solution is built.
[0330] Example 128: Non-transitory computer-readable program instructions as in Example 127, wherein the candidate set identifies the real distance of the real devices installed in the facility.
[0331] Example 129: Non-transitory computer-readable program instructions as in Example 128, wherein the candidate group includes a building information model file.
[0332] Example 130: Non-transitory computer-readable program instructions as in Example 127, wherein the computation scheme includes a selection function for selecting the locally optimal choice of each of the plurality of sub-solutions to be added to the solution.
[0333] Example 131: Non-transitory computer-readable program instructions as in Example 130, wherein the computation scheme further includes a feasibility function for determining when one of the candidates in the candidate set can be used to constitute the solution.
[0334] Example 132: Non-transitory computer-readable program instructions as in Example 131, wherein the computation scheme further includes an objective function for assigning a value to each of the complex sub-solutions.
[0335] Example 133: Non-transitory computer-readable program instructions as in Example 132, wherein the computation scheme further includes an objective function for assigning a value to the solution.
[0336] Example 134: Non-transitory computer-readable program instructions as in Example 133, wherein the computation scheme further includes a solution function for indicating when the solution contains a complete solution.
[0337] Example 135: Non-transitory computer-readable program instructions as in Example 126, wherein the calculation scheme further includes locating a specific feature, the specific feature corresponding to one of the virtual devices or one of the real devices.
[0338] Example 136: Non-transitory computer-readable program instructions as in Example 135, wherein the specific feature includes the virtual device located at a greater distance from each of the other devices of the virtual device.
[0339] Example 137: Non-transitory computer-readable program instructions as in Example 135, wherein the particular feature includes the real device located at a greater distance from each other device of the real device.
[0340] Example 138: Non-transitory computer-readable program instructions as in Example 135, wherein the particular feature includes the virtual device being centrally located with reference to other virtual devices.
[0341] Example 139: Non-transitory computer-readable program instructions as in Example 135, wherein the particular feature includes the real device being centrally located with reference to other real devices.
[0342] Example 140: Non-transitory computer-readable program instructions as in Example 135, wherein the particular feature includes the virtual device being asymmetrically positioned with reference to one or more other virtual devices and / or one or more other real devices.
[0343] Example 141: Non-transitory computer-readable program instructions as in Example 135, wherein the particular feature includes the virtual device being symmetrically positioned with reference to one or more other virtual devices and / or one or more other real devices.
[0344] Example 142: Non-transitory computer-readable program instructions as in Example 135, wherein the particular feature includes the virtual device being located in a recognizable pattern with reference to one or more other virtual devices and / or one or more other real devices.
[0345] Example 143: Non-transitory computer-readable program instructions as in Example 135, wherein the particular feature includes the virtual device forming a numerical series by referencing the distance positioning of other virtual devices and / or other real devices.
[0346] Example 144: Non-transitory computer-readable program instructions as in Example 135, wherein the numerical series includes a Fibonacci, square, cubic, split term, trigonometric, geometric, twin, or arithmetic series.
[0347] Example 145: Non-transitory computer-readable program instructions as in Example 126, wherein the calculation scheme further includes using the identified real distances between the real devices and the virtual locations of the virtual devices to generate virtual device distances between the real devices.
[0348] Example 146: Non-transitory computer-readable program instructions as in Example 145, wherein the calculation scheme determines a mathematical distance between all columns of a first distance matrix representing distances between the virtual devices and all columns of a second distance matrix representing distances between the real devices.
[0349] Example 147: Non-transitory computer-readable program instructions as in Example 146, wherein the calculation scheme finds the first column of the first matrix that is closest to the first column of the second matrix, and maps the first column of the first matrix to the first column of the second matrix.
[0350] Example 148: Non-transitory computer-readable program instructions as in Example 147, wherein the calculation scheme finds the second column in the first matrix that is closest to the second column in the second matrix, and maps the second column in the first matrix to the second column in the second matrix.
[0351] Example 149: Non-transitory computer-readable program instructions as in Example 93, wherein the problem-solving heuristic method includes a computation scheme for providing a solution for matching virtual distances and real distances of the devices by performing a systematic enumeration of a set of candidate solutions to the solution.
[0352] Example 150: Non-transitory computer-readable program instructions as in Example 149, wherein the computation scheme further includes using a tree structure to represent the set of candidate solutions, the tree structure having a plurality of branches.
[0353] Example 151: Non-transitory computer-readable program instructions as in Example 150, wherein the computation scheme further includes checking one branch of the tree structure relative to an upper evaluation limit and a lower evaluation limit of the branch relative to the solution.
[0354] Example 152: Non-transitory computer-readable program instructions as in Example 151, wherein the calculation scheme further includes discarding the branch of the tree structure when the first branch cannot find a better solution than the best solution currently found by the calculation scheme.
[0355] Example 153: Non-transitory computer-readable program instructions as in Example 150, wherein the computation scheme further includes dividing the virtual devices into a plurality of subsets and analyzing one subset of the plurality of subsets to locate a target solution.
[0356] Example 154: Non-transitory computer-readable program instructions as in Example 153, wherein the computation scheme further includes eliminating the subset when the target solution does not exist in the subset.
[0357] Example 155: Non-transitory computer-readable program instructions as in Example 153, wherein the computation scheme further includes dividing the subset into at least two smaller subsets when the target solution may exist in the subset.
[0358] Example 156: Non-transitory computer-readable program instructions as in Example 153, wherein the computation scheme further includes using a binary matrix to represent a subset in the solution space by computing a search space and applying a user recursive algorithm.
[0359] Example 157: Non-transitory computer-readable program instructions as in Example 150, wherein the computation scheme further includes dividing the solution space into a plurality of subsets and analyzing one subset of the plurality of subsets to locate a target solution.
[0360] Example 158: Non-transitory computer-readable program instructions as in Example 157, wherein the computation scheme further includes eliminating the subset when the target solution does not exist in the subset.
[0361] Example 159: Non-transitory computer-readable program instructions as in Example 157, wherein the computation scheme further includes dividing the subset into at least two smaller subsets when the target solution may exist in the subset.
[0362] Example 160: Non-transitory computer-readable program instructions as in Example 157, wherein the computation scheme further includes using a binary matrix to represent a subset in the solution space by computing a search space and applying a user recursive algorithm.
[0363] Example 161: Non-transitory computer-readable program instructions as in Example 150, wherein the computation scheme further includes an initial guess to form a solution.
[0364] Example 162: Non-transitory computer-readable program instructions as in Example 161, wherein the computation scheme further includes partitioning a solution space into a plurality of subsets and discarding all subsets of the solution that are less accurate than the initial guess.
[0365] Example 163: Non-transitory computer-readable program instructions as in Example 153, wherein the computation scheme further includes using only the target virtual device, which is separated by at least one minimum distance limit.
[0366] Example 164: Non-transitory computer-readable program instructions as in Example 163, wherein the minimum distance limit is at least nine (9) centimeters.
[0367] Example 165: Non-transitory computer-readable program instructions as in Example 157, wherein the computation scheme further includes using only the target real device, which is separated by at least a minimum distance limit.
[0368] Example 166: Non-transitory computer-readable program instructions as in Example 165, wherein the minimum distance limit is at least nine (9) centimeters.
[0369] Example 167: Non-transitory computer-readable program instructions as in Example 93, wherein the trial method includes a combination of a first calculation scheme and a second calculation scheme, the combination providing a solution for matching between the real distances and the virtual distances of the devices by making a locally optimal choice for each of the plurality of sub-solutions of the solution and performing a systematic enumeration of a set of candidate solutions of the solution.
[0370] Example 168: Non-transitory computer-readable program instructions as in Example 167, wherein the probing method further includes updating one of the real distances of the real devices once.
[0371] Example 169: Non-transitory computer-readable program instructions as in Example 167, wherein the heuristic method further includes imposing one or more asymmetric constraints on the virtual locations and / or the real locations.
[0372] Example 170: Non-transitory computer-readable program instructions as in Example 169, wherein the one or more asymmetric restrictions are contained in or above the ceiling of one of the facilities at the virtual and / or real locations.
[0373] Example 171: Non-transitory computer-readable program instructions as in Example 169, wherein the one or more asymmetric restrictions are contained in the virtual locations and / or the real locations in or on a wall of the facility.
[0374] Example 172: Non-transitory computer-readable program instructions as in Example 171, wherein the one or more asymmetric restrictions are contained in or near the height of a normal person in or above the wall and / or the real locations.
[0375] Example 173: Non-transitory computer-readable program instructions as in Example 167, wherein a weight is added to at least one dimension of the virtual distances and / or the real distances.
[0376] Example 174: Non-transitory computer-readable program instructions as in Example 167, wherein the probing method further includes manually measuring the actual distances.
[0377] Example 175: Non-transitory computer-readable program instructions as in Example 167, wherein the probing method further includes using a drone and / or using a traveler to measure the actual distances.
[0378] Example 176: Non-transitory computer-readable program instructions as in Example 167, wherein the probing method further includes imposing one or more distance limits on the virtual distances and / or the real distances.
[0379] Example 177: Non-transitory computer-readable program instructions as in Example 176, wherein the one or more distance limits include one of the limitations of not moving more than a specified distance from a reference point.
[0380] Example 178: Non-transitory computer-readable program instructions as in Example 176, wherein the one or more distance restrictions include one of the restrictions that prevents movement to the outside of a restricted area.
[0381] Example 179: Non-transitory computer-readable program instructions as in Example 167, wherein the heuristic method further includes using a cost function to provide the solution.
[0382] Example 180: Non-transitory computer-readable program instructions as in Example 167, wherein the probing method further includes using any of the following to measure the actual distances: Ultra-wideband (UWB), Bluetooth, a communication link operating at a frequency in the radio band of about 2.4 GHz to 2.48 GHz, Global Positioning System (GPS), RFID, and / or geolocation technology.
[0383] Example 181: Non-transitory computer-readable program instructions as in Example 167, wherein the trial-and-error method further includes iteratively correcting the solution to correct the positional error of the true positions.
[0384] Example 182: Non-transitory computer-readable program instructions as in Example 167, wherein the heuristic method further includes finding the solution by considering one of the real devices at a time.
[0385] Example 183: Non-transitory computer-readable program instructions as in Example 167, wherein the heuristic method further includes finding the solution by considering all such real devices simultaneously or concurrently.
[0386] Example 184: An apparatus for locating real devices in a facility, the apparatus comprising at least one controller having a circuit system, wherein the at least one controller is configured to: (a) be operatively coupled to a virtual model of the facility; (b) use or guide the use of a virtual model of the facility, the virtual model comprising virtual devices among virtual devices disposed in the virtual model of the facility, the virtual locations corresponding to planned locations of the real devices in the facility, the virtual devices representing the real devices; (c) identify or guide the identification of real distances to the devices installed in the facility; (d) apply or guide the application of the identified real distances to the virtual distances using a probing method; and (e) at least in part by using the probing method to match or guide the matching of a guess between the virtual locations and the real locations of the devices.
[0387] Example 185: The device as in Example 184, wherein the at least one controller is configured to be operatively coupled to a geolocation sensor.
[0388] Example 186: The device as in Example 184, wherein the at least one controller is configured to be operatively coupled to a network to which the actual devices are operatively coupled.
[0389] Example 187: The device as described in Example 184, wherein the operational ground coupling includes the communication ground coupling.
[0390] Example 188: The device as in Example 185, wherein the geolocation sensor includes an ultra-wideband (UWB) sensor.
[0391] Example 189: The device as in Example 184, wherein at least one of the actual devices includes an ultra-wideband (UWB) sensor, a transmitter, or a radio.
[0392] Example 190: The device as in Example 184, wherein at least one of the real devices includes an accelerometer.
[0393] Example 191: The device as in Example 186, wherein the network includes a cable system configured to transmit communication and power over a cable.
[0394] Example 192: The device as in Example 186, wherein the network is a local area network of the facility.
[0395] Example 193: The device as described in Example 184, wherein at least one of the real devices comprises (i) a sensor, or (ii) a sensor and a transmitter.
[0396] Example 194: The device as in Example 184, wherein the at least one controller is configured to facilitate adjustment of one of the environments of the facility.
[0397] Example 195: The device as described in Example 184, wherein the at least one controller is configured to adjust or guide the adjustment of one or more other devices of the facility.
[0398] Example 196: The equipment as described in Example 184, wherein the facility comprises one or more buildings.
[0399] Example 197: The device as described in Example 184, wherein the facility comprises one or more enclosed bodies.
[0400] Example 198: The device as in Example 184, wherein the at least one controller is further configured to use or guide the use of the real distances between the real devices to generate real device positions.
[0401] Example 199: The device as in Example 198, wherein the at least one controller is further configured to compare or guide the comparison of the distances of the real devices to identify at least one characteristic real distance.
[0402] Example 200: The device as in Example 199, wherein the characteristic real distance is the longest or shortest distance among the real device distances.
[0403] Example 201: The device as in Example 199, wherein the characteristic true distance is a distance that occurs at least twice in the distance of such true devices.
[0404] Example 202: The device as in Example 199, wherein the at least one controller is configured to use or guide the use of such virtual locations to calculate a virtual distance between such virtual devices.
[0405] Example 203: The device as in Example 202, wherein the at least one controller is configured to use or guide the use of such virtual devices to identify a characteristic virtual distance.
[0406] Example 204: The device as in Example 203, wherein the at least one controller is configured to use or guide the use of the virtual distance feature to match one of the real distances of the real devices to one of the virtual distances of the virtual devices.
[0407] Example 205: The device as in Example 203, wherein the at least one controller is configured to use or guide the use of the characteristic virtual distance to identify (i) two real devices located at a distance exactly or substantially equal to one of the characteristic virtual distances and installed in the facility, and (ii) a match between two virtual devices of the virtual model of the facility located at one of the characteristic virtual distances.
[0408] Example 206: The device as described in Example 184 further includes instructions for automatic execution without human intervention.
[0409] Example 207: The device as in Example 184, wherein the location and / or distance identification of such real devices in a facility is automatically performed, in addition to identifying the real location of such real devices installed in the facility.
[0410] Example 208: The device as in Example 184, wherein the location and / or distance identification of the real devices in a facility is automatically performed.
[0411] Example 209: The device as in Example 184, wherein the at least one controller is configured to automatically locate or guide the location of real devices in a facility, in addition to identifying the actual location of the real devices installed in the facility.
[0412] Example 210: The device as in Example 184, wherein the at least one controller is configured to automatically locate or guide the location of the actual devices in a facility.
[0413] Example 211: The device as in Example 184, wherein the planned distances include at least one identifiable distance between the virtual devices.
[0414] Example 212: The device as in Example 184, wherein the planned distances of the virtual devices in the virtual model are asymmetrical.
[0415] Example 213: The device as in Example 184, wherein the planned distances of the virtual devices in the virtual model are asymmetrical and include a portion of the virtual model in which the virtual devices are positioned symmetrically relative to each other.
[0416] Example 214: The device as in Example 184, wherein the trial method includes a calculation scheme utilizing a matrix.
[0417] Example 215: The device as in Example 214, wherein the matrix is a digital matrix.
[0418] Example 216: The device as in Example 184, wherein the trial method includes a calculation scheme, which includes a combined solution, a discrete solution, recursive calculation, mathematical induction, and / or mathematical optimization.
[0419] Example 217: The device as in Example 184, wherein the trial method includes a calculation scheme comprising (i) a decision tree, (ii) finding a best solution, (iii) finding an optimal solution, and / or (iv) finding a discrete solution.
[0420] Example 218: The device as described in Example 184, wherein the trial method includes using a calculation scheme that includes calculating sub-solutions to provide a solution for matching the virtual distances and actual distances of the devices by: (i) determining the solution using each calculation stage of calculating the sub-solutions, and (ii) making an optimal choice among the calculation stages to calculate the respective sub-solutions of the solution.
[0421] Example 219: The device as in Example 184, wherein the trial method includes a calculation scheme that provides a solution for matching the real distances and the virtual distances for the devices by making a locally optimal choice for each of the plurality of sub-solutions of the solution.
[0422] Example 220: The device as in Example 184, wherein the trial method includes a calculation scheme that includes a candidate set from which the solution is established.
[0423] Example 221: The device as in Example 220, wherein the candidate set identifies the actual distance of the real devices installed in the facility.
[0424] Example 222: The device as in Example 221, wherein the candidate set includes a building information model file.
[0425] Example 223: The device as in Example 218, wherein the calculation scheme includes a selection function for selecting the locally optimal choice of each of the complex sub-solutions to be added to the solution.
[0426] Example 224: The device as in Example 223, wherein the calculation scheme further includes a feasibility function for determining when one of the candidates in the candidate set can be used to constitute the solution.
[0427] Example 225: The device as in Example 224, wherein the calculation scheme further includes an objective function for assigning a value to each of the complex sub-solutions.
[0428] Example 226: The device as in Example 225, wherein the calculation scheme further includes an objective function for assigning a value to the solution.
[0429] Example 227: The device as in Example 226, wherein the calculation scheme further includes a solution function for indicating when the solution contains a complete solution.
[0430] Example 228: The device as in Example 214, wherein the at least one controller is configured to locate or guide the location of a specific feature, the specific feature corresponding to a virtual device of the virtual devices or a real device of the real devices.
[0431] Example 229: The device as in Example 228, wherein the specific feature includes the virtual device located at a greater distance from each of the other devices of the virtual device.
[0432] Example 230: The device as in Example 228, wherein the specific feature includes the real device located at a greater distance from each of the other devices of the real device.
[0433] Example 231: The device as in Example 228, wherein the specific feature includes the virtual device being centrally located with reference to other virtual devices.
[0434] Example 232: The device as in Example 228, wherein the particular feature includes the real device being centrally located with reference to other real devices.
[0435] Example 233: The device as described in Example 228, wherein the specific feature includes the virtual device being asymmetrically positioned with reference to at least one other virtual device and / or at least one other real device.
[0436] Example 234: The device as in Example 228, wherein the specific feature includes the virtual device being symmetrically positioned with reference to other virtual devices and / or other real devices.
[0437] Example 235: The device as described in Example 228, wherein the specific feature includes the virtual device being located in a recognizable pattern with reference to one or more other virtual devices and / or one or more other real devices.
[0438] Example 236: The device as in Example 228, wherein the specific feature includes the virtual device forming a numerical series by referencing the distance positioning of other virtual devices and / or other real devices.
[0439] Example 237: The device as in Example 228, wherein the numerical series includes a Fibonacci, square, cubic, split term, trigonometric, geometric, twin, or arithmetic series.
[0440] Example 238: The device as in Example 214, wherein the at least one controller is configured to use or guide the use of the identified real distances between the real devices to calculate the real positions, and to use or guide the use of the virtual positions to calculate the virtual distances between the virtual devices.
[0441] Example 239: The device as in Example 238, wherein the trial method determines a mathematical position in all columns of a first matrix corresponding to the distances of the virtual device pairs and a second position matrix corresponding to the distances of the real device pairs.
[0442] Example 240: The device as in Example 239, wherein the trial-and-error method finds the first column of the first matrix that is closest to the first column of the second matrix, and maps the first column of the first matrix to the first column of the second matrix.
[0443] Example 241: The device as in Example 240, wherein the trial-and-error method finds the second column in the first matrix that is closest to the second column in the second matrix, and maps the second column in the first matrix to the second column in the second matrix.
[0444] Example 242: The device as in Example 184, wherein the trial method includes a calculation scheme for providing a solution for matching the virtual distances and the real distances of the devices by performing a systematic enumeration of a set of candidate solutions of the solution.
[0445] Example 243: The device as in Example 242, wherein the at least one controller is configured to use a tree structure to represent or guide the representation of the set of candidate solutions, the tree structure having a plurality of branches.
[0446] Example 244: The device as in Example 243, wherein the at least one controller is configured to check or guide the inspection of one branch of the tree structure relative to an upper evaluation limit of the solution and a lower evaluation limit of the branch.
[0447] Example 245: The device as in Example 244, wherein the at least one controller is configured to discard or guide the discarding of the branch of the tree structure when the first branch cannot find a better solution than the best solution currently found by the calculation scheme.
[0448] Example 246: The device as in Example 243, wherein the at least one controller is configured to: (i) divide or guide the virtual devices into a plurality of subsets, and (ii) analyze or guide the analysis of one subset of the plurality of subsets to locate a target solution.
[0449] Example 247: The device as in Example 246, wherein the at least one controller is configured to eliminate or guide the elimination of the subset when the target solution does not exist in the subset.
[0450] Example 248: The device as in Example 246, wherein the at least one controller is configured to split or guide the subset into at least two smaller subsets when the target solution may exist in the subset.
[0451] Example 249: The device as in Example 246, wherein the at least one controller is configured to use or guide the use of a binary matrix to represent a subset of the solution space by at least partly by calculating a search space and applying a user recursive algorithm.
[0452] Example 250: The device as described in Example 243, wherein the at least one controller is configured to: (i) divide or guide the real devices into a plurality of subsets, and (ii) analyze or guide the analysis of one subset of the plurality of subsets to locate a target solution.
[0453] Example 251: The device as in Example 250, wherein the at least one controller is configured to eliminate or guide the elimination of the subset when the target solution does not exist in the subset.
[0454] Example 252: The device as in Example 250, wherein the at least one controller is configured to split or guide the subset into at least two smaller subsets when the solution may exist in the subset.
[0455] Example 253: The device as in Example 250, wherein the at least one controller is configured to use or guide the use of a binary matrix to represent the subset of solutions by calculating a search space and applying a user recursive algorithm.
[0456] Example 254: The device as in Example 243, wherein the at least one controller is configured to form or guide the formation of an initial guess of a solution.
[0457] Example 255: The device as in Example 254, wherein the at least one controller is configured to partition or guide the partitioning of a solution space into a plurality of subsets and discard all subsets of the solution that are less accurate than the initial guess.
[0458] Example 256: The device as in Example 246, wherein the at least one controller is configured to use or guide the use of a target virtual device, which is separated by at least one minimum distance limit.
[0459] Example 257: The device as in Example 256, wherein the minimum distance limit is at least nine (9) centimeters.
[0460] Example 258: The device as in Example 250, wherein the at least one controller is configured to use or guide the use of the target real device only, which is separated by at least one minimum distance limit.
[0461] Example 259: The device as in Example 258, wherein the minimum distance limit is at least nine (9) centimeters.
[0462] Example 260: The device as in Example 184, wherein the trial method includes a combination of a first calculation scheme and a second calculation scheme, the combination providing a solution for matching between the real distances and the virtual distances of the devices by making a locally optimal choice for each of the plurality of sub-solutions of the solution and performing a systematic enumeration of a set of candidate solutions of the solution.
[0463] Example 261: The device as in Example 260, wherein the at least one controller is configured to update or guide an update of one of the real distances of the real devices at one time.
[0464] Example 262: The device as in Example 260, wherein the at least one controller is configured to apply or guide the application of one or more asymmetric constraints at the virtual locations and / or the real locations.
[0465] Example 263: The device as in Example 262, wherein the one or more asymmetric constraints are contained in or above the ceiling of one of the facilities at the virtual and / or real locations.
[0466] Example 264: The device as in Example 262, wherein the one or more asymmetric constraints are contained in or on a wall of the facility at the virtual location and / or the real location.
[0467] Example 265: The device as in Example 264, wherein the one or more asymmetric constraints are contained in or near the height of a normal person in or on the wall and / or the real locations.
[0468] Example 266: The device as in Example 260, wherein a weight is added to at least one dimension of the virtual locations and / or the real locations.
[0469] Example 267: The device as in Example 260, wherein the at least one controller is configured to measure or guide the measurement of the actual positions in a manual manner.
[0470] Example 268: The device of Example 260, wherein the at least one controller is configured to use a drone and / or a traveler to measure or guide the measurement of such real positions and / or real distances.
[0471] Example 269: The device as in Example 260, wherein the at least one controller is configured to apply or guide the application of one or more distance limits at the virtual distances and / or the real distances.
[0472] Example 270: The device as in Example 269, wherein the one or more distance limits include one of the limitations of not moving more than a specified distance from a reference point.
[0473] Example 271: The device as in Example 269, wherein the one or more distance restrictions include one of the restrictions that prevents movement to the outside of a restricted area.
[0474] Example 272: The device as in Example 260, wherein the at least one controller is configured to use or guide the use of a cost function to provide the solution.
[0475] Example 273: The device as in Example 260, wherein the at least one controller is configured to use any of the following to measure or guide the measurement of the real location and / or real distance: Ultra Wideband (UWB), Bluetooth, a communication link operating in the Industrial Science and Medical (ISM) radio band of about 2.4 GHz, Global Positioning System (GPS), RFID, and / or geolocation technology.
[0476] Example 274: The device as in Example 260, wherein the at least one controller is configured to iteratively correct or guide iterative correction of the solution to correct the position error of the true positions.
[0477] Example 275: The device as in Example 260, wherein the at least one controller is configured to find or guide the finding of the solution by considering one of the real devices at a time.
[0478] Example 276: The device as in Example 260, wherein the at least one controller is configured to find or guide the finding of the solution by considering all such real devices simultaneously or concurrently.
[0479] Although preferred embodiments of the invention have been shown and described herein, it will be apparent to those skilled in the art that such embodiments are provided by way of example only. The invention is not intended to be limited to the specific examples provided in the specification. Although the invention has been described with reference to the foregoing description, the description and illustration of embodiments herein are not intended to be construed as limiting. Numerous variations, modifications, and substitutions will now occur to those skilled in the art without departing from the invention. Furthermore, it should be understood that all forms of the invention are not limited to the specific depictions, configurations, or relative proportions set forth herein, depending on various conditions and variables. It should be understood that various alternatives to the embodiments of the invention described herein may be employed in the practice of the invention. Therefore, the invention is also intended to cover any such alternatives, modifications, variations, or equivalents. The following claims are intended to define the scope of the invention and thereby cover methods and structures within the scope of such claims and their equivalents. [Simplified Explanation of the Diagram]
[0036] All disclosures, patents and patent applications mentioned in this specification are incorporated herein by reference as if each disclosure, patent or patent application were specifically and individually instructed to be incorporated by reference.
[0037] The novel features of the present invention are set forth in detail in the appended claims. A better understanding of the features and advantages of the invention will be obtained by referring to the following illustrative embodiments that utilize the principles of the invention and the accompanying drawings (also referred to herein as "Fig. / Figs."), in which: [Fig. 1] schematically shows a control system for a building; [Fig. 2] schematically depicts the architecture of the control system and a perspective view of the building; [Fig. 3] depicts examples of components and their possible uses; [Fig. 4] depicts examples of components and their possible uses; [Fig. 5] depicts a hierarchical structure in which configurable devices are arranged; [Fig. 6] schematically depicts a network of components coupled to various enclosures; [Fig. 7] schematically depicts a perspective view of an enclosure; [Fig. 8] depicts an interconnection diagram of a portion of an enclosure; [Fig. 9] schematically depicts a group of components; [Fig. 10] depicts an elevation view of the interconnection diagram; [Fig. 11A] illustrates an example of the application of the disclosed technology; [Fig. 11B] schematically depicts an example of a network showing a set of requesting device locations and a set of installed device locations. [Figure 12A] illustrates a method for determining the relative positions of multiple devices within a network according to some implementation schemes; [Figure 12B] is a flowchart showing an example greedy type procedure for mapping a set of requesting device positions to a set of installed device positions; [Figure 13] is a flowchart showing an example greedy type procedure for mapping a set of requesting device positions to a set of installed device positions; [Figure 14] schematically depicts a graphical representation of the initial device positions before calibration and the optimal device positions after calibration.[Figure 15] is a flowchart illustrating a first exemplary branch delimitation procedure for mapping a set of request device locations to a set of installed device locations; [Figure 16] is a flowchart illustrating a second exemplary branch delimitation procedure for mapping a set of request device locations to a set of installed device locations; [Figure 17] depicts an exemplary set of request device locations and installed device locations for a portion of an enclosure; [Figure 18] depicts some examples of closely spaced pairs of devices within a portion of an enclosure; [Figure 19] is a graph illustrating an exemplary relationship between the mean and distance error of the mapping error between a set of request device locations and a set of installed device locations using a greedy algorithm; [Figure 20] is a graph illustrating an exemplary relationship between the mean and distance error of the mapping error between a set of request device locations and a set of installed device locations using a greedy algorithm applied to a portion of an enclosure; [Figure 21] depicts a portion of an enclosure showing the request device locations according to the system plan and the installed device locations based at least in part on visual inspection; [Figure 22] depicts a set of correction error vectors that correlate the location of the requested device according to the system plan with the device location based at least in part on visual inspection; [Figure 23] is a flowchart illustrating an example procedure for mapping a set of requested device locations to a set of actual installed device locations; [Figure 24A] illustrates the relationship between matrices representing the location (A) of virtual devices, the location (B) of real devices, the distance between virtual devices (a), and the distance between virtual devices and real devices (b), and [Figure 24B] illustrates various device configurations and associated distances; [Figure 25] schematically illustrates a block diagram related to commissioning; [Figure 26] schematically illustrates a block diagram related to commissioning; [Figure 27] shows a schematic example of a computer system programmed to perform one or more operations of any of the methods provided herein; [Figure 28] shows an example of a schematic cross-section of an electrochromic device; and [Figure 29] shows another example of a schematic cross-section of an electrochromic device.
[0038] The figures and their components may not be drawn to scale. The various components of the figures described herein may not be drawn to scale.
Claims
1. A method for locating devices installed in a facility, the method comprising: a procedure (A) including measuring the signal interference plus noise ratio (SINR) of signals received from each device and using the measured SINR to determine a relative position of each of the devices; A procedure (B) comprising transmitting an incident signal to a network containing the devices, using a time-domain reflectograph (TDR) to analyze the reflections of the signal from each of the devices, and using the analyzed reflections to determine the relative positions of each of the devices; and / or a procedure (C) comprising (i) using a virtual model of the facility, the virtual model comprising virtual devices located at virtual locations corresponding to planned locations of the devices in the facility, wherein each virtual device corresponds to a separate installed device; (ii) identifying actual distances between one or more pairs of installed devices; (iii) using a heuristic to compare the identified actual distances with the virtual locations; and (iv) at least in part by using the heuristic to match an assessment of the virtual locations with the actual locations of the devices.
2. The method of claim 1, wherein one or more of the devices is a window controller for a colorable window.
3. The method of claim 2 further includes determining the difference between at least one part of the network, such as an as-built configuration, and another part of the network, such as an as-designed configuration.
4. The method of claim 3, wherein the determination of the difference includes using network diagnostics available from the window controller.
5. The method of claim 1, wherein the method comprises one or both of procedure (C), procedure (A), and / or procedure (B).
6. The method of claim 5, wherein the signals received from each device are received via a trunk line coupled to each device in a network.
7. The method of claim 5, further comprising using virtual devices to identify a characteristic virtual distance, and using the characteristic virtual distance to identify a match between: (i) two real devices located at a distance exactly or substantially equal to the characteristic virtual distance; and (ii) two virtual devices located at a distance of the characteristic virtual distance.
8. The method of claim 5, further comprising using the actual distances identified between the pairs of the installed devices to calculate the true positions of the pairs of the installed devices.
9. The method of claim 5, wherein the heuristic method includes a calculation scheme using a digital matrix.
10. The method of claim 5, wherein the trial-and-error method includes a computation scheme comprising a combined solution, a discrete solution, recursive computation, mathematical induction, mathematical optimization, and / or a decision tree.
11. The method of claim 5, wherein the trial-and-error method includes using a calculation scheme that includes calculating sub-solutions for providing a solution by: (i) determining the solution using each calculation stage of calculating the sub-solutions, and (ii) making an optimal choice among the calculation stages to calculate a corresponding sub-solution of the solution.
12. The method of claim 11, wherein the calculation scheme includes a candidate set from which the solution is derived, the candidate set containing building information model data.
13. The method of claim 11, wherein the computation scheme includes providing a solution for matching the virtual distances and the actual distances of the devices, the provision of a solution including using a decision tree structure to represent a set of candidate solutions, the decision tree structure having a plurality of branches containing a solution space.
14. The method of claim 13, further comprising: forming an initial assessment of a solution; partitioning a solution space into a plurality of subsets; and discarding all subsets of the solution that have approximations that are less accurate than the initial assessment.
15. The method of claim 5, wherein the trial-and-error method comprises a combination of computation schemes that provides a solution for matching the virtual distances and the actual positions of the devices by making a locally optimal choice for each of the plurality of sub-solutions of the solution.
16. The method of claim 1 further comprises using the following to measure such actual distances: ultra-wideband (UWB), global positioning system (GPS), radio frequency identification (RFID), communication links operating at frequencies in the radio frequency band of about 2.4 GHz to 2.48 GHz, and / or any other geolocation technology.
17. The method of claim 1, wherein the method comprises one or both of procedure (A) and / or procedure (B).
18. The method of claim 17, wherein the devices are communicatively coupled via a network having a control panel or network controller, the network including a trunk line coupling the control panel and / or network controller to the devices.
19. The method of request item 18, wherein the method includes procedure (A) and procedure (B).
20. The method of any one of claims 1 to 19, wherein the facility comprises one or more buildings.
21. A system for locating devices installed in a facility, the system comprising a plurality of devices in a network and a processor configured to: control or guide a program (A), the program (A) comprising measuring the signal-to-interference-plus-noise ratio (SINR) of signals received from each device and using the measured SINR to determine a relative position of each of the devices; Control or guide a control procedure (B), the procedure (B) including transmitting an incident signal to a network containing the devices, using a time-domain reflectograph (TDR) to analyze the reflection of the signal from each of the devices, and using the analyzed reflections to determine the relative positions of each of the devices; and / or control or guide a control procedure (C), the procedure (C) including (i) using a virtual model of the facility, the virtual model including virtual devices set in virtual locations corresponding to planned locations of the devices in the facility, wherein each virtual device corresponds to a separate installed device; (ii) identifying actual distances between one or more pairs of installed devices; (iii) using a probing method to compare the identified actual distances with the virtual locations; and (iv) at least in part by using the probing method to match an assessment of the virtual locations with the actual positions of the devices.
22. The system of claim 21, wherein one or more of the plurality of devices is a window controller for a colorable window.
23. The system of claim 21, wherein the processor is further configured to determine the difference between at least one portion of the network, such as a construction configuration, and that portion of the network, such as a design configuration.
24. The system of claim 21, wherein the processor is configured to control or guide one or both of control program (C) and program (A) and / or program (B).
25. The system of claim 24, wherein the processor is further configured to use virtual device distance to identify a characteristic virtual distance and to use the characteristic virtual distance to identify a match between: (i) two real devices located at a distance exactly or substantially equal to the characteristic virtual distance; and (ii) two virtual devices located at a distance of the characteristic virtual distance.
26. The system of claim 24, wherein the processor is further configured to use the actual distances identified between the pairs of mounted devices to calculate the true positions of the pairs of mounted devices.
27. The system of claim 24, wherein the trial-and-error method includes a computation scheme comprising a combined solution, a discrete solution, recursive computation, mathematical induction, mathematical optimization, and / or a decision tree.
28. The system of claim 24, wherein the trial-and-error method includes using a calculation scheme that includes calculating sub-solutions to provide a solution for matching the virtual distances and actual distances of the devices by: (i) determining the solution using each calculation stage of calculating the sub-solutions, and (ii) making an optimal choice among the calculation stages to calculate a corresponding sub-solution of the solution.
29. The system of claim 28, wherein the computation scheme includes one or both of the following: a feasibility function for determining when one of the candidates in the candidate set is available to constitute the solution and / or an objective function for assigning a value to each of the sub-solutions.
30. A system of any one of claims 24 to 29, wherein the processor is further configured to locate a specific feature corresponding to each of the virtual devices; and the specific feature includes locating the individual virtual device forming a numerical series by reference to the distances of one or more other virtual devices and / or one or more other real devices.
31. The system of claim 30, wherein the numerical series comprises a Fibonacci, square, cubic, split-term, trigonometric, geometric, twin, or arithmetic series.
32. The system of claim 24, wherein the trial-and-error method comprises a combination of computation schemes that provide a solution for matching virtual distances and actual distances for the devices by making a locally optimal choice for each of a plurality of sub-solutions of the solution.
33. The system of claim 21, wherein the processor is configured to control or boot one or both of control program (A) and / or program (B).
34. The system of request item 21, wherein the processor is configured to control or boot control program (A) and program (B).
35. An apparatus for locating devices in a facility, the apparatus comprising at least one controller having a circuit system, wherein the at least one controller is configured to: control or guide a procedure (A) comprising measuring the signal-to-interference-plus-noise ratio (SINR) of signals received from each device and using the measured SINR to determine a relative position of each of the devices; Control or guide a control procedure (B), the procedure (B) including transmitting an incident signal to a network containing the devices, using a time-domain reflectograph (TDR) to analyze the reflection of the signal from each of the devices, and using the analyzed reflections to determine the relative positions of each of the devices; and / or control or guide a control procedure (C), the procedure (C) including (i) using a virtual model of the facility, the virtual model including virtual devices set in virtual locations corresponding to planned locations of the devices in the facility, wherein each virtual device corresponds to a separate installed device; (ii) identifying actual distances between one or more pairs of installed devices; (iii) using a probing method to compare the identified actual distances with the virtual locations; and (iv) at least in part by using the probing method to match an assessment of the virtual locations with the actual positions of the devices.
36. The device of claim 35, wherein one or more of the means is a window controller for a colorable window.
37. The device of claim 35, wherein the at least one controller is configured to determine the difference between at least one portion of the network, such as a construction configuration, and the portion of the network, such as a design configuration.
38. The device of claim 35, wherein the at least one controller is configured to control or guide one or both of control program (C) and program (A) and / or program (B).
39. The device of claim 35, wherein the at least one controller is further configured to use virtual device distance to identify a characteristic virtual distance and to use the characteristic virtual distance to identify a match between: (i) two real devices located at a distance exactly or substantially equal to the characteristic virtual distance; and (ii) two virtual devices located at a distance of the characteristic virtual distance.
40. The device of claim 38, wherein the at least one controller is further configured to calculate the true position of each pair of the mounted devices using the actual distances identified between each pair of the mounted devices.
41. The device of any one of claims 38 to 40, wherein the at least one controller is further configured to locate a specific feature corresponding to one of the virtual devices, and the specific feature includes locating the one of the virtual devices to form a numerical series by reference to the distance of one or more other virtual devices and / or one or more other real devices.
42. The device of claim 35, wherein the at least one controller is further configured to control or guide one or both of control program (A) and / or program (B).
43. The device of claim 35, wherein the at least one controller is further configured to control or guide control program (A) and program (B).
44. A computer-readable medium including program instructions stored thereon for positioning devices in a facility, the instructions, when executed by one or more processors, causing the one or more processors to execute one or more programs, the one or more programs including a program (A) that includes measuring the signal-to-interference-plus-noise ratio (SINR) of signals received from each device and using the measured SINR to determine a relative position of each of the devices; A procedure (B) comprising transmitting an incident signal to a network containing the devices, using a time-domain reflectograph (TDR) to analyze the reflections of the signal from each of the devices, and using the analyzed reflections to determine the relative positions of each of the devices; and / or a procedure (C) comprising (i) using a virtual model of the facility, the virtual model comprising virtual devices located at virtual locations corresponding to planned locations of the devices in the facility, wherein each virtual device corresponds to a separate installed device; (ii) identifying actual distances between one or more pairs of installed devices; (iii) comparing the identified actual distances with the virtual locations using a probabilistic method; and (iv) at least in part by using the probabilistic method to match an assessment of the virtual locations with the actual locations of the devices.
45. The computer-readable medium as claimed in claim 44, wherein one or more of the devices are a window controller for a colorable window.
46. The computer-readable medium of claim 44, wherein the instructions are configured to cause one or more processors to determine a difference between at least one portion of the network, such as a construction configuration, and that portion of the network, such as a design configuration.
47. A computer-readable medium as requested in claim 44, wherein the instructions are configured to cause one or more processors to execute one or both of program (C) and program (A) and / or program (B).
48. A computer-readable medium as requested in claim 44, wherein the instructions are configured to cause one or more processors to execute one or both of program (A) and / or program (B).
49. A computer-readable medium as requested in claim 44, wherein the instructions are configured to cause one or more processors to execute program (A) and program (B).
Citation Information
Patent Citations
Robust downlink positioning
CN110383099A
Systems and methods for position-based building guidance
US10724867B1
Automated position detection for wireless building automation devices
US20060074494A1
Systems and methods for detecting and using equipment location in a building management system
US20150327010A1