FIELD

The present disclosure relates to the field of locating objects, in particular fixed objects, in an environment (such as a house, a room of a house, an apartment, an office, etc.), in particular in a smart environment.

BACKGROUND

A smart environment comprises a network of sensors which provide information concerning values, for example physical values (ambient brightness, temperature, power consumption, etc.), a state (movement, presence of an individual in a room), and possibly actuators able to perform tasks based on the information provided by the sensors (controlling the thermostat to increase the temperature of a room, controlling a switch to turn off a light, etc.).

For some applications, it is important to know the location of the sensors or actuators in the network of objects. For example, in the context of a business building, knowledge of the position of the sensors is essential for services such as managing the distribution of energy consumption to the various rooms of the building, occupancy of the conference rooms of the building, etc. In the context of home automation, sensor location information makes certain services more reliable, such as activity recognition, detection of an individual's presence, intrusion detection, etc.

In existing solutions, sensor and/or actuator location information is obtained from data provided by individuals, for example an authorized professional who has performed or supervised the installation of objects in the network, or the user himself. Such solutions can be expensive (particularly in the first case), and very time-consuming, as the number of objects can be very high and the area to be covered can be very large. In addition, with each change in the network configuration (particularly when a new network node is installed or when an existing node is moved), it is necessary to update this location information. Such updating is tedious and generates errors, especially when the number of connected objects is high, and requires careful tracking which the user does not necessarily want or have the time to perform.

The solutions developed for tracking mobile objects could be adapted to the locating of connected and fixed objects. However, current solutions for such tracking are usually based on the use of beacons. For example, in U.S. Pat. No. 6,529,164 B1, a system is proposed for locating people equipped with transceivers inside a building. To achieve this, beacons are placed in the building, and intermittently transmit unique identification codes. The transceivers receive transmissions from nearby beacons, determine the signal strength of these transmissions, and transmit the associated data to a server. The server uses these data to determine the location of each transceiver and uses the expected travel times between specific locations to resolve ambiguities.

However, such solutions require installing, in addition to the objects to be located, beacons within the area to be controlled. Such installation represents significant costs in labor, configuration, and maintenance, especially in large buildings such as corporate offices. In addition, these solutions rely on measurements of the signal strength of the received signal throughout the building, which is also expensive. In addition, to use these solutions, it is necessary to know the location of the beacons inside the building and to update the location information when a beacon is added, removed, or moved. This location information is generally obtained from data provided by individuals (authorized professional or user), which returns to the problem defined above.

There is therefore a need for an efficient solution for the automatic acquisition of the physical position of nodes (i.e. sensors and/or actuators) in a network of sensors. The present disclosure improves the situation.

SUMMARY

The present disclosure concerns a method, implemented by computer means, for locating sensors situated in a geographical area, said geographical area consisting of at least one reference sub-area, said sensors comprising:

at least one first sensor, each first sensor among said at least one first sensor being respectively associated with a sub-area among said at least one reference sub-area in which it is situated; and

at least one second sensor, each second sensor among said at least one second sensor not being associated with any sub-area;

the method comprising:

a. grouping said sensors into a plurality of groups based on data from said sensors, by partitioning said data;

b. for at least one group of sensors among the plurality of groups, determining whether or not the group comprises a first sensor; and

c. if the group comprises a first sensor, associating each second sensor of the group with the sub-area with which the first sensor is associated.

“Geographical area” is understood to mean a spatial area which corresponds to a particular environment, such as a house, a building, an apartment, an office, etc. “Sub-area” is understood to mean a spatial region included in the geographical area, for example a room or a set of rooms. For example, sub-areas form a partition of the geographic area. “Reference sub-area” is understood to mean that the sub-areas are predefined or predetermined according to the desired application (for example, depending on the desired accuracy, a sub-area may correspond to an entire floor or to a single room). For example, the sub-areas may be predefined by the user, by the network installer, by a person in charge of implementing a technical solution (for example optimization of electricity consumption) in the geographical area.

It is assumed that the location (i.e. the geographical sub-area in which a sensor is situated) of certain sensors is known (for example, it has been specified by the network installer, by a user, or by a external entity), while the location of some sensors is unknown. The “first sensors” thus designate the sensors whose location is known, and the “second sensors” designate sensors whose location is unknown.

“Data partitioning” is understood to mean any data analysis technique for separating a set of data into homogeneous “packets” in the sense that the data of each packet share common characteristics, established on the basis of proximity criteria. For example, such a data analysis technique may include the application of an unsupervised classification algorithm.

