Systems and methods for reconfiguring rooms in areas of a building
By selecting segments through a graphical user interface and automatically connecting them using a partition manager, the problem of time-consuming and labor-intensive room reconfiguration in existing technologies is solved, enabling flexible and economical room repartitioning.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-12-09
- Publication Date
- 2026-04-03
AI Technical Summary
Reconfiguring rooms in a building using existing technologies requires extensive manual work, including physical rewiring, equipment relocation, and control program adjustments, which is time-consuming and expensive.
A system and method are provided that allows users to select segments to be partitioned or grouped through a graphical user interface, and automatically create the necessary connections between segments using a partition manager, thereby achieving synchronous control of environmental control devices and avoiding the need for traditional remodeling.
It enables instant room reconfiguration without the need for expertise or renovation tools, simplifying the rezoning process and reducing manual renovation work and costs.
Smart Images

Figure CN115038912B_ABST
Abstract
Description
[0001] Cross-reference to related applications
[0002] This application claims priority and interest in U.S. Provisional Patent Application No. 62 / 946428, filed December 10, 2019, the entire contents of which are incorporated herein by reference. Technical Field
[0003] This disclosure relates to building automation and control, and more specifically, to methods and systems for reconfiguring rooms in areas of a building. Background Technology
[0004] A building management system (BMS) is a computer-based system that monitors and controls a building's technical systems and services, such as heating, ventilation, and air conditioning (HVAC), lighting, curtains or blackouts, security systems, access control systems, fire, smoke detection and alarms, hydraulic systems, etc. For example, an HVAC system provides monitoring and control of HVAC functions such as heating and cooling. Similarly, a lighting control system provides monitoring and control of room lighting functions, and a curtain control system provides monitoring and control of window / door curtains, etc. Attached Figure Description
[0005] A more detailed description of the present disclosure, which has been briefly outlined above, can be obtained by referring to various embodiments, some of which are illustrated in the accompanying drawings. While the drawings illustrate selected embodiments of the present disclosure, they should not be considered as limiting its scope, as the present disclosure may allow for other equally effective embodiments.
[0006] Where possible, the same reference numerals are used to denote the same elements common in the figures. However, elements disclosed in one embodiment may be advantageously used in other embodiments without specific description.
[0007] Figure 1 This is a diagram illustrating the relationships between the key terms used in this article.
[0008] Figure 2 This is a diagram showing an example floor plan of a building.
[0009] Figure 3 This is a diagram illustrating an example architecture of the disclosed system.
[0010] Figure 4A and 4B This is a diagram illustrating various embodiments of the disclosed system.
[0011] Figure 4C , 4D Figures 4E and 4E are diagrams illustrating segment inputs, segment outputs, and segment settings according to various embodiments of the disclosed system.
[0012] Figure 5A , 5B Figures 5 and 5C are examples illustrating partitions of two segments according to various embodiments of the disclosed system.
[0013] Figure 6A This is a diagram illustrating an example of distributed control of curtains in response to room re-partitioning, according to some embodiments of the disclosed system.
[0014] Figure 6B This illustrates responses to some embodiments of the disclosed system. Figure 6A The figure shows an example implementation of distributed control of a re-partitioned curtain system with three segments as described in the figure.
[0015] Figure 6C It is shown Figure 6B The diagram depicts details of an example curtain control object.
[0016] Figure 6D This is a diagram illustrating an example of distributed curtain control according to some embodiments of the disclosed system.
[0017] Figure 7A This is a diagram illustrating an example of a lamp control object according to some embodiments of the disclosed system.
[0018] Figure 7B This is a diagram illustrating an example of distributed lighting control according to some embodiments of the disclosed system.
[0019] Figure 8A -F illustrates an example user interface based on some embodiments of the disclosed system.
[0020] Figure 9A This is a diagram illustrating an example user interface depicting a repartitioned view according to some embodiments of the disclosed system.
[0021] Figure 9B It shows the corresponding Figure 9A The diagram depicts the controller and segment folder structure of the partition view.
[0022] Figure 10 This is a diagram illustrating some example components of an automated server according to some embodiments of the disclosed system.
[0023] Figure 11 This is a diagram illustrating an example method for creating or rearranging an environmental control zone.
[0024] Figure 12A This is a diagram illustrating example methods of partitioning / repartitioning according to some embodiments of the disclosed system.
[0025] Figure 12B This is a diagram illustrating an example method of repartitioning a region by adding new segments, according to some embodiments of the disclosed system.
[0026] Figure 12C This is a diagram illustrating an example method of repartitioning by removing segments from a region, according to some embodiments of the disclosed system.
[0027] Figure 12D This is a diagram illustrating an example method of performing space repartitioning using partition presets according to some embodiments of the disclosed system. Detailed Implementation
[0028] This disclosure describes systems and methods for dynamically reconfiguring rooms within a region (hereinafter referred to as the "disclosed system" or "zoning system").
[0029] In a typical construction, a building is initially equipped with heating and cooling, lighting, curtains, etc., without knowing how the floors will be laid out into different zones or rooms. Rooms are usually configured later, typically in consultation with the building's occupants. Once the rooms are defined based on the needs of the building's occupants (e.g., by adding walls), control systems for regulating environmental conditions within the space (e.g., HVAC, lighting, curtains) are put into use for each room. This process is called zoning and involves a considerable amount of manual modification work, such as adjusting control programs or applications to create functional rooms (i.e., rooms with operating environmental control systems).
[0030] After a period of time, it may be necessary to reconfigure or rearrange rooms on a floor. This can be due to a variety of reasons. For example, the needs of building occupants may have changed (e.g., the need for more meeting rooms than individual offices), the building or floor may be undergoing renovations, or new building occupants may require a different room layout. This reconfiguration or rearrangement of rooms, known as rezoning, typically involves physical rewiring, repositioning of equipment, manual adjustments to control programs / applications, re-tuning, and so on. Therefore, rezoning also involves a significant amount of manual work, specialized modification tools, and skilled personnel, all of which are time-consuming and expensive.
[0031] The disclosed system addresses the aforementioned problems by providing a flexible way to perform repartitioning on the fly without requiring traditional or significant rebuilding. For example, the disclosed system can reconfigure rooms without requiring users to create any bindings or move objects in the database, both of which require expertise and rebuilding tools. Instead, the disclosed system allows users to simply select segments to be partitioned or grouped together from a graphical user interface. The partition manager on the server then automatically creates the necessary connections or bindings between objects to enable synchronized control of environmental control devices within the room. Details of various embodiments of the disclosed system will now be described with reference to the accompanying drawings.
[0032] Figure 1 This is a diagram illustrating the relationships between the key terms used in this document. Segment 105 is the smallest logical unit describing space. Room 110 (or zone) includes one or more segments 105. Area 115 includes one or more rooms 110. Building 120 includes one or more areas 115. Property 125 includes one or more buildings 120. Finally, portfolio 130 includes one or more properties. In some embodiments, segments 105 within area 115 can be identified from the perspectives of flexibility, retrofit efficiency (e.g., trade-offs between cost, reusability, and maintainability factors), and performance and scalability.
[0033] Figure 2 This is a diagram illustrating an example floor plan of a building. Floor plan 200 includes multiple environmental control devices (e.g., curtains 235, lights 245, and HVAC 240). As used herein, environmental control devices include means for regulating environmental conditions within a space. By way of example only, environmental control devices may include lighting equipment (i.e., lamps), shading equipment (e.g., curtains), and HVAC equipment. In some embodiments, environmental control devices may also include other means such as room units / thermostats, fire / security equipment, access devices, etc. Floor plan 200 also includes logical items or segments 205A-J. As shown, a segment may include or be associated with one or more environmental control devices. For example, segment 205A includes four curtains 235, one light 245, and one HVAC device 240, while segment 205J includes one curtain 235 and one light 245 device. One or more of these segments may be grouped together to create or define rooms.
[0034] Figure 3This diagram illustrates an example architecture of the disclosed system. As shown, the smallest logical unit, segment 305, can be grouped or partitioned together to create room 310. For example, room 310-1 is formed by grouping two segments 305 together. From a hardware perspective, controller 350 can host one or more rooms 310. More specifically, controller 350 can host one or more segments, and these segments can be grouped together into one or more rooms. During partitioning, associations or links between segments and rooms can be created or rearranged, and further operation of the environmental control devices can be synchronized.
[0035] refer to Figure 3 Room controller 350-1 hosts three segments 305, two of which are part of room 310-1 and one of which is part of room 310-2. Room controller 350 owns and drives its own environmental control devices. For example, a segment in room 310-1 could have a curtain controller to control the opening and closing of curtains. The curtain controller would be owned and driven by room controller 350-1. For instance, room controller 350 could be a room destination controller (RP-C) from Schneider Electric.
[0036] In some embodiments, the disclosed system includes one or more automation servers 355 or area controllers. In some embodiments, the automation server device 355 may perform functions such as executing control logic, communication for advanced displays, trend logging, alarm monitoring, and supporting communication and connectivity to I / O and fieldbuses. An example of an automation server device 355 is Schneider Electric's AS-P. Reference Figure 3 Each automation server device 355 can communicate with one or more room controllers 350 and can be responsible for managing, monitoring, and controlling the room controllers associated with a region. For example, region controller 355-1 can be responsible for monitoring and controlling region 315-1, which includes room controllers 350-1, 350-2, and 350-3. In some other embodiments, the automation server can host two or more regions. In some embodiments, grouping across regions (or between automation servers) is possible. It should be noted that in some embodiments, repartitioning may be performed only within one region. For example, segments from region 315-1 cannot be grouped together with segments from region 315-2.
[0037] Figure 4A This is a diagram illustrating segment objects according to some embodiments of the disclosed system. As used herein, "I" is a physical input 409 (e.g., a sensor, a button), "S" is a user-controlled software setting 416 (e.g., a setpoint, a mode), "O" is a physical output 413, "L" is a local reference, and "R" is a remote reference.
[0038] A room controller (e.g., RPC 450) hosts one or more segment objects 405. Each segment object 405 may include a segment input object 406, a segment setup object 407, and a segment output object 408. Some segment objects may include a control program 412.
[0039] Segment input object 406 includes a list of remote attribute (R) and local attribute (L) references, an algorithm, and an output. The algorithm may include, but is not limited to, an OR operation, an AND operation, an averaging operation, a summation operation, a maximum or minimum operation, a toggle operation, etc. In some embodiments, the algorithm may be more complex, such as an algorithm for counting across segments, whose output may affect the behavior of the environmental control device. In various embodiments, the input may be analog or binary (i.e., digital). Segment output object 408 may be an analog value, a binary value, an integer value, etc. For example, for light and curtain control, the output may be a percentage (50%). In some embodiments, each output object 408 may have remote (R) and local (L) attribute references.
[0040] The segment setting object 407 may include one or more user-controllable software settings 416, such as setpoints, operating modes, etc. For example, a temperature setpoint that a user can use to configure an application is a user-controllable software setting. Another example of a user-controllable software setting is the level of curtains or lights (curtains open 50%). In some embodiments, settings can be set via an external human-machine interface (HMI), via a reset timer, a mobile application, etc.
[0041] Typically, setting 416 and physical input 409 are inputs 411 to control program 412, which in turn controls output 414. As shown, segment input 406 can be placed between input 411 and control program 412, and segment output 408 can be placed between control program 412 and physical output 414. These settings are changed to segment setting 407, which allows the settings to be shared in multiple locations, including with room units (e.g., thermostats).
[0042] In some embodiments, if a segment object is offline during repartitioning, its new configuration may need to be downloaded (to the room controller) once it becomes online again. Additionally, in some embodiments, remote references to segment object 405 may be hidden.
[0043] In some embodiments, a segment object may be represented as a segment folder, such as Figure 4A and further Figure 4BAs shown. Segment folder 405 can include segment points. Segment points can include segment analog inputs, segment analog outputs, segment analog settings, segment curtain outputs, segment digital inputs, segment digital outputs, segment digital settings, segment lamp outputs, segment polymorphic outputs, and / or segment polymorphic settings. These objects enable runtime synchronization of applications (e.g., control environment devices). To prepare an application for partitioning, segment points can be inserted between the program (i.e., the control program) and the actual inputs and outputs. Reference Figure 4B A segment for digital input is inserted between the digital input and the program, and a segment for analog setting is inserted between the room unit setpoint (actual setting) and the program. Similarly, a segment for analog output is inserted between the program and the actual analog output. In some embodiments, the attributes of the segment folder include a role describing the current role of the segment. The role can be a master role, a member / subordinate role, or an independent role. If the segment can act as a master segment, the "Master Capability" attribute can be set to "True". The master role is an object reference to the master segment.
[0044] Figure 4C -E is a diagram illustrating the configuration of segment inputs, segment outputs, and segment settings according to some embodiments of the disclosed system. As previously described, a segment input has a list of attribute references to the values of the actual input points, referred to as local inputs. It also has a list of remote inputs processed by the partition manager. The algorithm specifies how the input values are calculated. Both local and remote inputs can be included in this calculation. Input values from offline room controllers are not included in the calculation to avoid stale data (e.g., temperature readings) distorting calculations (e.g., averaging). If the object is not part of a partition, the exclusion attribute can be set to "true". For example, a user might want to use this object to process multiple input values using calculations but might not want to synchronize them with inputs in other segments.
[0045] refer to Figure 4D As mentioned above, a segment output has an attribute reference to a value, called a local value (or local reference), which is typically the program's output value. It also has a remote value (or remote reference) that is handled by the partition manager. The remote value references the value of the corresponding segment output in the master segment. Remote values from the master segment override local values in member segments. If the room controller with the master segment is offline, the local value is used until the master segment comes online again. If the user does not want this object to be part of the partition, the exclusion attribute can be set to "true".
[0046] refer to Figure 4ESegment settings can have local value references for reset and remote value purposes, which is handled by the partition manager. It is the value bound to the segment setting that holds a reference to the segment setting value. This binding results in what is called an HMI reference, and the segment setting value and, for example, the setpoint in a room fixture will be synchronized. Segment settings with remote value references will also be included in the synchronization. If the user does not want this object to be part of the partition, the exclusion attribute can be set to "true".
[0047] Return to reference Figure 4B A segment folder can include segment light and curtain outputs with multiple local values and is typically bound to a program. In some embodiments, segment light and curtain objects can be used to control lights and curtains. Remote references handled by the partition manager are object references. This implementation uses this object reference to transfer multiple values from the primary segment light / curtain output to member segment light / curtain outputs. If the user does not want this object to be part of the partition, the exclusion attribute can be set to "true".
[0048] Figure 5A This is a diagram illustrating an example of partitioning two segments according to some embodiments. For any two or more segments to be grouped together in a region, one segment may be designated as the master segment (or primary segment) and the other segment may be designated as the slave segment (or secondary segment). Any segment with a control program can be designated as the master segment. Conversely, a segment without a control program cannot be designated as the master segment. As shown, each of the master segment 505A and slave segment 505B includes a control program, thus either segment can become the master segment.
[0049] In the example shown, the physical input (I) of segment 505B is connected to a remote reference (R) of the master segment input object 506A. A local reference (L) of the master input segment object 506A is connected to input 511A, which includes local physical input (I) 509A and a setup object 507A. Furthermore, the setup object 507A is shared between the master and slave segments. A remote reference (R) of the slave segment output object 508B is connected to the output of the master segment output object 508A that drives the physical output 513A.
[0050] Operationally, this connection between the master and slave segments means that the input to the master segment's control program can come from either the master or slave segment, and the output of the master segment's control program drives the outputs of both the master and slave segments. In other words, in this example, the slave segment's control program is uncertain about its output, and as long as the master segment is operable, slave segment 505B will be controlled by master segment 505A. For example, when a user presses a button (i.e., a physical input) in slave segment 505B to turn on a light, master segment 505A responds to the input by turning on the lights in both master segment 505A and slave segment 505B, thus providing synchronous control of the lights in both segments.
[0051] Figure 5B This is a diagram illustrating the partitioning of two segments according to some embodiments of the disclosed system.
[0052] Segment folders can define applications that can be partitioned and repartitioned. Applications within a segment folder represent segment objects. (See reference) Figure 5B This describes two segments, namely Segment 1 and Segment 2. Each segment folder is created within the application folder structure of the controller (e.g., RPC). A segment folder does not need to contain all objects of the application. For example, some objects may not be included because they reside outside the application folder structure. However, segment points of the application may need to be included. For the partition manager to handle bindings between segments during partitioning / repartitioning, the structure of segment points within a segment folder must be identical. For example, two segment points of the same type with the same path and name can be considered identical.
[0053] Users can determine which segment is the master segment. However, for a segment to become the master segment, it must have a control program that allows an application to take over and control the device of another segment. In some embodiments, the master capability attribute of a segment can be set to true to designate that segment as the master segment. The master segment has all the necessary control programs, segment settings, segment inputs, and segment outputs, which are bound to a physical point to control the device. Figure 5B In the example shown, if segment 1 is designated as the master segment by the user, segment 2 can be considered either a slave segment or a member segment. Member segments can be the same as the master segment (as in this example), but they can also contain only bound segment outputs within the member segment.
[0054] When these two segments are grouped together in a partition (e.g., using a partition application user interface), it causes segment synchronization. The partition manager matches segment points in the segment folder and binds remote value attributes to the application for synchronization, such as... Figure 5C As shown. Within this area, one segment is the master segment, and the other segments are either member segments or slave segments. Ungrouped segments (i.e., not belonging to any area) are independent segments, and the applications they contain work independently of each other.
[0055] Figure 6A This is a diagram illustrating an example of distributed and synchronous control of curtains in response to room re-partitioning, according to some embodiments of the disclosed system.
[0056] Repartitioning (where one or more segments work together to form a room or zone) implies distributed and synchronous control. For example... Figure 6AAs shown, the automation server 655 communicates with room controllers 650A, 650B, and 650C. In some embodiments, communication between the automation server 655 and room controllers 650A-C is via BACnet IP. In other embodiments, data exchange (e.g., configuration communication) between the server 655 and the ROM controllers can be performed via an IP network hub. In other embodiments, other network protocols such as Modbus or LonWorks can be utilized. Room controller 650A hosts master segment 605A, room controller 650B hosts slave segment 605B, and room controller 650C hosts slave segment 605C. When these three segments are grouped together in a single room or zone 610, distributed and synchronous control is established on all three segments. In other words, master segment 605A can control slave segments 605B and 605C, and input detected in a slave segment can trigger master segment 605A to respond.
[0057] As shown in the figures, in some embodiments, each segment may include multiple controller modules. For example, the main segment 605A includes a room controller 650A, which is connected to controller modules 660A-1, 660A-2, and 660A-3. The room controller can exchange data with the controller modules via appropriate data communication protocols, such as MODBUS, EtherNet / IP, ProfiNet IO, etc. The slave segment 605B includes a room controller 650B, which is connected to the three controller modules 660B-1, 660B-2, and 660B-3 via MODBUS. Similarly, the slave segment 605C includes a room controller 650C, which communicates with controller modules 660C-1, 660C-2, and 660C-3 via MODBUS. In some embodiments, these controller modules include controllers suitable for controlling specific types of environmental control devices. For example, controller module 660A-1 is a curtain controller module for controlling curtains (e.g., opening or closing curtains, changing the opacity of curtains, etc.). Other examples of controller modules include, but are not limited to, lamp controller modules for controlling lights (e.g., turning them on or off, changing their intensity) and HVAC controller modules for controlling heating and / or cooling. Controller modules can exchange data with environmental control equipment using field-level networks (e.g., CANOpen, DeviceNet, Fieldbus, LonWorks, etc.) or by connecting directly to a port (e.g., RS-485).
[0058] Operationally, when a user presses button 645B in segment 605B, the input from the button press reaches the main segment 605A via MODBUS and BACnet IP. Although curtains 635A, 635B, and 635C are distributed across three different segments and controlled by their respective room controllers and controller modules, the output from the main segment 605A drives the opening or closing of all curtains 635A, 635B, and 635C in all segments. This type of distributed and synchronous control of the segmented areas ensures that all curtains 635A-C on the three segments react promptly, align, and avoid unnecessary movement (atomicity) and operate synchronously.
[0059] Figure 6B This illustrates responses to some embodiments of the disclosed system. Figure 6A The figure shows an example implementation of distributed control of a re-partitioned curtain system with three segments as described in the figure.
[0060] For reference Figure 6A The three segments 605A-C are grouped together, and the main segment 605A, carrying the control application 612 (i.e., the curtain control object), controls the opening / closing of the curtains in the main segment 605A and the slave segments 605B and 605C. Distributed control is achieved by having the main segment input object 606 combine inputs from the main and slave segments. In this example, the input from button 645B in slave segment 605B is connected to a remote reference of the main segment input object 606, thereby providing a single button input to the curtain control object 612. The curtain control object 612 includes a control program or application that controls curtain operations (e.g., opening / closing, changing opacity). In some embodiments, the curtain control object 612 may have other operating modes (e.g., automatic control, scene control, manual control) that may require additional inputs. The output of the curtain control object 612, which may include angles and positions, is provided to a local reference (L) of the main segment output object 608A, which then controls the operation of the curtain 635A in the main segment. As part of implementing distributed control, the output from the master segment output object 608A is also connected to remote references (R) of the slave segment output objects 608B and 608C. In this way, input from the slave segments is provided to the curtain control object in the master segment to generate an output, which is then distributed to all curtains, allowing the slave segments to follow the master segment. Therefore, when the user presses button 645B, it causes all three curtains 635A-C to change their position and angle by the same amount determined by the output of curtain control object 612. Thus, the three segments, partitioned together to form a room, work together to control the opening / closing of the curtains.
[0061] Figure 6C It shows Figure 6BThe diagram illustrates a detailed example of a curtain control object. In some embodiments, the curtain control object 612 includes one or more control algorithms. For example, it may include an automatic control algorithm 616 that accepts input 622 (e.g., control position and angle) and produces position and angle as output. In some embodiments, automatic control may include automatically opening or closing the curtains based on a schedule. For example, the schedule may be derived from or correlated with solar tracking. In some embodiments, automatic control may include curtain control based on HVAC integration.
[0062] The curtain control object 612 may include a scene control algorithm. This algorithm can accept various inputs, such as abnormal scenes, automatic control, scene position and / or scene angle, and generate position and angle as outputs.
[0063] In some embodiments, the curtain control object 612 may include a button / manual control algorithm that enables curtain control via absolute position and angle. This control option can accept various inputs 622. One type of input may be a button capable of providing absolute position and angle input. Another type of input may be two spring-loaded buttons, one for increasing pressure and one for decreasing pressure. Yet another type of input may be a switch with short-press (push and release to control the curtain to move up or down a fixed amount) and / or long-press (hold and release to control the curtain to move up or down a desired amount) modes. Depending on which inputs 622 are detected, the state machine 619 enters one of an automatic control state, a scene control state, or a button control state. The position and angle outputs corresponding to the active state are selected as outputs 621 of the curtain control object 612. In some embodiments, the button / manual control state may not switch to the automatic control state, but the scene control state may.
[0064] Figure 6D This is a diagram illustrating an example of distributed curtain control according to some embodiments of the disclosed system.
[0065] As shown in the figure, segments 605A-605D are grouped together to form a room. In this case, segment 605A is designated as the master segment because it includes the curtain control object 612, while the other segments do not have control objects. The output 621 from the curtain control object is connected to a local reference (L) of the segment output object 608A, and the output of the master segment output object controls the curtains in the master segment 605A and the segments 605B-605D. There are several ways to implement this distributed control in hardware. For example, all segments could be hosted in a single room controller.
[0066] Figure 7A This is a diagram illustrating an example of a lamp control object according to some embodiments of the disclosed system. Similar to reference... Figure 6B, 6C Similar to the curtain control object 612 described in 6D, the lighting control object 712 includes one or more control algorithms to control the color and / or level of lighting devices (e.g., by outputting color and / or light level). Some examples of control algorithms include a color control algorithm 716, a constant lighting control algorithm, a scene control algorithm 718, and a button / manual control algorithm 723. The color control algorithm 716 accepts a control color, scene color, button color, and manual color as input 722 and outputs a color 724. For example, a spring-loaded button can be used to input the color. The constant lighting control algorithm 717 can accept a light sensor reference setpoint (lux) and a light sensor (lux) as input, along with an output light level (%) as input 722. The scene control algorithm 718 accepts an abnormal scene, constant lighting, and scene level as input and outputs a light level. Manual and automatic scene control are possible. For example, automatic circadian rhythm color control can be implemented using a schedule. Buttons can be used for absolute level and color. In some implementations, the level can be set using a spring-loaded button that can toggle direction (up or down) each time. For example, a short press might mean 100% (up) or 0% (down), while a long press might mean dimming up or down. The button / manual control algorithm 723 takes button press, ramp rate, current level, and manual level as inputs and outputs the light level. The manual level can be manually set via the room unit, while the current level can be output based on the light level of the light control object 721. Based on the detected and / or received inputs, the state machine transitions to an automatic control state, a scene control state, or a button control state, and outputs the light level 721 corresponding to the active state.
[0067] Figure 7B This is a diagram illustrating an example of distributed lighting control according to some embodiments of the disclosed system.
[0068] As shown in the figure, the lamp horizontal output 721 from the master segment 705A controls the lamps 745A-D in the master segment 705A and the slave segments 705B-D. Output 721 is connected to a local reference (L) of the output segment object 708A that controls the lamp 745A. The output segment object 708A is also connected to a remote reference (R) of each output segment object 708B-D, which then controls the corresponding lamp 745B-D.
[0069] There are several methods to implement distributed control in hardware. For example, all segments can be hosted in a single room controller. In some implementations, the forward path may include multiple individual lights on the same module, or multiple individual lights on multiple modules. In such implementations, there may be multiple concurrent control sources. As another example, these segments can be hosted on multiple room controllers. In this case, the forward path may include multiple cross-room controller bindings, master serving multiple slaves, timing effects across RP bindings, and / or multiple concurrent control sources.
[0070] Figure 8A -F illustrates an example user interface based on some embodiments of the disclosed system.
[0071] refer to Figure 8A The user interface depicts a floor plan 800A of an area with a set of curtains 835, a set of HVAC equipment 840, and a set of lights 845. (Reference) Figure 8B The user interface depicts a segment view 800B of the area. This area is divided into 10 segments 805A-J. As shown, each segment can include one or more environmental devices (e.g., lights, curtains, HVAC). Figure 8C This is the user interface for the room view 800C depicting this area. As shown in the figure, from... Figure 8B The ten segments are now shown as being reconfigured into five rooms or zones. Zone 101 includes segments 101:A and 101:B, where the north and west curtains are both open at 0% (i.e., closed), the light level is set to 100%, and the HVAC is set to automatic. Zone 102 includes segments 102:A and 102:B, where the curtains are closed, the light level is 100%, and the HVAC is set to automatic. Zone 103 includes segments 103:A and 103:B, where the curtains are closed, the light level is 100%, and the HVAC is set to automatic. Zone 104 includes segments 104:A and 104:B, where the curtains are closed, the light level is 100%, and the HVAC is set to automatic. Finally, Zone 105 includes segments 105:A and 105:B, where the curtains are closed, the light level is set to 100%, and the HVAC is set to automatic.
[0072] refer to Figure 8D The user interface depicts an ungrouped view 800D, which includes a list of ungrouped or independent segments. In some implementations, the user can select one or more segments and choose "Group as Zone" to link or group these segments together to create a zone or room. For example, the user can select segments 102:A and 102:B and choose the "Group as Zone" option 852 to create "Zone:102", as shown below. Figure 8E The area-grouping view is shown in 800E. See again... Figure 8EThe user interface depicts various groups of segments or sections 101-105. Before two or more segments can be grouped together, the exposed system's rule engine checks whether the segments to be grouped together satisfy one or more rules used for partitioning / repartitioning. An example of such a rule is that at least one of the segments to be grouped together must be a primary segment. For example, in... Figure 8D and 8E In this context, segment 102:A is a segment with master control capabilities, so segment 102:A and segment 102:B, which is not a segment with master control capabilities, can be grouped to create region 102. Although not shown, in some implementations, other modifications to the region are possible. For example, by selecting the "Ungroup Region" option 853, links between segments can be severed. By selecting the "+Add to Region" option 854, one or more segments can be added to an existing region. Similarly, to remove one or more segments from an existing region, the option "-Remove from Region" 856 can be selected. The user can save the changes by selecting the "Save" option 851.
[0073] Figure 8F This is the user interface of room view 800F, depicting the areas including synchronized sections after rezoning. As shown, in zone 101, the two north-facing curtains are synchronized and both are at 100%. The three west-facing curtains are synchronized and all are at 100%. The two lights are synchronized and both are off at 0%. Finally, the HVAC is set to cooling. In zone 102, the curtains and lights work together, and the HVAC is set to heating. Similarly, in zone 103, the lights and curtains are synchronized, and the HVAC is set to automatic control, etc.
[0074] Figure 9A This is a diagram illustrating an example user interface depicting a repartitioned view according to some embodiments of the disclosed system. The repartitioned view 900A depicts a first section including segment 1 and segment 2, where segment 1 is the active master segment; a second section including segment 3 and segment 4, where segment 4 is the active master segment; and independent segments including segment 5 and segment 6. The controller and segment folder structure corresponding to this configuration are as follows: Figure 9BAs shown. Folder structure 960 includes a zone folder named "Master RP-C-12A / Segment 1", which contains two segment folders "RP-C-12A / Segment 1" and "RP-C-12A / Segment 2", both of which have master control capabilities. The zone folder names represent the controller ("RPC-12A") and the active master segment ("Segment 1"). A second zone folder named "Master RP-C-12B / Segment 4" contains two segment folders "RP-C-12A / Segment 1" and "RP-C-12A / Segment 2", both of which have master control capabilities, with segment 4 being the active master segment. View 961 depicts the controllers and the segment folders residing within them. For example, segments 1, 2, and 3 reside in controller "RP-C-12A", while segments 4, 5, and 6 reside in controller "RP-C-12B". Both controllers are hosted by the same server 955.
[0075] Figure 10 This is a diagram illustrating a disclosed system according to some embodiments. The disclosed system 1000 may include a client device 1057 from which a partitioning tool or network or mobile application can be launched to perform partitioning / repartitioning. It should be noted that partitioning / repartitioning can be performed at runtime or offline. In various embodiments, the client device 1057 may be a computer system. The computer system may be a workstation, personal computer, mobile device, tablet, HMI, or any other device capable of connecting to a communication network to communicate with an automation server 1055. In some embodiments, the communication network may be a building automation network 1056. The automation server 1055 may include one or more components or modules, such as a user interface module 1070, a partition manager 1062, one or more processors 1063, memory 1064, a network interface 1066, etc. The automation server 1055 may be communicatively coupled to one or more data stores 1067. It should be noted that the automation server 1055 may include many other components or modules not described or shown. In various embodiments, one or more modules may be combined or subdivided.
[0076] User interface module 1070 can generate user interfaces that users can interact with, for example... Figure 8AThose shown in -F. In some embodiments, the user interface module 1070 may receive input (e.g., segments to be partitioned / repartitioned) and provide the input to the partition manager 1062. The partition manager 1062 may include a rule engine 1071 that uses a set of rules to determine whether the input from the user is valid or compatible. For example, the rule engine may check whether the selected segments to be grouped have path / name matching and type matching. If they do not match, the segments may not be grouped. Similarly, another rule that may be checked is whether a master segment has been selected for the zone. If no master segment has been selected, in some embodiments, the first segment found to have mastering capability may be selected as the master segment. In other embodiments, the segment with mastering capability that is the union or sum of all segments may be selected as the master segment. Another example of rules includes checking to ensure that the segments being grouped control the same type of environmental control devices. For example, a curtain segment that controls curtains may not be grouped with a light segment that controls lights. Similarly, the output of the curtain segment may not be connected to an HVAC device. Various other rules may also ensure the repartitioning results in a fully functional zone. In some embodiments, the partition manager 1062 may use a partitioning policy to determine whether the user has permission to perform partitioning actions.
[0077] The automation server 1055 can be communicatively coupled to one or more data stores 967. The data stores can store rules, partitioning strategies, partitioning configurations, or presets, etc.
[0078] In some embodiments, the automation server 1055 can implement Figure 11The method described in [the document] includes receiving a user request to reconfigure a room or perform partitioning at box 1172. The user request may include at least two segments in a master-slave configuration. The received information may be parsed by user interface module 1070 and provided to partition manager 1062. In some embodiments, rule engine 1071 may be part of partition manager 1062. Rule engine 1071 may check the compatibility of selected components (e.g., whether repartitioning is possible) based on a set of rules as described above at box 1173. These set of rules may be stored in data storage 1067. If segments cannot be grouped together, an error may be notified to the user at box 1174 in some embodiments. Alternatively, in other embodiments, user notification may not be provided. Partition manager 1062 may combine and assign inputs associated with the master segment and at least one slave segment to a single input of a control procedure at box 1175 for controlling environmental control devices such as HVAC, curtains, lights, etc. In some cases, only one master segment or slave segment may have input. In this case, because there is only one physical input, the physical input combination step is not required. Partition manager 1062 can distribute the output of the control program in the master segment to at least one slave segment in box 1176 to synchronize their operation. Partition manager 1062 can also combine settings between the master segment and at least one slave segment in box 1177 so that these settings can be shared between segments at runtime. By performing these steps, partition manager 1062 creates a partition in which the master and slave segments operate synchronously to control environmental control devices without any manual modification, rewiring, or reprogramming.
[0079] Figure 12A This is a diagram illustrating an example method of partitioning / repartitioning according to some embodiments of the disclosed system.
[0080] Method 1200A includes receiving a user request in box 1278 to group at least a first segment and a second segment together to create a region. The user request can be made using a partitioning tool accessed from client device 1057. Automation server 1055 can receive the user request (e.g., via user interface module 1070). In box 1279, partition manager 1062 (including rule engine 1071) can validate the user request using one or more rules. The one or more rules include rules that each object in the primary segment has the same type and the same path as its corresponding object in the second segment. The one or more rules also include rules that at least one of the primary or second segments has an enabled master-controlled attribute (i.e., set to true). In box 1280, partition manager 1062 automatically links each object in the second segment to its corresponding object in the primary segment to create the region. Within this region, control of environmental control devices associated with the primary and second segments is synchronized.
[0081] Figure 12B and 12C This is a diagram illustrating example methods of repartitioning by adding new segments and removing existing segments, according to some embodiments of the disclosed system.
[0082] refer to Figure 12B Method 1200B begins at box 1281, where a user request to add a new segment to the zone is received. In response, at box 1282, the partition manager 1062 (e.g., via rule engine 1071) can validate the user request using one or more rules. At box 1283, after validating the user request, the partition manager 1062 automatically links each object in the new segment to the corresponding object in the master segment, thereby extending the synchronization control of the environmental control device to both existing and new segments in the zone.
[0083] refer to Figure 12C Method 1200C begins at box 1284, where automation server 1055 receives a user request to remove a segment from the zone. In response, at box 1285, partition manager 1062 (e.g., via rule engine 1071) can validate the user request using one or more rules. Examples of validation could include checking whether the removal of the segment results in only one member remaining, which subsequently becomes an independent segment. In this case, partition manager 1062 can proceed with the removal of the segment with or without user consent. Another example of validation could include checking to ensure that at least one mastering segment remains in the zone after the segment is removed. Various other rules, including but not limited to those described above, are also applicable. At box 1286, partition manager 1062 automatically links each object in any existing segment to the corresponding object in the master segment. For example, if the zone comprises two mastering segments, and the removed segment is the current master segment, partition manager 1062 can designate the other remaining mastering segment as the current master segment. The input, output, and / or setting objects in the existing member segments are then linked to the newly designated master segment to create a functional area with synchronization control.
[0084] In some embodiments of the disclosed system, partitioning presets can be defined, and configurations associated with these presets can be used to perform partitioning. This contrasts with allowing users to select or identify segments to be grouped together. The partitioning presets used here comprise a set of segments that can be combined in one or more predefined configurations. Each such segment configuration can then be activated manually or automatically to achieve repartitioning. For example, consider a floor plan including movable walls. The sliding walls can be moved in the morning to create a large conference room and in the afternoon revert to two separate conference rooms (room 1 and room 2). In this example, room 1 includes segments A and B, and room 2 includes segments C and D. Therefore, segments A, B, C, and D are considered part of a partitioning preset, where in a first predefined configuration, segments A, B, C, and D are grouped in one area and synchronized. In a second predefined configuration, segments A and B are grouped together in one area, while segments C and D are grouped together in another area, such that the two areas operate independently of each other. The predefined configurations can be activated automatically, for example, based on a date / schedule, detected movement of the sliding walls, engagement / disengagement of magnetic contacts, etc.
[0085] Figure 12D This is a diagram illustrating an example method of performing space repartitioning using partition presets according to some embodiments of the disclosed system.
[0086] The method begins at box 1287, defining a set of segments as part of a partition preset. This information can be received from the user and stored in data storage 1067. At box 1288, one or more configurations for the segments can be created. Configurations can be created based on user-made selections. Each configuration of a segment can include two or more segments from that set of segments, including the partition preset. In some embodiments, creating one or more configurations includes validating each configuration using one or more rules such as those described above (e.g., via partition manager 1062). For each configuration, partition manager 1062 can automatically link each object in the member segments to a corresponding object in the master segment to create one or more partitions.
[0087] In box 1289, partition manager 1062 assigns a unique index or identifier to each configuration. In some embodiments, in box 1292, partition manager 1062 can connect each unique index to a control program to enable automatic activation of the configuration corresponding to that unique index. In other embodiments, each unique index can be configured for manual activation. Manual activation can be the default option if a unique index is not connected to a control program. In other embodiments, some unique indexes can be connected to a control program, while others can be manually activated. These configurations can be stored in data storage 1067 and / or downloaded to one or more room controllers. In operation, activation of a unique index can be detected in box 1293 (e.g., by the sliding opening of a movable wall that can be detected by a sensor or the activation of a motor). In response, the disclosed system can select the configuration corresponding to the activated unique index in box 1294 and execute the selected configuration in box 1295 (i.e., create one or more zones according to the selected configuration).
[0088] Various embodiments have been referenced above. However, the scope of this disclosure is not limited to the specifically described embodiments. Rather, any combination of features and elements described, whether or not associated with different embodiments, is considered to implement and practice the contemplated embodiments. Furthermore, while embodiments may achieve advantages over other possible solutions or prior art, whether a particular advantage is achieved by a given embodiment does not limit the scope of this disclosure. Therefore, the foregoing aspects, features, embodiments, and advantages are merely illustrative and should not be considered as elements or limitations of the appended claims unless expressly stated in the claims.
[0089] The various embodiments disclosed herein can be implemented as systems, methods, or computer program products. Therefore, aspects can take the form of entirely hardware embodiments, entirely software embodiments (including firmware, resident software, microcode, etc.), or embodiments combining software and hardware aspects, which are generally referred to herein as “circuit,” “module,” or “system.” Furthermore, aspects can take the form of computer program products contained in one or more computer-readable media, on which computer-readable program code is included.
[0090] Any combination of one or more computer-readable media may be used. The computer-readable medium may be a non-transitory computer-readable medium. A non-transitory computer-readable medium may be, for example, but not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatuses, or devices, or any suitable combination thereof. More specific examples (not an exhaustive list) of non-transitory computer-readable media may include: electrical connections having one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable optical disc read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof. Program code contained on a computer-readable medium may be transmitted using any suitable medium, including but not limited to wireless, wired, fiber optic cable, RF, etc., or any suitable combination thereof.
[0091] Computer program code used to perform the operations of various aspects of this disclosure can be written in any combination of one or more programming languages. Furthermore, such computer program code can be executed using a single computer system or multiple computer systems communicating with each other via a network interface (e.g., 1066) (e.g., using a local area network (LAN), wide area network (WAN), the Internet, etc.). While various features have been described for the foregoing with reference to flowcharts and / or block diagrams, those skilled in the art will understand that each block of a flowchart and / or block diagram, and combinations of blocks in flowcharts and / or block diagrams, can be implemented by computer logic (e.g., computer program instructions, hardware logic, combinations of both, etc.). Typically, computer program instructions stored in memory (e.g., 1064) can be provided to a processor (e.g., 1063) of a general-purpose computer, special-purpose computer, or other programmable data processing device. Furthermore, execution of such computer program instructions using a processor creates a machine capable of performing the functions or actions specified in the flowcharts and / or one or more block diagram blocks.
[0092] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and / or operation of various embodiments of this disclosure. In this regard, each block in a flowchart or block diagram may represent a module, code segment, or portion, which includes one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative embodiments, the functions marked in the blocks may not appear in the order indicated in the figures. For example, two blocks shown consecutively may actually be executed substantially simultaneously, or these blocks may sometimes be executed in reverse order, depending on the functions involved. It will also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, may be implemented by a system based on dedicated hardware or a combination of dedicated hardware and computer instructions that performs the specified function or action.
[0093] It should be understood that the above description is intended to be illustrative and not limiting. Many other examples of implementation will become apparent after reading and understanding the above description. Although specific examples have been described in this disclosure, it should be recognized that the systems and methods of this disclosure are not limited to the examples described herein but can be implemented with modifications within the scope of the appended claims. Therefore, the specification and drawings should be considered illustrative and not restrictive. Consequently, the scope of this disclosure should be determined by reference to the appended claims and the full scope of their equivalents.
Claims
1. A system for reconfiguring rooms within a building automation area, comprising: Multiple environmental control devices, each associated with a segment in the corresponding area to be reconfigured; One or more controllers for monitoring and controlling environmental control devices, each controller hosting one or more segments, each of the multiple segments including a segment input object, a segment setting object, and a segment output object, and at least some of the multiple segments including a segment control object that executes a control program to control the environmental control device, the segment input object providing input to the segment control object, the segment control object providing input to the segment output object, and the segment output object providing an output to control the environmental control device; and A user interface configured to receive user input selecting at least two segments to create a room, wherein the at least two segments are configured to be evaluated according to a set of rules to determine whether the at least two segments grouped together are compatible, at least in part based on determining that at least one of the at least two segments is a master segment, and wherein the at least two segments are configured to work together in a master-slave configuration, wherein: The master segment input object combines physical inputs from both the master and slave segments to provide a single input to the master segment control object, and The master control object executes the control program to generate output and provides the generated output to the master output object for distribution to the slave segment, so as to enable synchronous control of the environmental control devices in the master and slave segments.
2. The system according to claim 1, wherein, The environmental control equipment includes one or more of lights, curtains, or heating, ventilation, and air conditioning (HVAC).
3. The system according to claim 1, wherein, The master segment setting object and the slave segment setting object share at least one setting related to the environmental control device.
4. The system according to claim 1, wherein, The master output object distributes the generated output to the slave output object.
5. The system according to claim 1, wherein, The main segment input object uses an algorithm to combine physical inputs from the main segment and the slave segment.
6. The system according to claim 1, wherein, The physical inputs include buttons, sensors, or combinations thereof.
7. The system according to claim 1, wherein, Both of the above-mentioned segments can be the main segments.
8. The system according to claim 1, wherein, The segment does not include segment control objects.
9. A method for reconfiguring rooms within a building automation area, comprising: A user request to reconfigure the rooms in the area of the building is received from the user interface. The user request includes selecting at least two segments from a plurality of segments including the area, wherein each selected segment includes at least one environmental control device; wherein the selected segment includes one segment as a master segment and at least one segment as a slave segment. Determining whether a room can be reconfigured upon user request is based on a set of rules, including at least in part on determining whether selected segments grouped together are compatible based on determining that at least one of at least two segments is a primary segment; and In response to the user's request, the room was reconfigured as follows: Combine the physical inputs associated with the master segment and slave segment into a single input; In the future, the output of the control program in the autonomous segment will be allocated to the slave segment; Combine the settings between the master and slave segments. The reconfiguration enables distributed control of environmental control devices in the master and slave segments.
10. The method according to claim 9, wherein, The set of rules includes verifying that the selected segment has a matching name, path, and type.
11. The method according to claim 9, wherein, Each selected segment includes a segment input object, a segment output object, and a segment setting object, and the main segment also includes a segment control object containing the control program.
12. The method according to claim 11, wherein, The physical inputs are combined into the single input through the main segment input object.
13. The method according to claim 12, wherein, The combination is based on an algorithm.
14. The method according to claim 13, wherein, The algorithm is any one of "OR", "AND", average, maximum, minimum, switching, or algorithms used for segment counting.
15. The method according to claim 13, wherein, The algorithm applied is determined by at least one of the environmental control device or physical input type.
16. The method according to claim 13, wherein, The physical inputs include sensors and buttons.
17. The method according to claim 11, wherein, The output from the control program in the master segment is distributed to the slave segment through the master segment output object and at least one slave segment output object.
18. A non-transitory computer-readable medium storing computer program code, which, when executed by operation of one or more computer processors, performs operations including: The user receives a request from the user interface to reconfigure rooms within a region of a building. The request includes selecting at least two segments from a plurality of segments within the region. The at least two segments are configured to be evaluated according to a set of rules to determine whether the at least two segments grouped together are compatible, based at least in part on determining that at least one of the at least two segments is a master segment. The selected segments each include at least one environmental control device. The selected segments include one segment as a master segment and at least one segment as a slave segment. In response to a user request, the room is reconfigured to synchronize the operation of environmental control devices in the master and slave segments as follows: Combine the physical inputs associated with the master segment and slave segment into a single input; In the future, the output of the control program in the autonomous segment will be assigned to at least one slave segment; and Combine the settings between the master segment and at least one slave segment.
19. A method for partitioning segments in building automation, comprising: Receive a user request to group at least a first segment and a second segment together in a first zone, wherein each of the first and second segments includes (i) at least one environmental control device and (ii) a set of objects, and wherein the first segment is a main segment including a control program for controlling the environmental control device. Validating a user request using one or more rules includes determining, at least in part, whether the first and second segments grouped together are compatible based on determining that at least one of the first and second segments is the main segment; and Each object in the main segment is automatically linked to the corresponding object in the second segment to create a first zone, in which the control program of the main segment provides synchronous control of the environmental control devices associated with the main segment and the second segment.
20. The method according to claim 19, wherein, The set of objects includes segment input, segment settings, and segment output.
21. The method according to claim 20, wherein, The one or more rules include rules that each of the segment inputs, segment settings, and segment outputs of the main segment is of the same type and has the same name and path as the corresponding segment inputs, segment settings, and segment outputs of the second segment.
22. The method of claim 20, further comprising providing the control program of the master segment with calculated input values representing any physical inputs and settings associated with the master segment and the second segment.
23. The method of claim 22, further comprising providing the output value of the control program to the segment output of the main segment and the second segment.
24. The method according to claim 19, wherein, The environmental control equipment includes one of lights, curtains, or heating, ventilation, and air conditioning (HVAC).
25. The method of claim 19, further comprising: Receive user requests to add new segments to the first region, and In response to user request: One or more rules are used to validate user requests, wherein one or more rules include rules that each object in the new segment has the same type and path as the corresponding object in an existing segment in the first area; and Each object in the new segment is automatically linked to the corresponding object in the main segment, wherein, within the first area, the control program of the main segment provides synchronous control of the environmental control devices of the existing segment and the new segment.
26. The method of claim 19, further comprising: Receive a user request to remove the selected segment from the first region, and In response to user request: Disconnect the selected segment from the existing segment to create a separate segment.
27. The method according to claim 19, wherein, The first and second segments are stored in one or more room controllers.
28. The method according to claim 27, wherein, The one or more room controllers are hosted by an automation server.
29. A system for partitioning segments in building automation, comprising: The server is configured as follows: Receive user requests to group at least the first and second segments of the first zone together; Multiple environmental control devices, wherein each of the first and second segments includes at least one environmental control device from the multiple environmental control devices; as well as At least one controller, communicatively coupled to the server, and configured to host at least one of the first and second segments; The first section is the main section, which includes the control program used to control the environmental control equipment; Each of the first and second paragraphs includes a set of objects; The server is also configured as follows: Validating a user request using one or more rules includes determining, at least in part, whether the first and second segments grouped together are compatible based on determining that at least one of the first and second segments is the main segment; and Each object in the main segment is automatically linked to the corresponding object in the second segment to create a first zone, in which the control program of the main segment provides synchronous control of the environmental control devices associated with the main segment and the second segment.
30. A non-transitory computer-readable medium storing computer program code, which, when executed by operation of one or more computer processors, performs operations including: Receive a user request to group at least the first segment and the second segment together in the first zone, wherein the first segment and the second segment each include (i) at least one environmental control device and (ii) a set of objects; and The first section is the main section, which includes the control program used to control the environmental control equipment. Validating a user request using one or more rules includes determining, at least in part, whether the first and second segments grouped together are compatible based on determining that at least one of the first and second segments is the main segment; and Each object in the main segment is automatically linked to the corresponding object in the second segment to create a first zone, in which the control program of the main segment provides synchronous control of the environmental control devices associated with the main segment and the second segment.
Citation Information
Patent Citations
Grouping for flexible room arrangements
CN105793785A
Automatic master-slave system and approach
US20170147018A1