EP4643563A2 - Method for generating a deployment weighted multigraph of connected objects and method for generating optimized deployment solutions of connected objects thereof - Google Patents

Method for generating a deployment weighted multigraph of connected objects and method for generating optimized deployment solutions of connected objects thereof

Info

Publication number
EP4643563A2
EP4643563A2 EP23821650.1A EP23821650A EP4643563A2 EP 4643563 A2 EP4643563 A2 EP 4643563A2 EP 23821650 A EP23821650 A EP 23821650A EP 4643563 A2 EP4643563 A2 EP 4643563A2
Authority
EP
European Patent Office
Prior art keywords
deployment
grid
connected objects
computer
grids
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
EP23821650.1A
Other languages
German (de)
French (fr)
Inventor
Aurélien CHAMBON
Abderrezak RACHEDI
Ahmed MEBARKI
Abderrahim SAHLI
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ugetwin
Centre National de la Recherche Scientifique CNRS
Universite Paris Est Creteil Val de Marne
Ecole Nationale des Ponts et Chaussess ENPC
Universite Gustave Eiffel
Universite de Marne la Vallee
Original Assignee
Ugetwin
Centre National de la Recherche Scientifique CNRS
Universite Paris Est Creteil Val de Marne
Ecole Nationale des Ponts et Chaussess ENPC
Universite Gustave Eiffel
Universite de Marne la Vallee
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from EP22307064.0A external-priority patent/EP4395397A1/en
Application filed by Ugetwin, Centre National de la Recherche Scientifique CNRS, Universite Paris Est Creteil Val de Marne, Ecole Nationale des Ponts et Chaussess ENPC, Universite Gustave Eiffel, Universite de Marne la Vallee filed Critical Ugetwin
Publication of EP4643563A2 publication Critical patent/EP4643563A2/en
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W16/00Network planning, e.g. coverage or traffic planning tools; Network deployment, e.g. resource partitioning or cells structures
    • H04W16/18Network planning tools
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/13Architectural design, e.g. computer-aided architectural design [CAAD] related to design of buildings, bridges, landscapes, production plants or roads