Sensor grouping is carried out based on the data from the sensors, and the known location information is propagated to the other sensors of a same group.

In one embodiment, step c may further comprise: if the group does not comprise any first sensor, issuing a signal relating to a sub-area in which a sensor of the group of sensors is situated.

For example, if a group has no sensor whose location is known, it is possible to send a signal to an external entity to request location information relating to one of the group sensors (for example, a command inviting a user to enter the location of a given sensor). In this case, the method may further comprise:

subsequent to the transmission of the signal, receiving data relating to a sub-area; and

associating each sensor of the group with the sub-area corresponding to the received data.

Thus, in response to the transmitted signal, location information can be received for a sensor of the group and propagated to all sensors in the group.

In one embodiment, the method may further comprise:

d. generating a control signal for an electronic device on the basis of at least one sensor and the sub-area associated with it.

The determined location information can be used to control a device. For example, in a context of optimizing energy consumption, the location information can be used to control the temperature and/or brightness of different sub-areas.

In one or more embodiments, for a subset of data among said data from said sensors, each piece of data of the subset is respectively associated with an event time, the partitioning of said data being a function of said event times.

The partitioning method can thus determine groups based on temporal correlations, which make it possible to deduce spatial correlations between the sensors.

In one embodiment, at least one piece of data of the subset of data may come from at least one first sensor among said first sensors. The method may further comprise:

selecting a reference sensor among said at least one first sensor;

determining differences between event times associated with sensors other than the reference sensor and an event time associated with the reference sensor;

wherein the grouping of the sensors is carried out on the basis of the determined differences.

In one or more embodiments, the partitioning of said data is a K-means type of algorithm.

In one or more embodiments, the grouping of the sensors may comprise:

grouping said first sensors into a plurality of first groups, such that all first sensors belonging to a same first group among the plurality of first groups are associated with a same sub-area and such that two first sensors among said first sensors associated with two different respective sub-areas do not belong to a same first group;
on the basis of the data from the sensors, adding a second sensor to a first group among said first groups, or to a created group not comprising any first sensor.

Thus, at the end of the grouping step a, two first sensors (i.e. whose location is known) of a same sub-area are necessarily in the same group, and two first sensors of two different sub-areas are necessarily in two different groups. This increases the robustness of the overall process. The preliminary step of grouping the first sensors can be carried out for example by assigning specific distances between the first sensors: a zero distance can be assigned between two first sensors of a same sub-area, and a very large distance can be assigned between two first sensors of two different sub-areas.

In one or more embodiments, the sensors of the geographical area may belong to a same local area network, and steps a to c may be implemented at each detection of the addition of a new sensor to the local area network and/or each removal of a sensor from the local area network for which data was previously received.

Thus, in the event of a change in the topography of the network, the location information is advantageously updated.

In one or more embodiments, the method may further comprise:

receiving a signal confirming or correcting that a sensor belongs to a sub-area;

updating the groups of sensors and the sub-areas associated with the groups of sensors according to the received confirmation or correction signal.

Such a confirmation signal is received from an external entity, for example a user who manually confirms that a sensor is indeed situated in that sub-area, or who corrects the detected sub-area in the event of an error. This makes it possible to correct any errors during grouping.

In one or more embodiments, the received data may be associated with sensors measuring different physical parameters.

For example, when the data are grouped according to the time an event occurs at a sensor, it is not necessary for the different sensors to correspond to the same physical parameter. This advantageously makes it possible to exploit data from very different and very heterogeneous sensors.

The disclosure also concerns a device for locating sensors situated in a geographical area, said geographical area consisting of at least one reference sub-area, said sensors comprising:

at least one first sensor, each first sensor among said at least one first sensor being respectively associated with a sub-area among said at least one reference sub-area in which it is situated; and

at least one second sensor, each second sensor among said at least one second sensor not being associated with any sub-area;

the device comprising a circuit configured to implement one of the methods described above.

For example, the device may be integrated with an electronic device providing access to the Internet.

The present disclosure also concerns a computer program product comprising instructions for implementing one of the methods described above, when this program is executed by a processor.

This program may use any programming language (for example an object language or some other language), and be in the form of interpretable source code, partially compiled code, or fully compiled code.

FIG. 2, described in detail below, can constitute the flowchart of the general algorithm of such a computer program.

Another aspect relates to a non-transitory storage medium for a computer-executable program, comprising a set of data representing one or more programs, said one or more programs comprising instructions for executing all or part of the method described above, when said one or more programs is executed by a computer comprising a processing unit operably coupled to memory means and to an input/output interface module.

