Method for generating a deployment weighted multigraph of connected objects and method for generating optimized deployment solutions of connected objects thereof
Patent Information
- Application Number
- EP2023821650
- Authority / Receiving Office
- EP · EP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-04-24
- Filing Date
- 2023-12-11
- Publication Date
- 2025-11-05
AI Technical Summary
Existing methods for deploying IoT networks in complex environments with multiple areas or rooms separated by obstacles face long processing times and do not achieve satisfactory deployment optimizations, failing to efficiently minimize the number of devices while maximizing coverage and signal quality.
A computer-implemented method generates a deployment weighted multigraph of connected objects by loading a plan with zone data, transforming it into a grid, filtering and skeletonizing it, and applying an evolutionary algorithm to optimize the deployment grids, considering connectivity, full-view, and minimum coverage constraints.
This method significantly reduces the number of connected objects required while maintaining high coverage and signal quality, achieving faster optimization in complex environments compared to state-of-the-art methods.
Smart Images

Figure IMGF000006_0001 
Figure IMGF000006_0002 
Figure IMGF000008_0001
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 3rdInternational 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 JointConference 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,jrelated 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 canoptionally 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 ^^^^ ^^ ^^= ^^ ∑^^ ^^, ^^∈ ^^^^^^, ^^+ ^^ ∑^^ ^^, ^^∈ ^^^^^^ ^^, ^^>0with 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 ^^ ^^0is 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 generallyrelevant 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 responseto 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, astep 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×ncomposed 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 ofthe 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 keeponly the endpoints and the intersection points of the latter to generate a filtered skeletonized binary grid 13. For example, a binary cell bi,jmay be set to 0 if one of these predefinedWhere, =∑−1≤ ^^, ^^≤1^^^^+ ^^, ^^+ ^^is the sum of the window valuesis 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 ^^ ^^0is 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 theexpected 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’nbased 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 anevolutionary 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 gridsP’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 toencompass 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 ^^maxis 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 bestsolutions 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,jrelated 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 toa 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 ofthe 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: ^^= 0is 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 ^^^^ ^^ ^^= ^^ ∑^^ ^^, ^^∈ ^^^^^^, ^^+ ^^ ∑^^ ^^, ^^∈ ^^^^^^ ^^, ^^>0with 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 theexpected 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 ^^ ^^0is 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.