Definitions

  • the present invention relates to the field of Internet of Things (IoT).
  • the invention relates to the field of deployment optimization of connected objects in a predetermined area.
  • This invention provides a computer-implemented method for generating a population of optimized deployment solutions of connected objects from an initial population of deployment grids on which an evolutionary algorithm has been applied. Description of Related Art [0003] Below, we describe the known prior art from which the invention has been developed.
  • the invention proposes a computer-implemented method for generating a population of optimized deployment grids of connected objects, the computer-implemented method comprising the execution, by at least one computer device, of the following steps: - loading at least one plan delineating one or more zone(s) including free spaces and physical obstacles, such as walls or doors with physical data related to the one or more zone(s), the plan being extracted from: o a BIM file with information about a building, such as the size of the rooms, the position of the obstacles or the composition of the walls, or o a semantic image of normalized plane, for example a Scalable Vector Graphics format file, with the composition of the walls and the scale, the physical data being a coefficient of radio penetration, for instance signal and power attenuation, a coefficient of acoustic range for instance acoustic attenuation; and/or a coefficient of transparency for instance transparency of the panels for cameras as the connected objects, the computer-implemented method comprising an image processing with the following steps: - transforming
  • the technical constraints is selected among: a connectivity constraint, a full-view constraint, a placement constraint, and/or a minimum coverage constraint.
  • the predefined condition of the step of filtering the skeletonized binary grid comprises selecting skeleton cells related to endpoints and intersection points of the skeletonized binary grid, and among the selected skeleton cells, removing the selected skeleton cells located at distance inferior to: a. a predefined distance from a selected skeleton cell related to a physical obstacle, and b. a predefined distance between a selected skeleton cell relative to another selected skeleton cell.
  • the step of skeletonizing comprises a generation, from the binary grid, of the medial axis of the one or more zone(s), the medial axis comprising the skeleton cells positioned at equal distance from a binary cell related to a physical obstacle.
  • the coverage rate is a visual coverage rate which is a binary coverage rate function: and ⁇ ( ⁇ , ⁇ ) are the values of the cell at position ( ⁇ , ⁇ ) in a covered grid and, ⁇ is the set of all possible coordinates in the initial population deployment grid, ⁇ ⁇ , ⁇ ⁇ , ⁇ are the position coordinates and visual coverage range of the object, ⁇ is the orientation of the object, ⁇ is the field of view of the object, and Bres[( ⁇ , ⁇ ), ( ⁇ , ⁇ )] is the set of coordinates between the cell ( ⁇ , ⁇ ) and the cell ( ⁇ , ⁇ ) obtained by the Bresenham algorithm.
  • the step of applying an evolutionary algorithm further comprises: o randomly selecting a deployment grid from the filtered initial population, and generating a child deployment grid, the child deployment grid comprising the selected deployment grid with at least one mutation, the mutation being selected between: a random addition of a connected object in a free space of the one or more zone(s), a random removal of a connected object in a free space of the one or more zone(s) and/or a random displacement of a connected object in a free space of the one or more zone(s), o if the child deployment grid fits the technical constraints, then add the child deployment grid to the filtered initial population, o randomly selecting another deployment grid from the filtered initial population and iterate the steps of selecting, generating and adding, to obtain a new population which comprises the filtered initial population and the child deployment grids, o ranking all the deployment grids of the new population based on a score calculated from at least one objective function, o reducing the deployment grids of the new population by keeping the deployment grids that fit with the at least one pre
  • the step of generating a child deployment grid with the random addition of a connected object and/or the random displacement of a connected object is implemented on the skeleton of the skeletonized binary grid or on the deployment weighted multigraph.
  • the technical constraints comprise a connectivity constraint which corresponds to verifying if the minimum number of links to be removed ⁇ ( ⁇ ⁇ ) in a connectivity graph, representing the possible communication of connected objects using radio communication technologies, so that it separates into two sub-graphs is higher than a predefined integer k, the k-connectivity constraint is therefore respected if ⁇ ( ⁇ ⁇ ) > ⁇ .
  • the coverage rate of connected objects can further comprise : o a lighting coverage rate, o an air quality particles coverage rate, o a moisture coverage rate, o a temperature coverage rate, -
  • the technical constraints on the connected objects deployment can further comprise different connectivity ranges.
  • the connected objects receive and/or emit data.
  • the connected objects are selected from: a sensor, an actuator, a camera and/or an access point.
  • the present invention can also relate to one or more tangible non-transitory computer-readable media storing computer-readable instructions that when executed by one or more processors cause the one or more processors to perform a method according to the invention.
  • FIG. 3 is a schematic illustration of a first deployment weighted multigraph (3A) and of a second deployment weighted multigraph (3B).
  • FIG. 4 is a schematic block diagram of a computer-implemented method for generating a population of optimized deployment grids of connected objects according to the invention.
  • Fig.5 is a graphical illustration of a computer-implemented method for generating a population of optimized deployment grids of connected objects according to the invention.
  • Fig.6 represents diagrams showing the comparison, at different times (6A, 6B), of deployment grids of connected objects, in a medium size area, generated by the method according to the invention and by a state-of-the-art (SOTA) method.
  • SOTA state-of-the-art
  • each box in the flow diagrams or block diagrams may represent a system, a device, a module or code which comprises several executable instructions for implementing the specified logical function(s).
  • the functions associated with the box may appear in a different order than indicated in the drawings.
  • two boxes successively shown, may be executed substantially simultaneously, or boxes may sometimes be executed in the reverse order, depending on the functionality involved.
  • Each box of flow diagrams or block diagrams and combinations of boxes in flow diagrams or block diagrams may be implemented by special systems that perform the specified functions or actions or perform combinations of special equipment and computer instructions. Detailed description [0019] A description of example embodiments of the invention follows.
  • deployment weighted multigraph of connected objects means that a connected object can have several links with another connected object, representing several different paths. It may also represent a simplified structure of the navigable spaces of the related environment.
  • the multigraph includes nodes defining the connected objects.
  • a multigraph further includes links between the nodes, with each of the edges being defined based on a feature, for example a distance separating two linked nodes. It may represent the paths taken by users which are generally relevant areas for the deployment of connected objects for various applications.
  • process By “process”, “compute”, “calculate”, “determine”, “select”, “extract”, “compare” or more broadly “executable operation” is meant, within the meaning of the invention, an action performed by a computing device or a processor unless the context indicates otherwise.
  • the operations relate to actions and/or processes of a data processing system, for example a computing system or an electronic computing device, which manipulates and transforms the data represented as physical (electronic) quantities in the memories of the computing system or other devices for storing, transmitting or displaying information.
  • calculation operations are carried out by the processor of the device, the produced data are entered in a corresponding field in a data memory and this field, or these fields can be returned to a user for example through a Human Machine Interface formatting such data. These operations may be based on applications or software.
  • the expression "computer device” corresponds to any device comprising a processing unit or a processor, for example in the form of a microcontroller cooperating with a data memory, possibly a program memory, said memories that can be dissociated.
  • the processing unit cooperates with said memories via internal communication buses.
  • program code means any expression, code or notation, of a set of instructions intended to cause a data processing to perform a particular function directly or indirectly (for example after a conversion operation into another code).
  • Exemplary program codes may include, but are not limited to, a subprogram, a function, an executable application, a source code, an connected object code, a library and/or any other sequence of instructions designed for being performed on a computing system.
  • processor is meant, within the meaning of the invention, at least one hardware circuit configured to perform operations according to instructions contained in a code.
  • the hardware circuit may be an integrated circuit.
  • Examples of a processor include, but are not limited to, a central processing unit, a graphics processor, an application-specific integrated circuit (“ASIC” according to Anglo-Saxon terminology), and a programmable logic circuit.
  • a single processor or several other units may be used to implement the invention.
  • the expression “human-machine interface”, within the meaning of the invention, corresponds to any element allowing a human being to communicate with a computer, in particular and without that list being exhaustive, a keyboard and means allowing in response to the commands entered on the keyboard to perform displays and optionally to select with the mouse or a touchpad item displayed on the screen.
  • Another embodiment is a touch screen for selecting directly on the screen the elements touched by the finger or a connected object and optionally with the possibility of displaying a virtual keyboard.
  • connected object any device comprising a processing unit or a processor, for example in the form of a microcontroller cooperating with a data memory, possibly a program memory, said memories possibly being dissociated.
  • the connected object can be connected or non-connected that is, can communicate directly with other connected objects or via an Internet access.
  • Example of connected objects Bluetooth® beacons, Wi-Fi® repeaters, Cameras...
  • BIM file is meant a IFC file format that contains a model or a plan that contains information about a building, such as the size of the rooms, the position of the obstacles or the composition of the walls.
  • the IFC (for Industry Foundation Classes) format is an object- oriented file format designed to ensure interoperability between different digital mock-up software.
  • semantic image is meant a semantic image of normalized plane, for example a SVG (scalable vector graphics) format file.
  • the semantic image can contain physical data such as the composition of the walls and the scale in its semantics.
  • the invention relates to a computer-implemented method 1000 for generating a population of optimized deployment grids of connected objects. The invention is particularly suited when the problematic considered is minimizing the number of connected objects deployed, maximizing both the coverage and the quality of signal in the covered area while respecting a technical constraint related to the connected objects, such as a k-connectivity constraint.
  • the method 1000 for generating a population of optimized deployment grids P’0...P’n of connected objects comprises an image processing including a step of loading 110 at least one plan, a step of transforming 120 the plan into a grid, a step of filtering 130 the grid to generate a binary grid, a step of skeletonizing 140 the binary grid, a step of filtering 170 the skeletonized binary grid and a step of calculating 190 and a step of generating 195 a deployment weighted multigraph, a step of generating 200 an initial population of deployment grids, a step of loading 1100 and filtering 1200 the initial population of deployment grids, a step of applying 1300 an evolutionary algorithm and a step of generating 1400 a population of optimized deployment grids P’0...P’n
  • the computer-implemented method 1000 for generating a population of optimized deployment grids P’0...P’n of connected objects comprises a step of loading 110 at least one plan delineating one or more zone(s) including free spaces and physical obstacles.
  • the physical obstacles may be characterized by walls or doors while the free spaces may be characterized by an empty space or more generally by a space which does not comprise any physical obstacle.
  • the plan can be a BIM file or a semantic image.
  • the plan may comprise physical data related to the one or more zone(s).
  • the physical data may include for example a radio penetration ratio, an acoustic range and attenuation, and/or a transparency index.
  • the physical data may be relative to physical obstacles, more particularly the physical data may characterize the different obstacles that may comprise the loaded plan.
  • the computer-implemented method 1000 for generating a population of optimized deployment grids P’0...P’n of connected objects comprises a step of transforming 120 the plan into a grid 10 comprising cells related to the one or more zone(s).
  • it may be considered a grid 10 environment ⁇ ⁇ R m ⁇ n composed of m x n cells such that ⁇ ⁇ , ⁇ is the value of the cell of position (i, j).
  • ⁇ ⁇ , ⁇ is a physical obstacle cell, such as a wall
  • the computer-implemented method 1000 for generating a population of optimized deployment grids P’0...P’n of connected objects comprises a step of filtering 130 the grid 10 to generate a binary grid 11 comprising binary cells related to the one or more zone(s).
  • the computer-implemented method 1000 for generating a population of optimized deployment grids P’0...P’n of connected objects comprises a step of skeletonizing 140, based on the free spaces and the physical obstacles of the one or more zone(s), the binary grid 12 to generate a skeleton of the plan, the skeletonized binary grid 12 comprising skeleton cells, the skeleton cells being generated from the binary cells of the free spaces.
  • the step of skeletonizing 140 may be carried out by any known method, from the skilled person, to generate a skeleton of the one or more zone(s).
  • the step of skeletonizing 140 may comprise a generation 150, from the binary grid 11, of medial axis of the one or more zone(s), the medial axis comprising the skeleton cells positioned at equal distance from a binary cell related to a physical obstacle.
  • the method 1000 for generating a population of optimized deployment grids of connected objects may comprise, prior to the step of skeletonizing 140, a step of determining 160 one or more representative zone(s), from the one or more zone(s), by calculating the maximum inscribed rectangle area, for example through the gradient descent method, and, if the ratio of the maximum inscribed rectangle area to the considered one or more zone(s) area is higher than a predefined threshold, then the step of skeletonizing 140 is based on the free spaces and the physical obstacles of the one or more representative zone(s). This determination allows to limit the area of one or more zone(s) so that the skeleton is also limited to the most relevant area of each zone.
  • the method 1000 for generating a population of optimized deployment grids of connected objects further comprises a step of filtering 170 the skeletonized binary grid 12 to select, according to a predefined condition, a part of the skeleton cells, denoted selected skeleton cells.
  • a filter may traverse the image with a predefined window size to keep only the endpoints and the intersection points of the latter to generate a filtered skeletonized binary grid 13.
  • a binary cell b i,j may be set to 0 if one of these predefined
  • ⁇ ⁇ 1 ⁇ ⁇ , ⁇ 1 ⁇ ⁇ + ⁇ , ⁇ + ⁇ is the sum of the window values is the number of 1-1 patterns around ⁇ ⁇ , ⁇ clockwise.
  • the predefined condition of the step of filtering 170 the skeletonized binary grid 12 may further comprise selecting 180 skeleton cells related to endpoints and intersection points of the skeleton, and among the selected skeleton cells, removing 185 the selected skeleton cells located at distance inferior to: • a predefined distance from a selected skeleton cell related to a physical obstacle, and • a predefined distance between a selected skeleton cell relative to another selected skeleton cell.
  • the method 1000 for generating a population of optimized deployment grids of connected objects further comprises a step of calculating 190 the distance between each of the selected skeleton cells.
  • the distance may be calculated by determining the number of cells of the skeleton, of known dimensions, separating the selected skeleton cells, and more preferably separating two neighboring selected skeleton cells.
  • the method 1000 for generating a population of optimized deployment grids of connected objects further comprises a step of generating 195 a deployment weighted multigraph 14, as shown in figure 2B, of the one more zone(s) comprising the selected skeleton cells and weighted links.
  • the selected skeleton cells are representative of a connected object, and each weighted link relative to a first selected skeleton cell is representative of the calculated distance between the first selected skeleton cell to a second selected skeleton cell along the skeleton of the binary grid.
  • the method 1000 for generating a population of optimized deployment grids P’0...P’n of connected objects further comprises generating 200 an initial population of deployment grids P0...Pn of connected objects.
  • the step of generating 200 an initial population of deployment grids P0...Pn of connected objects comprises a step of loading, a step of removing and a step of iterating the first two steps.
  • the step of loading is configured to load, from a deployment weighted multigraph 14 of connected objects, a first deployment grid.
  • the first deployment grid comprises the connected object positions.
  • the step of generating 200 an initial population of deployment grids P0...Pn of connected objects is followed by a step of removing, from the first deployment grid, the connected objects which presents a distance with another connected object is equal or inferior to a predefined threshold which distance can be used as the weight for the deployment weighted multigraph 14 of connected objects.
  • the connected objects are removed by contraction, meaning that the information relative to a connected object, for example its position and its weight within the deployment weighted multigraph 14 of connected objects, are preserved. For example, when two or more connected objects are contracted, the information relative to these connected objects may be aggregated into the remaining connected object. In other terms, it can be seen as sub-multigraphs of the weighted multigraph being generated by nodes contractions to build a different deployment grid.
  • the step of removing can be carried out concomitantly or before the step of loading the first deployment grid.
  • the weighted links of the weighted multigraph are contracted according to their weight, any link whose weight is less than the predefined threshold is contracted. More particularly, the weight can be representative of the distance between two skeleton cells. The distance can be determined by the cells of the grid 10, of known dimensions, separating one skeleton cell relative to another skeleton cell.
  • a deployment weighted multigraph 14 may comprise physical obstacles 14-1, 14-4 and free zones 14-2, a plurality of links 14-3, describing a plurality of paths D1-2, D1-3, D3-4, D’3-4, D4-5, of different lengths from one skeleton cell 1, 2, 3, 4, 5 to another. Depending on which link is contracted, the information related to the weight of a same skeleton cell can be different. [0055] Then, a second deployment grid is obtained which comprises less connected objects than the first deployment grid.
  • the step of generating 200 an initial population of deployment grids of connected objects comprises a step of iterating the step of loading and removing, by contraction, the connected objects and increasing, for each iteration, the predefined threshold until the initial population reaches a predefined number of deployment grids P0...Pn.
  • the method 1000 for generating a population of optimized deployment grids P’0...P’n of connected objects comprises a step of loading 1100 the initial population of deployment grids P0...Pn of connected objects and filtering 1200 the initial population by keeping the deployment grids P0....Pn of connected objects which fit at least one predefined technical constraint.
  • the technical constraints are selected among a connectivity constraint, a full-view constraint, a placement constraint, and/or a minimum coverage constraint.
  • the connectivity constraint is a constraint ensuring the robustness of the network.
  • ⁇ ⁇ is representative of a function that allows to determine if two connected objects are linked together in the connectivity graph ⁇ ⁇ according to the following equation : where ⁇ ⁇ 0 is the signal attenuation at a standard distance ⁇ 0 , ⁇ ( ⁇ ⁇ , ⁇ ⁇ ) and ⁇ are respectively the Euclidean distance and all the physical obstacles between the two connected objects ⁇ ⁇ and ⁇ ⁇ . ⁇ ⁇ is a random variable representing the random attenuation of the signal and ⁇ is the scale of the grid 10 in meters per cell.
  • the connectivity of the graph ⁇ ( ⁇ ⁇ ) is the minimum number of links in the connectivity graph to be removed so that it separates into two sub-graphs.
  • the k-connectivity constraint is therefore respected if ⁇ ( ⁇ ⁇ ) > ⁇ .
  • the full-view constraint ensures in the context of visual coverage that the deployment offers an unobstructed frontal view of all individuals moving in any direction within the designated area. This may be measured as a percentage of fully covered positions and directions regarding a provided navigable oriented multigraph.
  • This constraint is therefore respected if ⁇ ⁇ ( ⁇ ) > ⁇ with ⁇ a predefined threshold.
  • the placement limitation constraint corresponds to a restriction in the available position for the positioning of the connected objects when generating a deployment.
  • the minimum coverage constraint consists in a minimum coverage rate to consider a deployment relevant.
  • the filtered initial population comprises all the deployment grids P0...Pn of the initial population that fit with the technical constraint.
  • the method 1000 for generating a population of optimized deployment grids comprises a step of applying 1300 an evolutionary algorithm based on the filtered initial population P0...Pn considering an objective function that is the coverage rate of the connected objects, considering a cost function that is the amount of connected objects, considering a multi-objective ranking using the Pareto Limit, and considering at least one technical constraint.
  • the method 1000 for generating a population of optimized deployment grids P’0...P’n comprises a step of generating 1400 a population of optimized deployment grids P’ 0 ... P’ n based on the coverage rate and the technical constraint, each deployment grid optimized, comprising a different amount of connected objects in comparison to the other optimized deployment grids P’0...P’n.
  • the step of applying 1300 an evolutionary algorithm further comprises randomly selecting 1310 a deployment grid P0...Pn from the filtered initial population and generating 1320 a set of m child deployment grids C0...Cm, with m being equal or different to n.
  • the child deployment grid C0...Cm comprises a selected deployment grid in P0...Pn with at least one mutation M1, M2, the mutation being selected between: a random addition of a connected object in a free space of the one or more zone(s), a random removal of a connected object in a free space of the one or more zone(s) and/or a random displacement of a connected object in a free space of the one or more zone(s).
  • two mutations M1, M2 are carried out respectively on the deployment grids P0...Pn.
  • the two mutations M1, M2 are a random removal of a connected object in a free space.
  • the connectivity graph G0, Gn corresponding to the one of the child deployment grids C0...Cm is then modified and if the child deployment grid C0...Cm fits the at least one technical constraint, then the child deployment grid C0...Cm is added 1330 to a new population which comprises the filtered initial population and the child deployment grids C0...Cm.
  • the filtered initial population and the child deployment grids C0...Cm may be used as an initial population of deployment grids P0...Pn for a next sequence.
  • the random addition of a connected object and/or the random displacement of a connected object may be implemented on the weighted deployment multigraph 14 or on the skeleton of the binary grid. More particularly, the step of generating 1320 a child deployment grid may be configured to load the weighted deployment multigraph 14 or the skeletonized binary grid 12, and to carry out the random addition or displacement of the connected object on a weighted link.
  • the mutated weighted deployment multigraph 14’ or the mutated skeletonized binary grid 12’ is then processed by the step of generating 200 an initial population of deployment grids P0...Pn according to the invention before the step of loading 1100 the initial population of deployment grids P0...Pn of connected objects is carried out.
  • the connected objects that does not fit the technical constraints are removed.
  • the technical constraint is a connectivity constraint as previously defined
  • the child deployment grid C0...Cm shown in figure 5 must comprise connected objects that have at least k neighbors in the graph G0, Gn to even consider fitting the constraint.
  • the step of applying 1300 an evolutionary algorithm comprises a step of randomly selecting 1340 another deployment grid P0...Pn from the filtered initial population and iterate the steps of selecting 1310, generating 1320 and adding 1330 described previously, to obtain a new population which comprises the parent population and the child deployment grids C0...Cm.
  • the steps of selecting 1310, generating 1320 and adding 1330 can be iterated until the new population reaches a predefined size.
  • the preferred embodiment comprises a step of ranking 1350 all the deployment grids of the new population based on a score, said score being calculated from at least one objective function.
  • the objective function includes at least: a coverage rate of the deployment grid and/or a signal quality.
  • the coverage rate can be related to a radio coverage.
  • the coverage can thus be defined by the following function: where ⁇ ⁇ , ⁇ is the value of a covered grid cell at the position ( ⁇ , ⁇ ) in ⁇ and ⁇ is all the physical obstacles between the cell ( ⁇ , ⁇ ) of the initial population deployment grid P0...Pn and the cell ( ⁇ , ⁇ ) obtained by Bresenham's algorithm.
  • Other examples of coverage rate can be similarly defined such as a visual coverage, a lighting coverage or a coverage linked to different type of connected objects: air quality connected objects, moisture connected objects or temperature connected objects and so on.
  • the step of applying 1300 an evolutionary algorithm further comprises a step of reducing 1360 the deployment grids of the new population by keeping the deployment grids that fit with at least one predefined technical constraint.
  • the predefined technical constraint may be configured to keep the “N” best ranked optimized deployment grids P’0...P’n, for example the top fifty best ranked optimized deployment grids P’0...P’n.
  • the method 1000 according to the invention aims at optimizing the deployment of connected objects in an environment, to that end it may be possible to determine which of the deployment solution fit with a threshold score.
  • the threshold score may be characterized by a coverage rate, such as a radio coverage rate, above which the related deployment grids are kept.
  • the score calculation may include a cost function to optimize the number of connected objects.
  • the cost function can represent the number of connected objects in a deployment solution or the monetary cost of the deployment for example.
  • the step of reducing 1360 may be configured so that if the cost function of a deployment grid is below the threshold score, said deployment grid is kept.
  • a first threshold score may be related to the objective function and a second threshold score may be related to the cost function.
  • the step of reducing 1360 may be configured so that if both objective function and cost function of a deployment grid fit the corresponding threshold score, said deployment grid is kept.
  • the step of ranking 1350 all the deployment grids of the new population may be realized by the Pareto limit.
  • the step of applying 1300 an evolutionary algorithm consists of applying 1370 said evolutionary algorithm on the reduced new population and generating a population of optimized deployment grids P’0...P’n.
  • the optimized deployment grids P’0...P’n are the one that fit with the threshold score.
  • the connected objects of the computer-implemented method 1000 may present different types of coverage; and/or different connectivity ranges.
  • EXAMPLE [0085] The invention is further described in detail by reference to the following experimental examples. These examples are provided for purposes of illustration only and are not intended to be limiting unless otherwise specified. Thus, the invention should in no way be construed as being limited to the following examples, but rather, should be construed to encompass any and all variations which become evident as a result of the teaching provided herein. [0086] The following examples, therefore, specifically point out the preferred embodiments of the present invention and are not to be construed as limiting in any way the remainder of the disclosure.
  • Example 1 (figures 6A and 6B) Input: a SVG format file containing the semantic information of the radio wall penetration ratios is used.
  • the grid size generated from the SVG format file is 200*200. Scale: 1 cell for 0.1m.
  • the coverage range of the connected objects is 21 cells (2m).
  • the simulation run is 1800s.
  • Example 2 (figures 7A, 7B, 7C and 7D) Input: a SVG format file containing the semantic information of the radio wall penetration ratios is used.
  • the grid size generated from the SVG format file is 1000*800. Scale: 1 cell for 0.04m.
  • the coverage range of the connected objects is 51 cells (2m).
  • the simulation run is 7200s.
  • the cost function is based on the number of connected objects used.
  • the step of skeletonizing is based on the medial axis method as mentioned in H. Blum, “A Transformation for Extracting New Descriptors of Shape,”in Models for the Perception of Speech and Visual Form (W. Wathen-Dunn, ed.), pp. 362–380, Cambridge: MIT Press, 1967.
  • the technical constraint is a connectivity constraint.
  • the k-connectivity constraint is respected if ⁇ ( ⁇ ⁇ ) ⁇ 2 in example 1 and ⁇ ( ⁇ ⁇ ) ⁇ 3 in example 2.
  • the connectivity communication function that allows to determine if two connected objects are linked is defined according to the ⁇ ⁇ function according to the following equation: as described in M. Kacou, V. Guillet, G. Zein, and G. Zaharia, “A multi-wall and multi-frequency home environment path loss characterization and modeling,” 042018. Number of individuals in the population: 100. Number of individuals in the child population: 500. Probability in the mutation of losing a connected object, adding a connected object, or moving a connected object: 0.35/0.35/0.35.
  • Fig 6A shows that the invention allows the initial population of solutions to be already very close to convergence comparing to SOTA.
  • figure 6B shows that the invention provides solutions with a better relative coverage for a lesser number of connected objects. Indeed, to get a relative coverage of 0.6, SOTA is not able to provide solutions with less than 16 connected objects (i.e approximately 20 connected objects to provide a relative coverage of 0.6).
  • Figure 7A shows that the invention allows the initial population of solutions to be already very close to convergence, even for complex environments, comparing to SOTA.
  • the invention finds k-connected solutions for a small number of deployed connected objects that the state of the art cannot determine.
  • the invention relates to one or more computer-readable media storing computer-readable instructions that when executed by one or more processors cause the one or more processors to perform a method according to the invention.
  • the computer-readable media is a tangible non-transitory computer- readable media.
  • computer-readable media may include any instrumentality or aggregation of instrumentalities that may retain data and/or instructions for a period of time.
  • Computer-readable media may include, for example, without limitation, storage media such as a direct access storage device (e.g. a hard disk drive or floppy disk drive), a sequential access storage device (e.g.
  • a computer-readable medium may be any tangible medium that may contain, or store, a program for use by or in connection with an instruction execution system, apparatus, or device.
  • a computer-readable medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared or semiconductor system, apparatus or device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer-readable storage medium would include: a hard disk, a random-access memory (RAM).
  • Computer program code for performing operations for aspects of the present invention may be written in any combination of one or more programming languages, including an object-oriented programming language such as Java, C ++, or similar, the programming language "C" or similar programming languages, a scripting language such as Perl, or similar languages, and / or functional languages such as Meta Language.
  • Program code can run entirely on a user's computer, partly on a user's computer, and partly on a remote computer or entirely on the computer or remote server.
  • the remote computer can be connected to a user's computer by any type of network, including a local area network (LAN) or a wide area network (WAN).
  • LAN local area network
  • WAN wide area network
  • the invention can be the subject of numerous variants and applications other than those described above.
  • the different structural and functional characteristics of each of the implementations described above should not be considered as combined and / or closely and / or inextricably linked to each other, but on the contrary as simple juxtapositions.
  • the structural and / or functional characteristics of the various embodiments described above may be the subject in whole or in part of any different juxtaposition or any different combination.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Geometry (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Architecture (AREA)
  • Mathematical Analysis (AREA)
  • Structural Engineering (AREA)
  • Pure & Applied Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Civil Engineering (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

METHOD FOR GENERATING A DEPLOYMENT WEIGHTED MULTIGRAPH OF CONNECTED OBJECTS AND METHOD FOR GENERATING OPTIMIZED DEPLOYMENT SOLUTIONS OF CONNECTED OBJECTS THEREOF Field of the invention [0001] The present invention relates to the field of Internet of Things (IoT). In particular, the invention relates to the field of deployment optimization of connected objects in a predetermined area. [0002] This invention provides a computer-implemented method for generating a population of optimized deployment solutions of connected objects from an initial population of deployment grids on which an evolutionary algorithm has been applied. Description of Related Art [0003] Below, we describe the known prior art from which the invention has been developed. [0004] Internet Of Things (IoT) networks deployments have been a major research interest for the past few years. The wide variety of communication technologies available allows the collection and analysis of data of many types. However, the deployment of these networks must ensure wide coverage while allowing IoT devices to communicate with each other. This implies many connected objects and therefore a high cost. Thus, providing a deployment that maximizes the coverage, complies with some technical constraints, such as the connectivity of the network generated by the devices deployed, while minimizing the number of devices deployed, is a matter of great concern. Several methods have been proposed in the literature depending on the context considered: in free space, considering homogeneous obstacles or taking into account the connectivity of the network. In all these scenarios, the main methods used are genetic algorithms or computational geometry. These have been extended to tackle the same problem but considering obstacles in the environment. On the one hand, geometric methods have been introduced relaying on Voronoi diagrams (K. Eledlebi and al.,“Voronoi-based indoor deployment of mobile sensors network with obstacles”, in 2018 IEEE 3rd International Workshops on Foundations and Applications of Self* Systems), virtual forces (Y. Zou and al., “Sensor deployment and target localization based on virtual forces”, in IEEE INFOCOM 2003. Twenty-second Annual Joint Conference of the IEEE Computer and Communications), or triangular tessellation (I. Khoufi and al. “A Simple Method for the Deployment of Wireless Sensors to Ensure Full Coverage of an Irregular Area with Obstacles”, in MSWIM: International Conference on Modeling, Analysis and Simulation of Wireless and Mobile Systems, (Montreal, Canada), Sept.2014). [0005] On the other hand, evolutionary algorithms such as the Non dominated Sorting Genetic Algorithm II (NSGA-II) have been presented to generate optimized WSN deployment (H. Zhou and al., “Indoor positioning research based on wireless sensor network topology optimization”, in 2019 Chinese Automation Congress, pp. 3951–3957, 2019). [0006] Although the methods presented in the prior art make it possible to generate optimized deployment grids for connected objects in a given environment, their implementations within the framework of large and complex environments, that is to say which have different areas or rooms separated by walls, generally involves a very long processing time without achieving satisfactory deployment optimizations. [0007] Hence, there is a need for solutions capable of generating better optimized deployments of connected objects in a predetermined time no matter how complex the environment is and no matter the heterogeneity of the connected objects.
Summary of the invention [0008] The following sets forth a simplified summary of selected aspects, embodiments and examples of the present invention for the purpose of providing a basic understanding of the invention. However, the summary does not constitute an extensive overview of all the aspects, embodiments and examples of the invention. The sole purpose of the summary is to present selected aspects, embodiments and examples of the invention in a concise form as an introduction to the more detailed description of the aspects, embodiments and examples of the invention that follow the summary. [0009] The invention aims to overcome the disadvantages of the prior art. In particular, the invention proposes a computer-implemented method for generating a population of optimized deployment grids of connected objects, the computer-implemented method comprising the execution, by at least one computer device, of the following steps: - loading at least one plan delineating one or more zone(s) including free spaces and physical obstacles, such as walls or doors with physical data related to the one or more zone(s), the plan being extracted from: o a BIM file with information about a building, such as the size of the rooms, the position of the obstacles or the composition of the walls, or o a semantic image of normalized plane, for example a Scalable Vector Graphics format file, with the composition of the walls and the scale, the physical data being a coefficient of radio penetration, for instance signal and power attenuation, a coefficient of acoustic range for instance acoustic attenuation; and/or a coefficient of transparency for instance transparency of the panels for cameras as the connected objects, the computer-implemented method comprising an image processing with the following steps: - transforming the plan into a grid comprising cells related to the one or more zone(s), with physical data, the grid being composed of m x n cells such that ^^ ^^, ^^ is the numerical value of physical data of the cell position (i, j), - filtering the grid to generate a binary grid comprising binary cells bi,j related to the one or more zone(s), - skeletonizing, based on the free spaces and the physical obstacles of the one or more zone(s), the binary grid to generate a skeleton of the binary grid, the skeletonized binary grid comprising skeleton cells, the skeleton cells being generated from the binary cells of the free spaces, - filtering the skeletonized binary grid to select, according to a predefined condition, a part of the skeleton cells denoted selected skeleton cells, - calculating the distance between each of the selected skeleton cells along the skeleton of the binary grid, and - generating a deployment weighted multigraph of the one or more zone(s) comprising the selected skeleton cells and weighted links, each selected skeleton cells representing a connected object, and each weighted link relative to a first selected skeleton cell representing the calculated distance between the first selected skeleton cell to a second selected skeleton cell along the skeleton of the binary grid, - generating an initial population of deployment grids of connected objects by : o loading, from the deployment weighted multigraph of connected objects, a first deployment grid which comprises the connected objects positions, and removing, by contraction, the connected objects, according to the weights of the multigraph equal or inferior to a predefined threshold, to obtain a second deployment grid which comprises less connected objects than the first deployment grid, o iterating the step of loading and removing, by contraction, the connected objects and increasing, for each iteration, the predefined threshold until the population reaches a predefined number of deployment grids of connected objects, - loading the initial population of deployment grids of connected objects and filtering the initial population by keeping the deployment grids of connected objects which fit at least one predefined technical constraint, the technical constraints being selected among: a connectivity constraint, a full-view constraint, a placement constraint, and/or a minimum coverage constraint, - applying an evolutionary algorithm, considering an objective function that is the coverage rate of the connected objects, considering a cost function that is the amount of connected objects, considering a ranking using a Pareto Limit, and considering at least one technical constraint, to the filtered initial population, and - generating a population of optimized deployment grids of connected objects, each optimized deployment grid comprising a different amount of connected objects in comparison to the other optimized deployment grids. [0010] According to other optional features of the method according to the invention, it can optionally include one or more of the following characteristics alone or in combination: - the technical constraints is selected among: a connectivity constraint, a full-view constraint, a placement constraint, and/or a minimum coverage constraint. - The predefined condition of the step of filtering the skeletonized binary grid comprises selecting skeleton cells related to endpoints and intersection points of the skeletonized binary grid, and among the selected skeleton cells, removing the selected skeleton cells located at distance inferior to: a. a predefined distance from a selected skeleton cell related to a physical obstacle, and b. a predefined distance between a selected skeleton cell relative to another selected skeleton cell. - The step of skeletonizing comprises a generation, from the binary grid, of the medial axis of the one or more zone(s), the medial axis comprising the skeleton cells positioned at equal distance from a binary cell related to a physical obstacle. - A step of determining one or more representative zone(s), from the one or more zone(s), by calculating the maximum inscribed rectangle area and, if the ratio of the maximum inscribed rectangle area to the considered one or more zone(s) area is higher than a predefined threshold, then the step of skeletonizing is based on the free spaces and the physical obstacles of the one or more representative zone(s). - The coverage rate is a radio coverage rate and the objective function is defined as the sum of the coverage rate ^^ ^^ ^^ ^^ = ∑ ^^ ^^, ^^∈ ^^ ^^ ^^, ^^ , with: where is the value of the cell at position ( ^^, ^^) in a covered grid, ^^ ^^ is the radio coverage range of the connected objects and ^^ is the set of cells ^^ ^^ in the initial population deployment grid for which the deployment is not possible and correspond to walls between the cell ( ^^, ^^) and the cell ( ^^, ^^) obtained by the Bresenham algorithm. - The coverage rate is a visual coverage rate which is a binary coverage rate function: and ^^( ^^, ^^) are the values of the cell at position ( ^^, ^^) in a covered grid and, Ω is the set of all possible coordinates in the initial population deployment grid, ^^ ^^, ^^ ^^, ^^ are the position coordinates and visual coverage range of the object, ^^ is the orientation of the object, Θ is the field of view of the object, and Bres[( ^^, ^^), ( ^^, ^^)] is the set of coordinates between the cell ( ^^, ^^) and the cell ( ^^, ^^) obtained by the Bresenham algorithm. - The objective function is ^^ ^^ ^^ ^^ = ^^ ∑ ^^ ^^, ^^∈ ^^ ^^ ^^, ^^ + ^^ ∑ ^^ ^^, ^^∈ ^^ ^^ ^^ ^^, ^^>0 with any ^^, ^^ ∈ ℕ\{0,0}, such that the objective function allows to configure prioritising to cover more cells for the same quality of coverage according to configurable weights. - The step of applying an evolutionary algorithm further comprises: o randomly selecting a deployment grid from the filtered initial population, and generating a child deployment grid, the child deployment grid comprising the selected deployment grid with at least one mutation, the mutation being selected between: a random addition of a connected object in a free space of the one or more zone(s), a random removal of a connected object in a free space of the one or more zone(s) and/or a random displacement of a connected object in a free space of the one or more zone(s), o if the child deployment grid fits the technical constraints, then add the child deployment grid to the filtered initial population, o randomly selecting another deployment grid from the filtered initial population and iterate the steps of selecting, generating and adding, to obtain a new population which comprises the filtered initial population and the child deployment grids, o ranking all the deployment grids of the new population based on a score calculated from at least one objective function, o reducing the deployment grids of the new population by keeping the deployment grids that fit with the at least one predefined technical constraint, o applying the evolutionary algorithm on the reduced new population and generating the population of optimized deployment grids. - The step of generating a child deployment grid with the random addition of a connected object and/or the random displacement of a connected object is implemented on the skeleton of the skeletonized binary grid or on the deployment weighted multigraph. - The technical constraints comprise a connectivity constraint which corresponds to verifying if the minimum number of links to be removed κ( ^^ ^^ ) in a connectivity graph, representing the possible communication of connected objects using radio communication technologies, so that it separates into two sub-graphs is higher than a predefined integer k, the k-connectivity constraint is therefore respected if κ( ^^ ^^) > ^^. - The technical constraints further comprise a full-view constraint which consists in ensuring in the context of visual coverage that the deployment offers an unobstructed frontal view of all individuals moving in any direction within the designated area, for instance by measuring as a percentage of fully covered positions and directions. - The technical constraints further comprise a placement constraint which corresponds to a restriction in the available position for the positioning of the connected objects when generating a deployment. - The full-view constraint is considered met if a function scoring the deployment according to an input navigable oriented multigraph ^^ ^^ = ( ^^, ^^) representing the expected directions of people roaming in the considered space, is higher than a predefined threshold. The scoring function can be formulated as follows: where with ^^ ^^ corresponding to the set of angles of the outgoing edges from ^^, ^^ ^^ = { ^^ ∈ ^^ | ^^ ∈ Cov( ^^) ∩ Vis( ^^)} is the set of cameras covering connected object ^^, ^^̃ ^^, ^^is the angle between ^^ and ^^, and ^^ is is the angle from which it is considered a frontal view. - The connectivity graph is built using any connectivity functions representing the connected objects possible interconnections, wherein the connectivity graph ^^ ^^ = ( ^^, ^^) is generated from the initial population deployment grid, with ^^ = { ^^1, ^^2, … , ^^ ^^}, ^^1, ^^2, … , being the connected objects and ^^ ^^ = ( ^^ ^^ , ^^ ^^), their coordinates in the deployment grid, and ^^ ^^ is representative of a function that allows to determine if two connected objects are linked together in the connectivity graph ^^ ^^ according to the following equation : where ^^ ^^0 is the signal attenuation at a standard distance ^^0, ^^( ^^ ^^ , ^^ ^^) and ^^ are respectively the Euclidean distance and l the physical obstacles between the two connected objects ^^ ^^ and ^^ ^^, ^^σ being a random variable representing the random attenuation of the signal and δ is the scale of the grid in meters per cell. - The coverage rate of connected objects can further comprise : o a lighting coverage rate, o an air quality particles coverage rate, o a moisture coverage rate, o a temperature coverage rate, - The technical constraints on the connected objects deployment can further comprise different connectivity ranges. - The connected objects receive and/or emit data. - The connected objects are selected from: a sensor, an actuator, a camera and/or an access point. - a step of : - deploying IoT positioning beacons in a building, to guide users in the building, with one of the n optimised deployment grids of the connected objects, - deploying particle sensors, - deploying connected objects which interact with a user which navigates in the building, for instance to allow the communication of the connected objects along the path of a user in the building who has a terminal able to be connected to these connected objects, or - deploying Wi-Fi terminals. [0011] According to another aspect, the present invention can also relate to one or more tangible non-transitory computer-readable media storing computer-readable instructions that when executed by one or more processors cause the one or more processors to perform a method according to the invention. Brief description of the drawings [0012] The foregoing and other objects, features and advantages of the present invention will become more apparent from the following detailed description when taken in conjunction with the accompanying drawings in which: FIG. 1 is a schematic block diagram of a computer-implemented method for generating a population of optimized deployment grids of connected objects according to the present invention. FIG. 2A is a graphical illustration of a computer-implemented method for generating a population of optimized deployment grids of connected objects according to the present invention. FIG. 2B is a graphical illustration of an example of a computer-implemented method for generating a navigable oriented multigraph from a deployment weighted multigraph according to the present invention. FIG. 3 is a schematic illustration of a first deployment weighted multigraph (3A) and of a second deployment weighted multigraph (3B). FIG. 4 is a schematic block diagram of a computer-implemented method for generating a population of optimized deployment grids of connected objects according to the invention. Fig.5 is a graphical illustration of a computer-implemented method for generating a population of optimized deployment grids of connected objects according to the invention. Fig.6 represents diagrams showing the comparison, at different times (6A, 6B), of deployment grids of connected objects, in a medium size area, generated by the method according to the invention and by a state-of-the-art (SOTA) method. Fig.7 represents diagrams showing the comparison, at different times (7A, 7B, 7C, 7D) of deployment grids of connected objects, in a large size area, generated by the method according to the invention and by a state-of-the-art (SOTA) method. [0013] Several aspects of the present invention are disclosed with reference to flow diagrams and/or block diagrams of methods, devices and computer program products according to embodiments of the invention. [0014] On the figures, the flow diagrams and/or block diagrams show the architecture, the functionality and possible implementation of devices or systems or methods and computer program products, according to several embodiments of the invention. [0015] For this purpose, each box in the flow diagrams or block diagrams may represent a system, a device, a module or code which comprises several executable instructions for implementing the specified logical function(s). [0016] In some implementations, the functions associated with the box may appear in a different order than indicated in the drawings. [0017] For example, two boxes successively shown, may be executed substantially simultaneously, or boxes may sometimes be executed in the reverse order, depending on the functionality involved. [0018] Each box of flow diagrams or block diagrams and combinations of boxes in flow diagrams or block diagrams may be implemented by special systems that perform the specified functions or actions or perform combinations of special equipment and computer instructions. Detailed description [0019] A description of example embodiments of the invention follows. [0020] Below, we describe a summary of the invention and the associated vocabulary, before presenting the drawbacks of the prior art, then finally showing in more detail how the invention overcomes them. [0021] In the following description, “deployment weighted multigraph of connected objects” means that a connected object can have several links with another connected object, representing several different paths. It may also represent a simplified structure of the navigable spaces of the related environment. The multigraph includes nodes defining the connected objects. As it is well-known, a multigraph further includes links between the nodes, with each of the edges being defined based on a feature, for example a distance separating two linked nodes. It may represent the paths taken by users which are generally relevant areas for the deployment of connected objects for various applications. [0022] By “process”, “compute”, “calculate”, “determine”, “select”, “extract”, “compare” or more broadly “executable operation” is meant, within the meaning of the invention, an action performed by a computing device or a processor unless the context indicates otherwise. In this regard, the operations relate to actions and/or processes of a data processing system, for example a computing system or an electronic computing device, which manipulates and transforms the data represented as physical (electronic) quantities in the memories of the computing system or other devices for storing, transmitting or displaying information. In particular, calculation operations are carried out by the processor of the device, the produced data are entered in a corresponding field in a data memory and this field, or these fields can be returned to a user for example through a Human Machine Interface formatting such data. These operations may be based on applications or software. [0023] In the specification, the expression "computer device" corresponds to any device comprising a processing unit or a processor, for example in the form of a microcontroller cooperating with a data memory, possibly a program memory, said memories that can be dissociated. The processing unit cooperates with said memories via internal communication buses. [0024] The terms or expressions “application”, “software”, “program code”, and “executable code” mean any expression, code or notation, of a set of instructions intended to cause a data processing to perform a particular function directly or indirectly (for example after a conversion operation into another code). Exemplary program codes may include, but are not limited to, a subprogram, a function, an executable application, a source code, an connected object code, a library and/or any other sequence of instructions designed for being performed on a computing system. [0025] By “processor” is meant, within the meaning of the invention, at least one hardware circuit configured to perform operations according to instructions contained in a code. The hardware circuit may be an integrated circuit. Examples of a processor include, but are not limited to, a central processing unit, a graphics processor, an application-specific integrated circuit (“ASIC” according to Anglo-Saxon terminology), and a programmable logic circuit. A single processor or several other units may be used to implement the invention. [0026] The expression “human-machine interface”, within the meaning of the invention, corresponds to any element allowing a human being to communicate with a computer, in particular and without that list being exhaustive, a keyboard and means allowing in response to the commands entered on the keyboard to perform displays and optionally to select with the mouse or a touchpad item displayed on the screen. Another embodiment is a touch screen for selecting directly on the screen the elements touched by the finger or a connected object and optionally with the possibility of displaying a virtual keyboard. [0027] By “connected object”, it should be understood any device comprising a processing unit or a processor, for example in the form of a microcontroller cooperating with a data memory, possibly a program memory, said memories possibly being dissociated. The connected object can be connected or non-connected that is, can communicate directly with other connected objects or via an Internet access. Example of connected objects: Bluetooth® beacons, Wi-Fi® repeaters, Cameras… [0028] By “BIM file” is meant a IFC file format that contains a model or a plan that contains information about a building, such as the size of the rooms, the position of the obstacles or the composition of the walls. The IFC (for Industry Foundation Classes) format is an object- oriented file format designed to ensure interoperability between different digital mock-up software. By “semantic image” is meant a semantic image of normalized plane, for example a SVG (scalable vector graphics) format file. The semantic image can contain physical data such as the composition of the walls and the scale in its semantics. [0029] According to a first aspect, the invention relates to a computer-implemented method 1000 for generating a population of optimized deployment grids of connected objects. The invention is particularly suited when the problematic considered is minimizing the number of connected objects deployed, maximizing both the coverage and the quality of signal in the covered area while respecting a technical constraint related to the connected objects, such as a k-connectivity constraint. The invention can find an application in optimizing coverage of connected object deployments considering attenuation and heterogeneous obstacles whose information is extracted from a database comprising BIM files. [0030] In particular, as illustrated in figures 1 and 2A, the method 1000 for generating a population of optimized deployment grids P’0…P’n of connected objects according to the invention comprises an image processing including a step of loading 110 at least one plan, a step of transforming 120 the plan into a grid, a step of filtering 130 the grid to generate a binary grid, a step of skeletonizing 140 the binary grid, a step of filtering 170 the skeletonized binary grid and a step of calculating 190 and a step of generating 195 a deployment weighted multigraph, a step of generating 200 an initial population of deployment grids, a step of loading 1100 and filtering 1200 the initial population of deployment grids, a step of applying 1300 an evolutionary algorithm and a step of generating 1400 a population of optimized deployment grids P’0…P’n. [0031] The computer-implemented method 1000 for generating a population of optimized deployment grids P’0…P’n of connected objects comprises a step of loading 110 at least one plan delineating one or more zone(s) including free spaces and physical obstacles. [0032] The physical obstacles may be characterized by walls or doors while the free spaces may be characterized by an empty space or more generally by a space which does not comprise any physical obstacle. [0033] To provide such information, the plan can be a BIM file or a semantic image. Advantageously, the plan may comprise physical data related to the one or more zone(s). The physical data may include for example a radio penetration ratio, an acoustic range and attenuation, and/or a transparency index. The physical data may be relative to physical obstacles, more particularly the physical data may characterize the different obstacles that may comprise the loaded plan. [0034] The computer-implemented method 1000 for generating a population of optimized deployment grids P’0…P’n of connected objects comprises a step of transforming 120 the plan into a grid 10 comprising cells related to the one or more zone(s). [0035] By way of illustrative example, it may be considered a grid 10 environment ^^ ⊂ ℝm×n composed of m x n cells such that ^^ ^^, ^^ is the value of the cell of position (i, j). If ^^ ^^, ^^ is a physical obstacle cell, such as a wall, its value is the negative of the penetration loss per meter of the wall type, extracted from the file or for example for a BIM database if the plan is a BIM file. Otherwise, ^^ ^^, ^^= 0, representing a free space to cover. [0036] In another non limitative example, if the file is a semantic image having no information on the composition of the walls or an incomplete BIM database, it may be set ^^ ^^, ^^ = −∞ which implies that the physical obstacle is completely insulating. [0037] Once the plan has been transformed, the computer-implemented method 1000 for generating a population of optimized deployment grids P’0…P’n of connected objects comprises a step of filtering 130 the grid 10 to generate a binary grid 11 comprising binary cells related to the one or more zone(s). [0038] By way of example only, the step of filtering 130 may perform a removal of some of the physical obstacles, such as doors, then a threshold function can be applied to the grid 10 to make it a binary grid 11 representation, the threshold function may be defined by the following equation :∀bi,j ∈ B , bi,j = 1 if gi,j < 0 , or bi,j = 0 otherwise. More generally, cells related to a physical obstacle may take the value “1” and cells related to a free zone may take the value “0” or vice versa. [0039] The computer-implemented method 1000 for generating a population of optimized deployment grids P’0…P’n of connected objects according to the invention comprises a step of skeletonizing 140, based on the free spaces and the physical obstacles of the one or more zone(s), the binary grid 12 to generate a skeleton of the plan, the skeletonized binary grid 12 comprising skeleton cells, the skeleton cells being generated from the binary cells of the free spaces. [0040] The step of skeletonizing 140 may be carried out by any known method, from the skilled person, to generate a skeleton of the one or more zone(s). [0041] More particularly, the step of skeletonizing 140 may comprise a generation 150, from the binary grid 11, of medial axis of the one or more zone(s), the medial axis comprising the skeleton cells positioned at equal distance from a binary cell related to a physical obstacle. [0042] In an embodiment of the method 1000 for generating a population of optimized deployment grids of connected objects, it may comprise, prior to the step of skeletonizing 140, a step of determining 160 one or more representative zone(s), from the one or more zone(s), by calculating the maximum inscribed rectangle area, for example through the gradient descent method, and, if the ratio of the maximum inscribed rectangle area to the considered one or more zone(s) area is higher than a predefined threshold, then the step of skeletonizing 140 is based on the free spaces and the physical obstacles of the one or more representative zone(s). This determination allows to limit the area of one or more zone(s) so that the skeleton is also limited to the most relevant area of each zone. Since, connected objects will be positioned on the selected skeleton cells, limiting their positioning to a specific zone will provide deployment solutions faster. [0043] The method 1000 for generating a population of optimized deployment grids of connected objects further comprises a step of filtering 170 the skeletonized binary grid 12 to select, according to a predefined condition, a part of the skeleton cells, denoted selected skeleton cells. [0044] To that end, a filter may traverse the image with a predefined window size to keep only the endpoints and the intersection points of the latter to generate a filtered skeletonized binary grid 13. For example, a binary cell bi,j may be set to 0 if one of these predefined Where, = −1≤ ^^, ^^≤1 ^^ ^^+ ^^, ^^+ ^^ is the sum of the window values is the number of 1-1 patterns around ^^ ^^, ^^ clockwise. [0045] More particularly, as an alternative or in addition, the predefined condition of the step of filtering 170 the skeletonized binary grid 12 may further comprise selecting 180 skeleton cells related to endpoints and intersection points of the skeleton, and among the selected skeleton cells, removing 185 the selected skeleton cells located at distance inferior to: • a predefined distance from a selected skeleton cell related to a physical obstacle, and • a predefined distance between a selected skeleton cell relative to another selected skeleton cell. [0046] The method 1000 for generating a population of optimized deployment grids of connected objects further comprises a step of calculating 190 the distance between each of the selected skeleton cells. More particularly, in a preferred embodiment, the distance may be calculated by determining the number of cells of the skeleton, of known dimensions, separating the selected skeleton cells, and more preferably separating two neighboring selected skeleton cells. [0047] According to the invention, the method 1000 for generating a population of optimized deployment grids of connected objects further comprises a step of generating 195 a deployment weighted multigraph 14, as shown in figure 2B, of the one more zone(s) comprising the selected skeleton cells and weighted links. The selected skeleton cells are representative of a connected object, and each weighted link relative to a first selected skeleton cell is representative of the calculated distance between the first selected skeleton cell to a second selected skeleton cell along the skeleton of the binary grid. [0048] Still in the invention, the method 1000 for generating a population of optimized deployment grids P’0…P’n of connected objects further comprises generating 200 an initial population of deployment grids P0…Pn of connected objects. [0049] The step of generating 200 an initial population of deployment grids P0…Pn of connected objects comprises a step of loading, a step of removing and a step of iterating the first two steps. [0050] More particularly, the step of loading is configured to load, from a deployment weighted multigraph 14 of connected objects, a first deployment grid. The first deployment grid comprises the connected object positions. [0051] The step of generating 200 an initial population of deployment grids P0…Pn of connected objects is followed by a step of removing, from the first deployment grid, the connected objects which presents a distance with another connected object is equal or inferior to a predefined threshold which distance can be used as the weight for the deployment weighted multigraph 14 of connected objects. The connected objects are removed by contraction, meaning that the information relative to a connected object, for example its position and its weight within the deployment weighted multigraph 14 of connected objects, are preserved. For example, when two or more connected objects are contracted, the information relative to these connected objects may be aggregated into the remaining connected object. In other terms, it can be seen as sub-multigraphs of the weighted multigraph being generated by nodes contractions to build a different deployment grid. [0052] For example, the step of removing can be carried out concomitantly or before the step of loading the first deployment grid. [0053] Optionally, the weighted links of the weighted multigraph are contracted according to their weight, any link whose weight is less than the predefined threshold is contracted. More particularly, the weight can be representative of the distance between two skeleton cells. The distance can be determined by the cells of the grid 10, of known dimensions, separating one skeleton cell relative to another skeleton cell. [0054] As described in line with figure 3A and 3B, a deployment weighted multigraph 14 may comprise physical obstacles 14-1, 14-4 and free zones 14-2, a plurality of links 14-3, describing a plurality of paths D1-2, D1-3, D3-4, D’3-4, D4-5, of different lengths from one skeleton cell 1, 2, 3, 4, 5 to another. Depending on which link is contracted, the information related to the weight of a same skeleton cell can be different. [0055] Then, a second deployment grid is obtained which comprises less connected objects than the first deployment grid. [0056] To provide an initial population of deployment grids, the step of generating 200 an initial population of deployment grids of connected objects comprises a step of iterating the step of loading and removing, by contraction, the connected objects and increasing, for each iteration, the predefined threshold until the initial population reaches a predefined number of deployment grids P0...Pn. [0057] According to the invention, as described in line with figures 4 and 5, the method 1000 for generating a population of optimized deployment grids P’0…P’n of connected objects comprises a step of loading 1100 the initial population of deployment grids P0...Pn of connected objects and filtering 1200 the initial population by keeping the deployment grids P0....Pn of connected objects which fit at least one predefined technical constraint. The technical constraints are selected among a connectivity constraint, a full-view constraint, a placement constraint, and/or a minimum coverage constraint. [0058] The connectivity constraint is a constraint ensuring the robustness of the network. To that end, a connectivity graph ^^ ^^ = ( ^^, ^^) can be generated from the deployment grid Pn, Pn+1, with ^^ = { ^^1, ^^2, … , ^^ ^^}, ^^1, ^^2, … , ^^ ^^ being the connected objects and ^^ ^^ = ( ^^ ^^ , ^^ ^^ ), their coordinates in the deployment grid P0…Pn, and ^^ = {( ^^ ^^ , ^^ ^^)|∀( ^^ ^^, ^^ ^^) ∈ ^^2, ^^ ^^ ≠ ^^ ^^ , ^^ ^^ ( ^^ ^^ , ^^ ^^ ) < ^^}. In this example, ^^ ^^ is representative of a function that allows to determine if two connected objects are linked together in the connectivity graph ^^ ^^ according to the following equation : where ^^ ^^0 is the signal attenuation at a standard distance ^^0, ^^( ^^ ^^ , ^^ ^^ ) and ^^ are respectively the Euclidean distance and all the physical obstacles between the two connected objects ^^ ^^ and ^^ ^^. ^^σ is a random variable representing the random attenuation of the signal and δ is the scale of the grid 10 in meters per cell. The connectivity of the graph κ( ^^ ^^) is the minimum number of links in the connectivity graph to be removed so that it separates into two sub-graphs. The k-connectivity constraint is therefore respected if κ( ^^ ^^ ) > ^^. [0059] The full-view constraint ensures in the context of visual coverage that the deployment offers an unobstructed frontal view of all individuals moving in any direction within the designated area. This may be measured as a percentage of fully covered positions and directions regarding a provided navigable oriented multigraph. For example, considering a navigable oriented multigraph 15 such as ^^ ^^ = ( ^^, ^^) representing the expected directions of people roaming in the considered space, the full view constraint of a deployment ^^ can be formulated as follows: where with ^^ ^^ corresponding to the set of angles of the outgoing edges from ^^, ^^ ^^ = { ^^ ∈ ^^ | ^^ ∈ Cov( ^^) ∩ Vis( ^^)} is the set of cameras covering connected object ^^, ^^̃ ^^, ^^is the angle between ^^ and ^^, and ^^ is is the angle from which it is considered a frontal view. This constraint is therefore respected if ^^ ^^( ^^) > ^^ with ^^ a predefined threshold. [0060] The placement limitation constraint corresponds to a restriction in the available position for the positioning of the connected objects when generating a deployment. [0061] The minimum coverage constraint consists in a minimum coverage rate to consider a deployment relevant. [0062] Thus, the filtered initial population comprises all the deployment grids P0…Pn of the initial population that fit with the technical constraint. Then, the method 1000 for generating a population of optimized deployment grids comprises a step of applying 1300 an evolutionary algorithm based on the filtered initial population P0…Pn considering an objective function that is the coverage rate of the connected objects, considering a cost function that is the amount of connected objects, considering a multi-objective ranking using the Pareto Limit, and considering at least one technical constraint. [0063] The method 1000 for generating a population of optimized deployment grids P’0…P’n comprises a step of generating 1400 a population of optimized deployment grids P’0… P’n based on the coverage rate and the technical constraint, each deployment grid optimized, comprising a different amount of connected objects in comparison to the other optimized deployment grids P’0…P’n. [0064] In a preferred embodiment of the computer-implemented method 1000 according to the invention, the step of applying 1300 an evolutionary algorithm further comprises randomly selecting 1310 a deployment grid P0…Pn from the filtered initial population and generating 1320 a set of m child deployment grids C0…Cm, with m being equal or different to n. For the next iteration, after filtering the most relevant individuals from the initial population P0…Pn and child deployment grids C0…Cm, this set of deployments becomes the set of parents for the following sequence as P0…Pn. [0065] The child deployment grid C0…Cm comprises a selected deployment grid in P0…Pn with at least one mutation M1, M2, the mutation being selected between: a random addition of a connected object in a free space of the one or more zone(s), a random removal of a connected object in a free space of the one or more zone(s) and/or a random displacement of a connected object in a free space of the one or more zone(s). [0066] As shown in figure 5, two mutations M1, M2 are carried out respectively on the deployment grids P0…Pn. The two mutations M1, M2 are a random removal of a connected object in a free space. The connectivity graph G0, Gn corresponding to the one of the child deployment grids C0…Cm is then modified and if the child deployment grid C0…Cm fits the at least one technical constraint, then the child deployment grid C0…Cm is added 1330 to a new population which comprises the filtered initial population and the child deployment grids C0…Cm. In this new population, the filtered initial population and the child deployment grids C0…Cm may be used as an initial population of deployment grids P0…Pn for a next sequence. [0067] In an embodiment of the step of generating 1320 a child deployment grid, the random addition of a connected object and/or the random displacement of a connected object may be implemented on the weighted deployment multigraph 14 or on the skeleton of the binary grid. More particularly, the step of generating 1320 a child deployment grid may be configured to load the weighted deployment multigraph 14 or the skeletonized binary grid 12, and to carry out the random addition or displacement of the connected object on a weighted link. The mutated weighted deployment multigraph 14’ or the mutated skeletonized binary grid 12’ is then processed by the step of generating 200 an initial population of deployment grids P0…Pn according to the invention before the step of loading 1100 the initial population of deployment grids P0...Pn of connected objects is carried out. [0068] In the preferred embodiment, when the child deployment grid C0…Cm does not fit the technical constraint, the connected objects that does not fit the technical constraints are removed. [0069] By way of illustrative example, if the technical constraint is a connectivity constraint as previously defined, then the child deployment grid C0…Cm shown in figure 5 must comprise connected objects that have at least k neighbors in the graph G0, Gn to even consider fitting the constraint. Thus, if a connected object has less than k neighbors, it is removed of the child deployment grid C0…Cm. [0070] In a preferred embodiment of the invention, the step of applying 1300 an evolutionary algorithm comprises a step of randomly selecting 1340 another deployment grid P0...Pn from the filtered initial population and iterate the steps of selecting 1310, generating 1320 and adding 1330 described previously, to obtain a new population which comprises the parent population and the child deployment grids C0…Cm. [0071] By way of examples, the steps of selecting 1310, generating 1320 and adding 1330 can be iterated until the new population reaches a predefined size. [0072] Once the new population has been obtained, the preferred embodiment comprises a step of ranking 1350 all the deployment grids of the new population based on a score, said score being calculated from at least one objective function. [0073] By way of illustrative and non-limiting examples, the objective function includes at least: a coverage rate of the deployment grid and/or a signal quality. [0074] To optimize the deployment of connected objects, the objective function can be defined as being the sum of the coverage of the connected objects so that ^^ ^^ ^^ ^^ = ^^ ^^, ^^ . [0075] More particularly, the coverage rate can be related to a radio coverage. The coverage can thus be defined by the following function: where ^^ ^^, ^^is the value of a covered grid cell at the position ( ^^, ^^)in ^^ and ^^ is all the physical obstacles between the cell ( ^^, ^^) of the initial population deployment grid P0...Pn and the cell ( ^^, ^^) obtained by Bresenham's algorithm. [0076] Other examples of coverage rate can be similarly defined such as a visual coverage, a lighting coverage or a coverage linked to different type of connected objects: air quality connected objects, moisture connected objects or temperature connected objects and so on. [0077] In a preferred embodiment of the computer-implemented method 1000 according to the invention, the step of applying 1300 an evolutionary algorithm further comprises a step of reducing 1360 the deployment grids of the new population by keeping the deployment grids that fit with at least one predefined technical constraint. The predefined technical constraint may be configured to keep the “N” best ranked optimized deployment grids P’0...P’n, for example the top fifty best ranked optimized deployment grids P’0...P’n. [0078] Indeed, the method 1000 according to the invention aims at optimizing the deployment of connected objects in an environment, to that end it may be possible to determine which of the deployment solution fit with a threshold score. The threshold score may be characterized by a coverage rate, such as a radio coverage rate, above which the related deployment grids are kept. [0079] In addition, the score calculation may include a cost function to optimize the number of connected objects. The cost function can represent the number of connected objects in a deployment solution or the monetary cost of the deployment for example. The step of reducing 1360 may be configured so that if the cost function of a deployment grid is below the threshold score, said deployment grid is kept. [0080] Thus, to finely tune the optimization of the deployment of connected objects in an environment, a first threshold score may be related to the objective function and a second threshold score may be related to the cost function. The step of reducing 1360 may be configured so that if both objective function and cost function of a deployment grid fit the corresponding threshold score, said deployment grid is kept. [0081] When the score calculation includes an objective function and a cost function to optimize the number of connected objects, the step of ranking 1350 all the deployment grids of the new population may be realized by the Pareto limit. [0082] In the preferred embodiment of the computer-implemented method 1000 according to the invention, the step of applying 1300 an evolutionary algorithm consists of applying 1370 said evolutionary algorithm on the reduced new population and generating a population of optimized deployment grids P’0…P’n. The optimized deployment grids P’0…P’n are the one that fit with the threshold score. [0083] According to the invention, the connected objects of the computer-implemented method 1000 may present different types of coverage; and/or different connectivity ranges. [0084] EXAMPLE [0085] The invention is further described in detail by reference to the following experimental examples. These examples are provided for purposes of illustration only and are not intended to be limiting unless otherwise specified. Thus, the invention should in no way be construed as being limited to the following examples, but rather, should be construed to encompass any and all variations which become evident as a result of the teaching provided herein. [0086] The following examples, therefore, specifically point out the preferred embodiments of the present invention and are not to be construed as limiting in any way the remainder of the disclosure. [0087] Example 1 (figures 6A and 6B) Input: a SVG format file containing the semantic information of the radio wall penetration ratios is used. The grid size generated from the SVG format file is 200*200. Scale: 1 cell for 0.1m. The coverage range of the connected objects is 21 cells (2m). The simulation run is 1800s. [0088] Example 2 (figures 7A, 7B, 7C and 7D) Input: a SVG format file containing the semantic information of the radio wall penetration ratios is used. The grid size generated from the SVG format file is 1000*800. Scale: 1 cell for 0.04m. The coverage range of the connected objects is 51 cells (2m). The simulation run is 7200s. [0089] Both examples are compared to a referenced method called herein “SOTA” by reference to the NGSA-II (Non-dominated Sorting Genetic Algorithm) and described in Dahmane, W. M., Dollinger, J. F., & Ouchani, S. (2020, October). A BIM-based framework for an Optimal WSN Deployment in Smart Building. In 202011th International Conference on Network of the Future (NoF) (pp.110-114). IEEE. [0090] For both examples, the objective function is defined by the following equation: With ^^ = 3 and ^^ = 1. [0091] The radio coverage is defined as in Dahmane, W. M., Dollinger, J. F., & Ouchani, S. (2020, October). A BIM-based framework for an Optimal WSN Deployment in Smart Building. In 202011th International Conference on Network of the Future (NoF) (pp.110- 114). IEEE. [0092] The cost function is based on the number of connected objects used. The step of skeletonizing is based on the medial axis method as mentioned in H. Blum, “A Transformation for Extracting New Descriptors of Shape,”in Models for the Perception of Speech and Visual Form (W. Wathen-Dunn, ed.), pp. 362–380, Cambridge: MIT Press, 1967. [0093] The technical constraint is a connectivity constraint. The k-connectivity constraint is respected if κ( ^^ ^^) ≥ 2 in example 1 and κ( ^^ ^^) ≥ 3 in example 2. As mentioned earlier in the specification, the connectivity communication function that allows to determine if two connected objects are linked is defined according to the ^^ ^^ function according to the following equation: as described in M. Kacou, V. Guillet, G. Zein, and G. Zaharia, “A multi-wall and multi-frequency home environment path loss characterization and modeling,” 042018. Number of individuals in the population: 100. Number of individuals in the child population: 500. Probability in the mutation of losing a connected object, adding a connected object, or moving a connected object: 0.35/0.35/0.35. Probability that the added connected object is on a point of the skeleton or on a weighted link of the multigraph/on any point of the grid: 0.8/0.2. Threshold of the area of the inscribed rectangle as being representative of the room: 0.65. [0094] CONCLUSION [0095] In the results presented in line with figures 6 and 7, the invention is compared to the state of the art (SOTA: NSGA-II) in terms of relative coverage ^^ ^^ ^^ ^^ where ^^max is the number of cells to cover. Given that the function used for the coverage contains an attenuation, the aim is not to obtain 100% relative coverage but rather the best possible relative coverage. The comparison is made at different times to show how the solutions converge, and if the solutions converge towards identical solutions or not. However, the larger and more complex the environment, the slower this convergence is. Moreover, ^^ ^^ ^^ ^^ and ^^ ^^ ^^ ^^ ^^ represent the average of the distances between the solutions at a time “t” and the best solutions found during all the simulations carried out. [0096] Fig 6A shows that the invention allows the initial population of solutions to be already very close to convergence comparing to SOTA. Figure 6B shows that after t = 266s, the invention and SOTA converge to identical solutions. However, depending on the relative coverage (i.e 0.6 relative coverage) and or the number of connected objects desired (i.e 16 connected objects), figure 6B shows that the invention provides solutions with a better relative coverage for a lesser number of connected objects. Indeed, to get a relative coverage of 0.6, SOTA is not able to provide solutions with less than 16 connected objects (i.e approximately 20 connected objects to provide a relative coverage of 0.6). [0097] Figure 7A shows that the invention allows the initial population of solutions to be already very close to convergence, even for complex environments, comparing to SOTA. Figure 7B shows that after t = 990s, the invention and SOTA converge to fewer identical solutions than for the environment presented with figures 6. Figures 7C and 7D show that after respectively t= 3450s and 7170s, the invention provides on one hand solutions with a better relative coverage for a lesser number of connected objects and on the other hand provides solutions, when considering a relative coverage greater than 0.6, that SOTA is unable to provide. [0098] Finally, we note that for complex environments, the state of the art does not converge in 7200s of calculation, and that the invention finds k-connected solutions for a small number of deployed connected objects that the state of the art cannot determine. [0099] Thus, in another aspect, the invention relates to one or more computer-readable media storing computer-readable instructions that when executed by one or more processors cause the one or more processors to perform a method according to the invention. Preferably, the computer-readable media is a tangible non-transitory computer- readable media. [0100] For the purposes of this disclosure, computer-readable media may include any instrumentality or aggregation of instrumentalities that may retain data and/or instructions for a period of time. Computer-readable media may include, for example, without limitation, storage media such as a direct access storage device (e.g. a hard disk drive or floppy disk drive), a sequential access storage device (e.g. a tape disk drive), compact disk, CD-ROM, DVD, RAM, ROM, electrically erasable programmable read-only memory (EEPROM), and/or flash memory; as well as communications media such as wires, optical fibers, microwaves, radio waves, and other electromagnetic and/or optical carriers; and/or any combination of the foregoing. [0101] In particular, any combination of one or more computer-readable media may be used. In the context of this document, a computer-readable medium may be any tangible medium that may contain, or store, a program for use by or in connection with an instruction execution system, apparatus, or device. A computer-readable medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared or semiconductor system, apparatus or device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer-readable storage medium would include: a hard disk, a random-access memory (RAM). [0102] Computer program code for performing operations for aspects of the present invention may be written in any combination of one or more programming languages, including an object-oriented programming language such as Java, C ++, or similar, the programming language "C" or similar programming languages, a scripting language such as Perl, or similar languages, and / or functional languages such as Meta Language. Program code can run entirely on a user's computer, partly on a user's computer, and partly on a remote computer or entirely on the computer or remote server. In the latter scenario, the remote computer can be connected to a user's computer by any type of network, including a local area network (LAN) or a wide area network (WAN). The invention can be the subject of numerous variants and applications other than those described above. In particular, unless otherwise indicated, the different structural and functional characteristics of each of the implementations described above should not be considered as combined and / or closely and / or inextricably linked to each other, but on the contrary as simple juxtapositions. In addition, the structural and / or functional characteristics of the various embodiments described above may be the subject in whole or in part of any different juxtaposition or any different combination.

Claims

Claims 1. A computer-implemented method (1000) for generating a population of optimized deployment grids (P’0…P’n) of connected objects, the computer-implemented method (1000) comprising the execution, by at least one computer device, of the following steps: - loading (110) at least one plan delineating one or more zone(s) including free spaces and physical obstacles, such as walls or doors with physical data related to the one or more zone(s), the plan being extracted from: o a BIM file with information about a building, such as the size of the rooms, the position of the obstacles or the composition of the walls, or o a semantic image of normalized plane, for example a Scalable Vector Graphics format file, with the composition of the walls and the scale, the physical data being a coefficient of radio penetration, for instance signal and power attenuation, a coefficient of acoustic range for instance acoustic attenuation; and/or a coefficient of transparency for instance transparency of the panels for cameras as the connected objects, the computer-implemented method (1000) comprising an image processing with the following steps: - transforming (120) the plan into a grid (10) comprising cells related to the one or more zone(s), with physical data, the grid (10) being composed of m x n cells such that ^^ ^^, ^^ is the numerical value of physical data of the cell position i, j, - filtering (130) the grid (10) to generate a binary grid (11) comprising binary cells bi,j related to the one or more zone(s), - skeletonizing (140), based on the free spaces and the physical obstacles of the one or more zone(s), the binary grid (11) to generate a skeleton of the binary grid, the skeletonized binary grid (12) comprising skeleton cells, the skeleton cells being generated from the binary cells of the free spaces, - filtering (170) the skeletonized binary grid (12) to select, according to a predefined condition, a part of the skeleton cells denoted selected skeleton cells, - calculating (190) the distance between each of the selected skeleton cells along the skeleton of the binary grid, and - generating (195) a deployment weighted multigraph (14) of the one or more zone(s) comprising the selected skeleton cells and weighted links, each selected skeleton cells representing a connected object, and each weighted link relative to a first selected skeleton cell representing the calculated distance between the first selected skeleton cell to a second selected skeleton cell along the skeleton of the binary grid, - generating (200) an initial population of deployment grids (P0...Pn) of connected objects by : o loading, from the deployment weighted multigraph (14) of connected objects, a first deployment grid which comprises the connected objects positions, and removing, by contraction, the connected objects, according to the weights of the multigraph (14) equal or inferior to a predefined threshold, to obtain a second deployment grid which comprises less connected objects than the first deployment grid, o iterating the step of loading and removing, by contraction, the connected objects and increasing, for each iteration, the predefined threshold until the population reaches a predefined number of deployment grids (P0...Pn) of connected objects, - loading (1100) the initial population of deployment grids (P0...Pn) of connected objects and filtering (1200) the initial population by keeping the deployment grids (P0....Pn) of connected objects which fit at least one predefined technical constraint, - applying (1300) an evolutionary algorithm, considering an objective function that is the coverage rate of the connected objects, considering a cost function that is the amount of connected objects, considering a ranking using a Pareto Limit, and considering at least one technical constraint, to the filtered initial population, and - generating (1400) a population of optimized deployment grids (P’0…P’n) of connected objects, each optimized deployment grid comprising a different amount of connected objects in comparison to the other optimized deployment grids (P’0…P’n).
2. A computer-implemented method (1000) according to claim 1, wherein the technical constraints is selected among: a connectivity constraint, a full-view constraint, a placement constraint, and/or a minimum coverage constraint.
3. A computer-implemented method (1000) according to claim 1 or 2, wherein the predefined condition of the step of filtering (170) the skeletonized binary grid (12) comprises selecting (180) skeleton cells related to endpoints and intersection points of the skeletonized binary grid (12), and among the selected skeleton cells, removing (185) the selected skeleton cells located at distance inferior to: a. a predefined distance from a selected skeleton cell related to a physical obstacle, and b. a predefined distance between a selected skeleton cell relative to another selected skeleton cell.
4. The computer-implemented method (1000) according to anyone of claims 1 to 3, wherein the step of skeletonizing (140) comprises a generation (150), from the binary grid (11), of the medial axis of the one or more zone(s), the medial axis comprising the skeleton cells positioned at equal distance from a binary cell related to a physical obstacle.
5. The computer-implemented method (1000) according to anyone of claims 1 to 4, wherein the method comprises a step of determining (160) one or more representative zone(s), from the one or more zone(s), by calculating the maximum inscribed rectangle area and, if the ratio of the maximum inscribed rectangle area to the considered one or more zone(s) area is higher than a predefined threshold, then the step of skeletonizing (140) is based on the free spaces and the physical obstacles of the one or more representative zone(s).
6. The computer-implemented method (1000) according to anyone of claims 1 to 5, wherein the coverage rate is a radio coverage rate and the objective function is defined as the sum of the coverage rate ^^ ^^ ^^ ^^ = ∑ ^^ ^^, ^^∈ ^^ ^^ ^^, ^^ , with: ^^ = 0 is the value of the cell at position ( ^^, ^^) in a covered grid, ^^ ^^ is the radio coverage range of the connected objects and ^^ is the set of cells ^^ ^^ in the initial population deployment grid (P0…Pn) for which the deployment is not possible and correspond to walls between the cell ( ^^, ^^) and the cell ( ^^, ^^) obtained by the Bresenham algorithm.
7. The computer-implemented method (1000) according to anyone of claims 1 to 5, wherein the coverage rate is a visual coverage rate which is a binary coverage rate function: are the values of the cell at position ( ^^, ^^) in a covered grid and, Ω is the set of all possible coordinates in the initial population deployment grid (P0...Pn), ^^ ^^, ^^ ^^, ^^ are the position coordinates and visual coverage range of the object, ^^ is the orientation of the object, Θ is the field of view of the object, and Bres[( ^^, ^^), ( ^^, ^^)] is the set of coordinates between the cell ( ^^, ^^) and the cell ( ^^, ^^) obtained by the Bresenham algorithm.
8. The computer-implemented method (1000) according to anyone of claims 1 to 7, wherein the objective function is ^^ ^^ ^^ ^^ = ^^ ∑ ^^ ^^, ^^∈ ^^ ^^ ^^, ^^ + ^^ ∑ ^^ ^^, ^^∈ ^^ ^^ ^^ ^^, ^^>0 with any ^^, ^^ ∈ ℕ\{0,0}, such that the objective function allows to configure prioritising to cover more cells for the same quality of coverage according to configurable weights.
9. The computer-implemented method (1000) according to anyone of claims 1 to 8, wherein the step of applying (1300) an evolutionary algorithm further comprises: o randomly selecting (1310) a deployment grid (P0…Pn) from the filtered initial population (P0...Pn), and generating (1320) a child deployment grid (C0…Cm), the child deployment grid comprising the selected deployment grid with at least one mutation, the mutation being selected between: a random addition of a connected object in a free space of the one or more zone(s), a random removal of a connected object in a free space of the one or more zone(s) and/or a random displacement of a connected object in a free space of the one or more zone(s), o if the child deployment grid (C0…Cm) fits the technical constraints, then add (1330) the child deployment grid (C0…Cm) to the filtered initial population, o randomly selecting (1340) another deployment grid from the filtered initial population (P0…Pn) and iterate the steps of selecting (1310), generating (1320) and adding (1330), to obtain a new population which comprises the filtered initial population and the child deployment grids (C0…Cm), o ranking (1350) all the deployment grids (P0…Pn) of the new population based on a score calculated from at least one objective function, o reducing (1360) the deployment grids (P0…Pn) of the new population by keeping the deployment grids (P0…Pn) that fit with the at least one predefined technical constraint, o applying (1370) the evolutionary algorithm on the reduced new population and generating the population of optimized deployment grids (P’0...P’n).
10. The computer-implemented method (1000) according to claim 9, wherein the step of generating (1320) a child deployment grid (C0…Cm) with the random addition of a connected object and/or the random displacement of a connected object is implemented on the skeleton of the skeletonized binary grid (12) or on the deployment weighted multigraph (14).
11. The computer-implemented method (1000) according to anyone of anyone of claims 1 to 10, wherein the technical constraints comprise a connectivity constraint which corresponds to verifying if the minimum number of links to be removed κ( ^^ ^^) in a connectivity graph (G0, Gn), representing the possible communication of connected objects using radio communication technologies, so that it separates into two sub-graphs is higher than a predefined integer k, the k-connectivity constraint is therefore respected if κ( ^^ ^^ ) > ^^.
12. The computer-implemented method (1000) according to anyone of claims 1 to 11, wherein the technical constraints further comprise a full-view constraint which consists in ensuring in the context of visual coverage that the deployment offers an unobstructed frontal view of all individuals moving in any direction within the designated area, for instance by measuring as a percentage of fully covered positions and directions.
13. The computer-implemented method (1000) according to anyone of claims 1 to 12, wherein the technical constraints further comprise a placement constraint which corresponds to a restriction in the available position for the positioning of the connected objects when generating a deployment.
14. The computer-implemented method (1000) according to anyone of claims 1 to 13, wherein the full-view constraint is considered met if a function scoring the deployment according to an input navigable oriented multigraph (15) ^^ ^^ = ( ^^, ^^) representing the expected directions of people roaming in the considered space, is higher than a predefined threshold. The scoring function can be formulated as follows: where with ^^ ^^ corresponding to the set of angles of the outgoing edges from ^^, ^^ ^^ = { ^^ ∈ ^^ | ^^ ∈ Cov( ^^) ∩ Vis( ^^)} is the set of cameras covering connected object ^^, ^^̃ ^^, ^^is the angle between ^^ and ^^, and ^^ is is the angle from which it is considered a frontal view.
15. The computer-implemented method (1000) according to anyone of claims 11 to 14, wherein the connectivity graph (G0, Gn) is built using any connectivity functions representing the connected objects possible interconnections, wherein the connectivity graph ^^ ^^ = ( ^^, ^^) is generated from the initial population deployment grid (P0...Pn), with ^^ = { ^^1, ^^2, … , ^^ ^^}, ^^1, ^^2, … , being the connected objects and ^^ ^^ = ( ^^ ^^ , ^^ ^^), their coordinates in the deployment grid (P0...Pn), and ^^ = {( ^^ ^^ , ^^ ^^ )|∀( ^^ ^^, ^^ ^^ ) ∈ ^^2, ^^ ^^ ≠ ^^ ^^ , ^^ ^^( ^^ ^^ , ^^ ^^) < ^^}, ^^ ^^ is representative of a function that allows to determine if two connected objects are linked together in the connectivity graph ^^ ^^ according to the following equation : where ^^ ^^0 is the signal attenuation at a standard distance ^^0, ^^( ^^ ^^ , ^^ ^^) and ^^ are respectively the Euclidean distance and l the physical obstacles between the two connected objects ^^ ^^ and ^^ ^^, ^^σ being a random variable representing the random attenuation of the signal and δ is the scale of the grid (10) in meters per cell.
16. The computer-implemented method (1000) according to anyone of claims 1 to 15, wherein: - the coverage rate of connected objects can further comprise : o a lighting coverage rate, o an air quality particles coverage rate, o a moisture coverage rate, o a temperature coverage rate, - the technical constraints on the connected objects deployment can further comprise different connectivity ranges.
17. The computer-implemented method (1000) according to anyone of claims 1 to 16, wherein the connected objects receive and/or emit data.
18. A computer-implemented method according to anyone of claims 1 to 17, wherein the connected objects are selected from: a sensor, an actuator, a camera and/or an access point.
19. The computer-implemented method according to anyone of claims 1 to 18, wherein it further comprises a step of : - deploying IoT positioning beacons in a building, to guide users in the building, with one of the n optimised deployment grids of the connected objects, - deploying particle sensors, - deploying connected objects which interact with a user which navigates in the building, for instance to allow the communication of the connected objects along the path of a user in the building who has a terminal able to be connected to these connected objects, or - deploying Wi-Fi terminals.
EP23821650.1A 2022-12-29 2023-12-11 Method for generating a deployment weighted multigraph of connected objects and method for generating optimized deployment solutions of connected objects thereof Pending EP4643563A2 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP22307064.0A EP4395397A1 (en) 2022-12-29 2022-12-29 Method for generating a deployment weighted multigraph of connected objects and method for generating optimized deployment solutions of connected objects thereof
EP23020194 2023-04-24
PCT/EP2023/085223 WO2024141255A2 (en) 2022-12-29 2023-12-11 Method for generating a deployment weighted multigraph of connected objects and method for generating optimized deployment solutions of connected objects thereof

Publications (1)

Publication Number Publication Date
EP4643563A2 true EP4643563A2 (en) 2025-11-05

Family

ID=89168248

Family Applications (1)

Application Number Title Priority Date Filing Date
EP23821650.1A Pending EP4643563A2 (en) 2022-12-29 2023-12-11 Method for generating a deployment weighted multigraph of connected objects and method for generating optimized deployment solutions of connected objects thereof

Country Status (2)

Country Link
EP (1) EP4643563A2 (en)
WO (1) WO2024141255A2 (en)

Also Published As

Publication number Publication date
WO2024141255A2 (en) 2024-07-04

Similar Documents

Publication Publication Date Title
US11544900B2 (en) Primitive-based 3D building modeling, sensor simulation, and estimation
CN111598972A (en) House type graph generation method and device, computer equipment and storage medium
Zhu et al. A new reconstruction method for 3D buildings from 2D vector floor plan
CN114491726B (en) Building Performance Analysis (BPA) machine for facilitating machine learning of building energy analysis
CN118830005A (en) A building modeling method and related device
US20240028808A1 (en) Method and device for chip layout, computer equipment and medium
Yang et al. Automated semantics and topology representation of residential-building space using floor-plan raster maps
Psarra et al. Just around the corner from where you are: Probabilistic isovist fields, inference and embodied projection
Upadhyay et al. Flnet: graph constrained floor layout generation
CN107526895A (en) A kind of ancient houses group rapid modeling system
CN113625770B (en) Autonomous navigation planning method and device for inspecting photovoltaic power stations based on flying drones
CN114359506A (en) Method and device for comparing house types and analyzing house type comparison results
CN120372745A (en) Building modularization combination generation method, system and medium based on three-dimensional analysis
US20240012955A1 (en) Generative network-based floor plan generation
WO2024141255A2 (en) Method for generating a deployment weighted multigraph of connected objects and method for generating optimized deployment solutions of connected objects thereof
CN120012026B (en) Parallel fusion method, system, terminal and storage medium for multi-mode data of urban stock space
EP4395397A1 (en) Method for generating a deployment weighted multigraph of connected objects and method for generating optimized deployment solutions of connected objects thereof
Yildiz et al. Deep architectural floor plan generation: An approach for open-planned residential spaces'
US20240028787A1 (en) Techniques for design space exploration in a multi-user collaboration system
Nguyen-Sy Conditional autoencoder for HVAC duct layout generation
CN117131963A (en) Task processing methods, neural networks and their training methods, equipment and media
CN117132878B (en) Task processing methods, neural networks and their training methods, devices and media
Meng et al. A generative artificial intelligence approach to modular skeletal framework modeling: Bamboo stilt houses as a case study
CN118446423B (en) A method and system for intelligently generating power supply schemes based on mobile terminal graph operations
Date et al. Modeling space to support use-pattern simulation in buildings

Legal Events

Date Code Title Description
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: UNKNOWN

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE

PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE

17P Request for examination filed

Effective date: 20250721

AK Designated contracting states

Kind code of ref document: A2

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC ME MK MT NL NO PL PT RO RS SE SI SK SM TR

DAV Request for validation of the european patent (deleted)
DAX Request for extension of the european patent (deleted)