Method for positioning and displaying a virtual object in a real environment, and associated system

The process of estimating virtual object positions using a network of positioning terminals and sensor data addresses the challenges of precise localization in real environments, enhancing visualization and data sharing in augmented and virtual reality applications.

WO2025021736A1PCT designated stage expired Publication Date: 2025-01-30ARY
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
PCT/EP2024/070677
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-07-27
Filing Date
2024-07-22
Publication Date
2025-01-30

AI Technical Summary

Technical Problem

Current technologies face challenges in precisely positioning virtual objects in real environments, especially in enclosed spaces like homes and offices, due to limitations in GPS accuracy and the need for prior knowledge of the environment's topology and terminal positions, leading to errors in visualization and data sharing among users.

Method used

A process that estimates the position of virtual objects using a network of positioning terminals, calculating reference vectors and benchmarks to accurately display virtual objects on electronic terminals without prior knowledge of the environment's layout or terminal positions, utilizing UWB messaging and sensor data for precise localization.

Benefits of technology

Enables accurate and efficient positioning of virtual objects in real environments, reducing errors and allowing data sharing among users without the need for extensive vectorization or access to specific terminals, improving visualization quality and user experience in augmented and virtual reality applications.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure EP2024070677_30012025_PF_FP_ABST
    Figure EP2024070677_30012025_PF_FP_ABST
Patent Text Reader

Abstract

The invention relates to a computer-implemented method for positioning at least one virtual object anchored to a position of a real space, the method comprising:  transmitting positioning messages between a terminal and a first set of positioning anchors (B1, B2, B3) in order to estimate the position of each positioning anchor (B1, B2, B3);  estimating an estimated reference frame by the terminal aiming to reconstruct a predefined initial reference frame;  acquiring a position of a virtual object and data representing the virtual object in an initial reference frame;  transposing the position of the virtual object from the estimated initial reference frame to the reference frame of the electronic terminal; and  displaying the virtual object on the display of the electronic terminal.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] METHOD FOR POSITIONING AND VISUALIZING A VIRTUAL OBJECT IN A REAL ENVIRONMENT, ASSOCIATED SYSTEM

[0002] Field of invention

[0003] The invention relates to methods implemented by computers and / or by systems comprising electronic equipment for exploiting data from a virtual environment in a real environment. The field of the invention relates more particularly to methods for positioning and visualizing a virtual object in a real environment. The field of the invention relates more particularly to methods for reducing errors in positioning a virtual object in a real environment, in particular for augmented reality or virtual reality applications when the same object is visible by different equipment of different users.

[0004] State of the art

[0005] There are solutions for anchoring data to a given position in a real indoor environment. One solution is to vectorize all or part of the real indoor environment to represent the object in its surroundings. The data is positioned in a reference frame linked to the vectorized environment. It is understood that the data can be virtual objects, media, or even text.

[0006] One advantage is that it allows sharing data located in a real environment with other individuals. However, this solution has the disadvantage of having to be accessible to all parties wishing to exchange information. This configuration is practical when there is access, generally operated by an application, to the real environment, but this is not always the case, and it is also very difficult to duplicate the vectorization of a real environment.

[0007] This solution allows data to be viewed in a real-life context, such as a living room or office, but only through a terminal or system that has performed the vectorization. However, this solution is restrictive in several ways. Indeed, if we want to see a piece of furniture layout represented in a context that changes over time, it is necessary to perform a new vectorization of the location. Another disadvantage is that each person wishing to access an object anchored to a given position must have access to the vectorized location or must vectorize the location themselves. This implies, in particular, that a large amount of data is transferred from one device to another.

[0008] Furthermore, there are solutions for locating virtual objects in the real outdoor environment. This is particularly the case for a game such as Pokémon Go, which is a registered trademark. The game consists of recovering virtual objects placed in positions in the real environment. However, a limitation of this technology is GPS location, which does not allow for the precise location of objects inside a room, as the signal is often too attenuated and does not allow for sufficient precision.

[0009] There is a need to localize data in a real environment that is located in enclosed places such as homes, factories, offices, stores, museums or any other place that can be used to exchange localized data between individuals.

[0010] Finally, there are solutions for locating an object in a space equipped with positioning terminals. However, current technologies do not allow for precise positioning of virtual objects only visible via an electronic terminal. Indeed, these systems require the electronic terminal to be correctly located in order to subsequently correctly position the object in the reference frame of said electronic terminal. Indeed, measurement errors result in deviations in the positioning of virtual objects and therefore degrade the quality of visualization of said objects from the electronic terminal. The required precision of the measurements means that additional data must be introduced to assess the positions of the objects and terminals used that are sufficient to guarantee a reasonable quality of service.However, taking into account additional data degrades the definition of an ad hoc service that does not require any a priori knowledge mechanism of the real environment.

[0011] A possible solution remains to define a fixed viewing position in order to guarantee the correct viewing of a virtual object positioned in space. In practice, this case is difficult to implement in many cases because an individual entering an area does not necessarily have knowledge of the point to which he must go to view in augmented reality the different virtual objects present in the space. Furthermore, there also remains a problem due to the lack of a priori knowledge of the reference frame in which the objects have been placed when an individual enters the space for the first time.

[0012] The invention makes it possible to overcome the aforementioned drawbacks.

[0013] Summary of the invention

[0014] According to a first aspect, the invention relates to a computer-implemented method for positioning at least one virtual object anchored to a position in a real space, said virtual object being intended to be displayed on an electronic display of an electronic terminal when said terminal targets, by means of an optical device, a given position in the space of the real environment, said method comprising:

[0015] ■ First transmission of positioning messages between a terminal and a set of positioning terminals in order to estimate the position of each positioning terminal in the reference frame of the electronic terminal;

[0016] ■ Estimation of a reference frame estimated by the terminal aimed at reconstructing a predefined initial reference frame, said estimation comprising:

[0017] ■ Estimation of a reference position from the estimated positions of each positioning terminal; said estimated reference position being determined according to a geometrically calculated position with respect to the positions of the positioning terminals, said estimated reference position defining the center of an estimated reference frame and not being the position of a positioning terminal;

[0018] ■ Calculation of a first reference vector from the accelerometer or a gyroscope of an electronic terminal, said first vector being defined parallel to the force of gravity acting on the accelerometer and oriented according to a given orientation, said first vector forming a vector of the estimated reference frame;

[0019] ■ Calculation of a second vector from at least one position of a positioning terminal and a second reference position (B2), said second vector forming a vector of the estimated reference frame;

[0020] ■ Calculation of a third vector from the vector product of the first and second vectors, said third vector forming a vector of the estimated reference frame;

[0021] ■ Acquisition of a position of a virtual object and data representing said virtual object in a reference frame by means of a communication interface of said electronic terminal;

[0022] ■ Transposition of the position of the virtual object from the estimated initial reference point to the reference point of the electronic terminal, said transposition being calculated from the distance between the position of the electronic terminal and the position of the center of the initial reference point estimated in real time,

[0023] ■ Display of said virtual object on the display of the electronic terminal from the position of the transposed virtual object and its representation data, said virtual object being displayed on the display as a function of the orientation of the telephone measured in its own frame of reference by an integrated gyroscope.

[0024] One advantage is to position a virtual object within a space equipped with positioning terminals without prior knowledge of the topology of the place, or even the positions of the terminals in this place since they will be estimated by the terminal.

[0025] According to one embodiment, the method comprises:

[0026] ■ Anchoring a virtual object to an anchoring position from the generation of a first command carried out from the electronic terminal, said anchoring comprising the selection of at least one identifier of a virtual object recorded in a memory, said anchoring position corresponding to the position of the electronic terminal in the reference frame estimated by said electronic terminal at the time of generation of the first command.

[0027] One advantage is to position a virtual object within a reference frame that is agnostic of the real topology of a given location. Only positioning terminals allow a virtual object to be located in a location by defining a reference frame.

[0028] According to one embodiment, the method comprises:

[0029] ■ Initialization of a plurality of positioning terminals aimed at identifying the distances of each positioning terminal with respect to the other positioning terminals, at least one positioning terminal centralizing all of the positions of each other positioning terminal with respect to itself;

[0030] ■ Determination of a set of data for the arrangement of the positioning terminals relative to each other by means of an initialization step making it possible to calculate all of the data for the distance between the positioning terminals and their respective direction relative to each other, said data being recorded in a memory of a positioning terminal and / or of electronic equipment connected to at least one of the positioning terminals and / or a remote server storing the configuration data of said positioning terminals.

[0031] One advantage is to define relative positions defining an arrangement of the terminals between them. One advantage is to allow this arrangement data to be transmitted to a terminal, for example via a service supported by a remote server, so that this data can be used in the terminal's estimations of terminal positions.

[0032] According to one embodiment, the initialization step of the method comprises acquiring a height of each positioning terminal and the arrangement data comprising said heights of each positioning terminal. An advantage is to best adjust the position of each terminal relative to the other terminals with reliable distance information.

[0033] According to one embodiment, the method comprises: ■ Acquisition by a terminal of the arrangement data of the positioning terminals;

[0034] ■ Recalibration of the positions of the positioning terminals estimated by the terminal in the reference frame of said terminal from the distances between each positioning terminal extracted from the layout data.

[0035] One interest is to improve the estimation of the positions of each terminal from additional knowledge.

[0036] According to one embodiment, the initialization step of the method comprises the construction of an initial reference frame from the arrangement data of the positioning terminals, said reference frame comprising a geometric reference center calculated from relative positions of the positioning terminals and the definition of a vertical axis, said reference frame estimated by a terminal aiming to reconstruct said initial reference frame. An advantage is to allow any terminal to reconstruct the frame from a reception of messages coming from the terminals.

[0037] According to one embodiment, the initial reference mark comprises the

[0038] ■ Calculation of an initial reference position from the relative positions of each positioning terminal with respect to the other terminals; said reference position being determined according to a geometrically calculated position with respect to the relative positions of the positioning terminals with respect to each other, said initial reference position defining the center of an initial reference frame and not being the position of a positioning terminal;

[0039] ■ Calculation of a first reference vector from the definition of a vertical axis, said first vector forming a vector of the initial reference frame;

[0040] ■ Calculation of a second vector from at least one position of a positioning terminal and a second reference position, said second vector forming a vector of the initial reference frame; ■ Calculation of a third vector from the vector product of the first and second vectors, said third vector forming a vector of the initial reference frame.

[0041] One advantage is to define a reference frame that is agnostic of the topology of the location. The reference frame depends solely on the position of the terminals. According to one embodiment, another advantage is to also use knowledge about the positioning of the terminals relative to each other in order to improve the reconstruction of the reference frame from the positions of the terminals determined by the electronic terminal.

[0042] According to one embodiment, the estimation of the position of a positioning terminal by the terminal is carried out by means of a plurality of steps of receiving UWB messages transmitted by said positioning terminal and received by said electronic terminal, said estimation comprising an estimation of the distance between the positioning terminal and said electronic terminal by means of an analysis of the flight times or an analysis of the differences in arrival times of each transmitted and received UWB message; said estimation of the position of a terminal comprising a statistical analysis of the most probable position of said positioning terminal. An advantage is to determine iteratively the position of the terminals and therefore in a second step that of the terminal.

[0043] According to one embodiment, the estimation of the position of each positioning terminal comprises an estimation by the electronic terminal of the direction of arrival of each UWB message transmitted by each positioning terminal by means of UWB antennas allowing the analysis of an angle of arrival, the method comprising the generation of a set of probable positions of each positioning terminal defining a point cloud, the position of each positioning terminal being reconstructed from an algorithm for estimating the most probable position of each positioning terminal. An advantage of using angles of arrival is to calculate the position of the terminals more quickly and with better precision in order to deduce the position of the terminal within the latter.

[0044] According to one embodiment, the estimation of the position of each positioning terminal comprises an estimation by the electronic terminal of a set of spheres of probability of presence of each positioning terminal, said space surrounding the electronic terminal being subdivided into elementary zones in the frame of reference of the electronic terminal, said electronic terminal implementing an algorithm aimed at weighting the elementary zones intercepting each sphere of probability of presence calculated iteratively, the position of each positioning terminal being determined according to the highest probability of presence within an elementary zone. An advantage is to define a modeling of the space with a granularity determined according to a desired position precision. The speed of the convergence of the determination of the position of the terminals can in particular be configured according to the definition of the zones.

[0045] According to one embodiment, the estimation of the position of each positioning terminal comprises an estimation by the electronic terminal of a modification of the trajectory of the electronic terminal in space and taking into account the change in position of the electronic terminal at each estimation of the probable position of each positioning terminal, in order to reconstruct in a given frame of reference of the electronic terminal the most probable position of each terminal. An advantage is to take advantage of the movements of the electronic terminal to obtain several measurements at different positions of the latter to deduce the position of the terminals by an iterative approach.

[0046] According to one embodiment, the anchoring operation comprises the transmission of a message by the electronic terminal comprising at least one virtual object identifier and a position in the estimated reference frame. An advantage is to simply designate the object by a short message which can be transmitted simply within any message supported by any protocol. The server can then associate an identifier with a virtual object comprising geometric data describing a representation of said virtual object.

[0047] According to one embodiment, the anchoring operation comprises transmitting a message according to one of the following methods:

[0048] ■ Sending a message to a remote server accessible from a data network, said message being sent from a communication interface using a Bluetooth, Wi-Fi or 4G protocol. One advantage is that it allows the use of, for example, a home Wi-Fi network to transmit the data. This type of protocol allows for large data transfers.

[0049] ■ Emission of a UWB message to the positioning terminals, said UWB message encoding the anchoring position and a virtual object identifier. One advantage is that it allows the use of, for example, a home Wi-Fi network to transmit the data. This type of protocol allows for large data transfers. One advantage is that it allows the use of an infrastructure based solely on the UWB protocol, which does not require the installation of equipment such as an internet access box and provides a Wi-Fi, Bluetooth or 4G connection. for example, a home Wi-Fi network to transmit the data. This type of protocol allows for large data transfers.

[0050] According to one embodiment, the reference position defining the center of a reference frame is the barycenter of the positioning terminals. An advantage is that it allows errors to be minimized and averaged because the point is located at substantially equivalent distances from each terminal. The error in the calculated position is less affected by the error made by a terminal by choosing a reference point equidistant from the terminals.

[0051] According to one embodiment, the second vector is defined parallel to the axis joining two positioning terminals or parallel to the axis intersecting the two verticals passing respectively through each of the positioning terminals, said positioning terminals being chosen on either side of magnetic north. An advantage is to create a reference point agnostic of any information relating to the geometry and / or the topology of the place in which the terminal is operating.

[0052] According to one embodiment, the first virtual object is selected from:

[0053] ■ An electronic terminal memory;

[0054] ■ A memory of the positioning terminal and accessible from the electronic terminal by activating a data exchange implemented by a WIFI or Bluetooth link; ■ A memory of a remote server and accessible from the electronic terminal by activating a data exchange implemented by a WIFI or Bluetooth link.

[0055] According to one embodiment, the first UWB signal emitted by the electronic terminal or at least one positioning terminal is a message of a bidirectional UWB data exchange sequence, called “Two way UWB ranging”, in which a measurement of the time of flight makes it possible to calculate the distance between the electronic terminal and the positioning terminal.

[0056] According to one embodiment, the first UWB signal emitted by each positioning terminal is a message of a unidirectional UWB data transmission sequence in which a measurement of the arrival time of the received message makes it possible to calculate the distance between the electronic terminal and each positioning terminal, the calculation of the first distance being calculated from a prior synchronization of the clocks of the first electronic terminal and the positioning terminal. An advantage of this embodiment is to improve the accuracy of the estimates from more reliable measurements.

[0057] According to one embodiment, the first UWB signal transmitted by the electronic terminal is a message of a UWB data transmission sequence in which a plurality of positioning terminals is configured to measure the distance between each terminal and the terminal from the differences in arrival times of the first signal between pairs of positioning terminals to calculate the distance of the electronic terminal from the positioning terminal. An advantage of this embodiment is that it allows the calculations to be carried out by the positioning terminals. The terminals have additional information on their respective positioning, which can allow for better accuracy in the position estimates of the terminal.

[0058] According to one embodiment, the virtual object is defined by a plurality of points and surfaces delimiting a region associated with a Cartesian reference frame and comprising a 3D representation that can be generated on a display of an electronic terminal according to a viewing angle. One advantage is to make it possible to orient the virtual object relative to a real scene in which vanishing lines or lines of real objects can be deduced. It is then possible to position, for example, a surface of a virtual object relative to other surfaces of real objects.

[0059] According to one embodiment, the step of calculating the first anchoring position comprises an allocation of at least one first reference coordinate corresponding to the height of the virtual object defined from a predefined configuration to a coordinate of the first position of the electronic terminal. An advantage is to obtain better position accuracy when a user targets the virtual object.

[0060] According to another aspect, the invention relates to a computer program product comprising at least one calculator and a memory and comprising instructions which, when the program is executed by a computer, lead the latter to implement the steps carried out by the electronic terminal of the method of the invention.

[0061] According to another aspect, the invention relates to a computer program product comprising at least one calculator and a memory and comprising instructions which, when the program is executed by a computer, cause the latter to implement the steps carried out by the positioning terminal of the method of the invention.

[0062] According to another aspect, the invention relates to a system for positioning at least one virtual object anchored to a position in a real space, said virtual object being intended to be displayed on an electronic display of an electronic terminal when said terminal targets by means of an optical device a given position in the space of the real environment, said system comprising:

[0063] ■ At least three positioning terminals comprising a memory and a calculator and a first communication interface for transmitting messages by radio;

[0064] ■ An electronic terminal comprising a second radio communication interface; the positioning terminals and the electronic terminal being configured to implement the method of the invention.

[0065] Brief description of the figures

[0066] Other characteristics and advantages of the invention will emerge on reading the detailed description which follows, with reference to the appended figures, which illustrate: Fig. 1: an example of generation of a reference frame of a system according to the invention comprising three positioning terminals;

[0067] Fig. 2: an example of the implementation of the method for positioning an electronic terminal in the reference frame for anchoring a virtual object;

[0068] Fig. 3: an example of determination by the electronic terminal of a set of probable positions of each positioning terminal, said probable positions forming a cloud of points;

[0069] Fig. 4: an example of positioning a terminal according to a first positioning technique by sending positioning messages from a terminal to the positioning terminals;

[0070] Fig. 5: an example of positioning a terminal according to a second positioning technique by sending positioning messages from the positioning terminals to an electronic terminal;

[0071] Fig. 6: an embodiment of the invention in which a second terminal of a user is used to view a virtual object anchored by a first terminal in the reference frame;

[0072] Fig. 7: an example of implementation of the method of the invention in a place defining a living room in which a virtual object previously positioned using the method of the invention and in which it is viewed by a second terminal using the method of the invention;

[0073] Fig. 8: an example of steps implemented according to an embodiment of the method of the invention;

[0074] Fig. 9: an example of a system of the invention comprising communication between a main terminal and a terminal;

[0075] Fig. 10: an example of a sequence of a bidirectional exchange of data in UWB between the positioning terminal and the electronic terminal of the invention.

[0076] Description of the invention

[0077] Definitions

[0078] In the remainder of the description, a "virtual object", noted OBVi, is an object having a digital representation in a representation of a real environment. Typically, this virtual object can be viewed in augmented reality by superimposing an image of a real environment such as a room or an office. The method of the invention finds a particularly interesting use in an indoor environment, that is to say closed and in which GPS-type satellite positioning is difficult to operate.

[0079] A virtual object OBVi can be considered as a digital object that can be viewed and / or edited using a computer, preferably having a geometric representation in two dimensions or three dimensions. However, an object such as a label that can be activated to trigger the playback of a media is also considered a virtual object within the scope of the invention. The term “virtual object” refers to an object represented by superimposing real elements of a real scene of an interior; this real interior scene may, for example, include a sofa, a wall, a table, etc.

[0080] The initial reference frame is called Ro, which is calculated from the relative position data of the positioning terminals between them. That is to say, this frame is not linked to an absolute position in space. It is oriented according to the arrangement data of the positioning terminals between them, such as the distances separating two positioning terminals.

[0081] The estimated reference frame Ro' is the frame estimated by an electronic terminal from an estimate of the positions of the terminals. The estimated frame is a frame linked to a real physical space since it is constructed from positions of terminals arranged in space.

[0082] In the rest of the description, we call a reference frame Ro or Ro' both the initial reference frame Ro or the estimated reference frame Ro' depending on the context of construction of this frame.

[0083] The estimated reference frame Ro' may comprise the definition of a reference unit which is the unit defined by a virtual reality or augmented reality system. The reference frame of the terminal Ti (or T2) used comprises a software component for producing a virtual reality or augmented reality image superimposed on a real image acquired by the camera. The terminal comprises an orthonormal reference frame with a ratio of 1:1 with real space, i.e. 1 meter in reality corresponds to 1 meter virtually. Consequently, the estimated reference frame Ro' may comprise an equivalent reference unit.

[0084] The same unit reference can be used to construct the reference frame Ro which is generated, according to one embodiment, only with the terminal data and not with a terminal. Thus, the frames Ro and Ro' both comprise the same reference unit of the frame. This point is particularly interesting when placing objects or when viewing objects previously placed by another terminal.

[0085] UWB is the name given to the Ultra Wide Band protocol, also known by the acronym ULB and also referred to in English as "Ultra-WideBand". A UWB message is a data message transmitted using the UWB protocol. A UWB antenna is an antenna configured to receive and / or transmit messages transmitted using the Ultra Wide Band protocol.

[0086] Electronic terminal

[0087] In the remainder of the description, an electronic terminal may be a smartphone. In various embodiments of the invention, it may be any electronic equipment having a computer, a memory, a wireless communication interface and a display. The invention has the advantage of being interoperable and compatible with any electronic equipment capable of displaying virtual objects superimposed on a real environment.

[0088] In the remainder of the description, the first electronic terminal is called the terminal Ti. The terminal Ti is mainly used in the description to illustrate the operation of anchoring a virtual object OBVi in a real environment. The second electronic terminal is also called the terminal T2 capable of viewing a virtual object OBVi that has previously been anchored to a given position by the first electronic terminal T1. However, other electronic terminals are capable of anchoring or viewing the virtual objects. Finally, the first terminal T1 can be configured to view a virtual object and, conversely, the second terminal T2 can be configured to anchor a virtual object OBVi. The terminal T1 or the terminal T2 will be referred to interchangeably to describe the exemplary embodiments of the method of the invention.

[0089] Figure 1 represents an example of construction of a reference frame Ro allowing to position an electronic terminal T1, T2 in space and allowing to position a virtual object OBVi in space to anchor it to a given position or to visualize it from the said terminal(s) / electronic terminal(s) T1, T2. Initial positioning of the terminals between them

[0090] Prior to defining the reference frame Ro, the method of the invention comprises an initialization phase making it possible to locate and position the positioning terminals Bi, B2, B3 with respect to each other. Each positioning terminal then knows the relative position of the other positioning terminals, for example from the inter-terminal distance and the direction in which the other terminals are located with respect to a positioning terminal.

[0091] A first technique for positioning terminals between them is to use positioning by a UWB messaging system allowing the construction of the respective positions of each terminal with respect to each other positioning terminal. UWB technology allows calculations of flight time differences or arrival time differences in order to know the inter-positioning terminal positions. Finally, when the positioning terminals are equipped with several UWB antennas, it is possible, depending on their orientation, to precisely find the direction of the UWB message coming from a positioning terminal.

[0092] A second technique for positioning terminals relative to each other is the use of a laser and a technique for measuring an emitted and reflected laser signal. This technique can be implemented by means of a laser beam that is emitted by one terminal and reflected by another terminal, making it possible to measure the round-trip travel times.

[0093] Other techniques for positioning terminals can be used. Typically, a manual technique to record the positions of each positioning terminal in a room or even in a hangar can be carried out by an operator.

[0094] If the positions of the positioning terminals relative to each other are known, it is more difficult for a terminal entering a location to reconstruct the precise positions of each positioning terminal in an ad hoc manner, i.e. without any knowledge of the topology of the location and the arrangement of the terminals in this location. The invention advantageously makes it possible to construct a reference frame Ro to optimize the positioning of objects anchored in space whose positions are referenced with respect to the terminals.

[0095] Construction of the reference frame One objective of the estimation of the reference frame Ro' is to construct a frame whose estimated center POSo' is constructed geometrically from the positions of the positioning terminals Bi, B2, B3. This construction makes it possible in particular to average the positioning error of a positioning terminal produced by the electronic terminal T1, T2 entering the space.

[0096] The reference frame Ro can be estimated by each terminal without prior knowledge. However, the virtual objects OBVi are positioned in a reference frame Ro. Given that each electronic terminal is likely to introduce errors in the estimation of the positions of the positioning terminals and therefore to introduce errors in the definition of the reference frame Ro which depends on the position of the positioning terminals, each virtual object OBVi can be associated with a position in the estimated reference frame, for example when it was anchored for the first time by an electronic terminal, and an identifier of the device having generated the reference frame. This device can be an electronic terminal or the terminals themselves.

[0097] Indeed, when an electronic terminal T1, T2 enters a place equipped with positioning terminals B1, B2, B3, it is possible to position itself by trilateration thanks to the transmission of positioning messages for example according to the UWB protocol. When the terminals T1, T2 have only one UWB antenna, the estimation of the direction of the signal coming from the positioning terminals Bi, B2, B3 is approximate, it is therefore sometimes necessary to engage in a process of estimating the position of the positioning terminals several times to converge the position of each terminal with respect to the terminal. A problem of a real-time positioning calculation in an ad hoc manner by a terminal is to make errors in the positioning of a terminal with respect to the terminal. This error can cause an error in the positioning of a virtual object as well.

[0098] It therefore appears that the definition of a geometric position established by the set of estimates of the positions of the positioning terminals Bi, B2, B3 makes it possible to place the reference frame Ro in an area of ​​interest in order to then estimate the direction of the virtual object OBVi to be positioned. This area of ​​interest makes it possible to average the error made on the positioning of a terminal. Another advantage of this reference frame Ro is to facilitate the operation of transposing the position of a virtual object OBVi into the terminal frame in order to limit the adaptations of calculations from the position of the terminal.

[0099] Figure 1 illustrates an example of a geometric construction of a reference frame Ro that is durable, stable and minimizes the estimation errors of the positions of virtual objects OBVi. The construction of the reference frame Ro includes different steps.

[0100] A first step aims to construct the vertically oriented vector defined by VIA. This vector VIA can be defined using the accelerometer of the electronic terminal Ti, T2. The vertical axis and oriented in a direction opposite to the direction of the sense of gravity has the advantage of being common and reconstructable by any electronic terminal with an accelerometer. This vector can be normalized according to an orthonormal vector and therefore be normalized.

[0101] A second step corresponds to the choice of an axis connecting two positioning terminals, here represented by the line d23 passing terminal B2 and terminal B3. This axis makes it possible to define, for example, a normalized oriented vector, here represented by the vector V1 b.

[0102] In order to choose the positioning terminals determining this first axis d23, the positioning terminals with the smallest identifier or the two positioning terminals on either side of magnetic north can be chosen. One advantage is to allow the construction of an ad hoc reference system that any terminal can reconstruct. For this purpose, this axis can be determined by the only terminal receiving the positioning messages from the positioning terminals B1, B2, B3.

[0103] According to a first example, the compass of terminal T1, T2 can be used to discriminate between the two positioning terminals located on either side of magnetic north N. This solution allows any terminal to construct the same vector V regardless of the placement of the positioning terminals Bi, B2, B3.

[0104] According to a second example, a rule consisting of considering the identifiers of the terminals having a given property allows the terminal T1, T2 to reconstruct the axis d23. An example of a property is for example their minimum identifier. By minimum identifier, we mean the value of the bytes encoding the identifier of each positioning terminal. A trilateration positioning mechanism involving the exchange of UWB messages between, on the one hand, each positioning terminal and, on the other hand, the electronic terminal requires at least that the transmitted data bits encode a positioning terminal identifier or, more generally, information making it possible to identify a terminal with respect to another terminal. When a terminal enters a zone, it receives three positioning messages from the 3 positioning terminals Bi, B2, B3. The terminal is able to decode the messages and compare the identifiers with each other.Two terminals can then be chosen following a step of calculating and comparing the positioning terminal identifiers. Again, this method makes it possible to avoid knowing the topology of the location, the layout of the terminals and the system architecture present in the location.

[0105] A third step includes the construction of the third reference vector Vie of the reference frame Ro which is obtained by the vector product of the first reference vector VIA and the second reference vector VI B. An advantage is to construct a reference frame Ro with only the data received from the positioning terminals B1, B2, B3 from the positioning messages.

[0106] One advantage of the UWB protocol is that it allows the use of short positioning messages that allow good accuracy in estimating the distance between a terminal and the terminal. Consequently, these messages can, for example, only contain a terminal identifier. The construction of the reference frame Ro has the advantage of not requiring any prior calculation carried out by the positioning terminals B1, B2, B3.

[0107] The initialization step allows a better calibration of the positions of the positioning terminals B1, B2, B3 between them, but the electronic terminal T1, T2 entering a place equipped with positioning terminals Bi, B2, B3 may not know any a priori information to reconstruct the reference frame Ro.

[0108] The calculation of the vectors VIA, VI B, Vie of the reference frame Ro can depend on the number of positioning terminals detected. According to one example, only three positioning terminals are retained. According to one example, the power of the received signals can be used to retain the three positioning terminals closest to the terminal. According to another example, the two positioning terminals B2, B3 framing the north N are retained by default such as the example shown in Figure 1. In the latter case, the positioning terminal B1, the furthest from the axis of the first two positioning terminals B2, B3 retained is also retained. According to another case, the positioning terminal located closest to the median axis between the two terminals is retained, which also corresponds to the case of terminal B1 in Figure 1.

[0109] Other solutions allow the positioning boundaries of interest to be retained to calculate a default reference frame Ro. In certain cases, different reference frames Ro are calculated in order to assess the position of virtual objects arranged in space depending on where the electronic terminal is positioned.

[0110] In order to generate an estimated reference frame Ro' which is as optimized as possible to carry out the operations of calculating the positions of the virtual objects OBVi by the terminal T1, T2 and to ensure that this position is as probable as possible regardless of the electronic terminal estimating the position, the estimated reference frame Ro' comprises a center POSo which results from a geometric construction of all the estimated positions of the positioning terminals B1, B2, B3. One advantage is to avoid a poor estimation of a position of a positioning terminal by an electronic terminal. This error would be likely to bias the positioning in a second stage of the virtual object OBVi to be displayed in the display of said electronic terminal.

[0111] According to an example, the geometric center, such as the barycenter of the positioning terminals B1, B2, B3 is considered as the center of the reference frame Ro.

[0112] This geometric center is all the more precise as the number of terminals considered is important. According to one embodiment, the barycenter of 4 positioning terminals is considered.

[0113] According to one embodiment, when different geometric centers are calculated from different groupings of positioning terminals, the geometric center of the positioning terminals closest to the electronic terminal is considered to perform the position calculations of the virtual object OBVi anchored or to be anchored in space.

[0114] According to an exemplary embodiment, different geometric centers can be calculated according to the considered terminals. An advantage is to offer the terminal virtual objects positioned according to different Ro reference points so that the terminal can best position the virtual object.

[0115] According to other embodiments, the position of the center POSo of the reference frame Ro can be obtained from a linear combination of the different positions of the positioning terminals Bi, B2, B3. This embodiment makes it possible, for example, to weight certain positioning terminals with respect to other positioning terminals and therefore to give them more importance for the calculation of the geometric center. This can be particularly interesting when a positioning terminal has a particular positioning or when its emitted signal power makes it possible to achieve a wide area coverage. Thus, the positioning terminal in question can make it possible to obtain better precision in its positioning measured by an electronic terminal and therefore be more representative in the calculation of the position of the center of the frame Ro.

[0116] According to one embodiment, the reference frame Ro constructed by the positioning terminals B1, B2, B3 is recorded in a remote server. According to one embodiment, the remote server is accessible by an electronic terminal T1 or T2. In this case, the reference frame Ro can be accessible via a data network NETi or NET2 in order to place or read virtual objects in space in the reference frame Ro.

[0117] Estimation of the position of the terminals by the terminal

[0118] Figure 2 represents an electronic terminal T1 receiving positioning messages from each of the positioning terminals B1, B2 and B3. The terminal T1, by analyzing the flight time differences or the arrival time differences of each message received from each terminal, can draw up a map of the probable circles of presence of each of these terminals. When the terminal T1 is equipped with a UWB antenna, it comprises means for analyzing the direction of transmission of the positioning message transmitted by each terminal and received by the terminal T1. The direction vectors are denoted VBI, VB2, VB3 in Figure 2. In the case of a technique based on DL-TDOA, the method of the invention is adapted with hyperbolas or hyperboloids instead of circles or spheres.

[0119] The invention can also be implemented with a “reverse TDOA” type method, for example described in patent document WO2022158632.

[0120] However, depending on the quality of the antennas, their arrangement, the position of the terminal in the hands of the user and their number within the electronic terminal Ti, the imprecision can lead to making an estimate with a more or less significant error depending on the specific case. In figure 2 is represented an uncertainty angle Betai to evaluate the direction of the terminal Bi by the terminal Ti, an angle Beta2 to evaluate the probable direction of the terminal B2 and a third uncertainty angle Betas to evaluate the direction of the terminal Bs.

[0121] Due to the imprecision of the estimation of the positions of the positioning terminals B1, B2, Bs, this results in an imprecise estimation of the position of the terminal T1 in the reference frame Ro. The electronic terminal T1 is then in an uncertainty zone Zi with respect to the positioning terminals Bi, B2, Bs. This uncertainty zone Zi results from all the angle and distance estimation errors measured between the electronic terminal T1 and each positioning terminal B1, B2, Bs. It should be noted that the representation of this uncertainty zone Zi only makes sense with respect to a fictitious reference frame Ro not yet determined by the terminal since the reference frame is constructed from the positions of the positioning terminals. Figure 3 represents the uncertainty zones of the positions of the positioning terminals Bi, B2, Bs perceived from the electronic terminal during the acquisition of the positioning messages.The zone Zi is therefore an abstract construction of uncertainty zones formed from all the uncertainty zones of each positioning terminal in a fictitious reference frame.

[0122] The uncertainty zone Zi can also be a real uncertainty zone when the positioning is carried out by the positioning terminals B1, B2, Bs by combining all the probable positions of the electronic terminal estimated by the positioning terminals. When the terminal Ti comprises a plurality of UWB antennas arranged in different directions, the uncertainty angle can be reduced and the direction of a positioning terminal can be estimated with better precision. However, the heterogeneity of the models of electronic terminals, such as Smartphones, does not allow the solution of the invention to be based on sufficient means to deduce the direction of the terminal with precision in all cases. Indeed, some equipment comprises a single UWB antenna, others comprise several.In other words, the method of the invention overcomes the capabilities of the terminals in order to allow each one to make an estimate of their position within the positioning terminals Bi, B2, B3. The invention therefore makes it possible to overcome this problem by estimating the position of the positioning terminals Bi, B2, B3 for example by iterating the method several times, including when the terminal is moving. This solution makes it possible to quickly converge towards an accurate estimate of the position of the terminals relative to its current position in the terminal's reference frame. According to this solution, a plurality of predicted positions is estimated for each terminal. The terminal can then implement a step of estimating the position of each positioning terminal. Each terminal is represented by a cloud of points, each point of which corresponds to an estimate of the position made by the electronic terminal.A statistical average can be calculated to determine the most likely position of the positioning marker in question.

[0123] Figure 3 represents an example of determining a set of probable positions, denoted POSBIP, POSB2P, POSBSP, for each positioning terminal Bi, B2, B3 estimated by the electronic terminal. The greater the number of probable position estimates, the more the algorithm is able to converge to determine a reliable position of each terminal.

[0124] Several sorting methods are then used to remove points isolated from other estimated points or points considered to be erroneous data. On the remaining points, the method of the invention can implement a calculation of a weight corresponding to the reliability of the estimation of the position of one of the points in the cloud.

[0125] This reliability depends on several criteria including for example:

[0126] ■ the distance from the point to the electronic terminal; ■ the orientation of the electronic terminal relative to the point and vice versa;

[0127] ■ the orientation of the electronic terminal relative to the horizontal and vertical axes;

[0128] ■ the presence of obstacles on the trajectory and;

[0129] ■ disturbances due to the presence of metallic elements close to the trajectory.

[0130] When the weights have been calculated and assigned to each point, the method of the invention makes it possible to calculate a barycenter using a weighted average of the position vectors of each point in the cloud. This barycenter makes it possible to define the most probable position of the terminal in the frame of reference of the electronic terminal.

[0131] When the electronic terminal does not have data relating to the interpretation of the orientation of the terminal, i.e. an angle of uncertainty, another algorithm can be used to estimate the position of the terminal.

[0132] An example of implementing an algorithm for determining the position of the terminal and dividing the space into cubes. Each cube has a presence coefficient of a terminal, initially equal to zero. When a message signed by a terminal is received by the terminal, all the coefficients of the cubes intercepting the position sphere of the identified terminal are incremented. The calculation is performed a plurality of times taking into account the movements of the terminal. A reference position can be taken according to the terminal's movement data, for example by considering the variations of the gyroscope and the accelerometer. Thus, iteratively, each cube intercepting the position sphere acquires an incremental value of the presence coefficient. After a few moments, it is possible to map the cubes with the highest coefficients. In the simplest case, a cube detaches and the position of the terminal can be deduced.In more complex cases, it is possible to apply an algorithm to estimate the position of the terminal when different cubes have close coefficients. Finally, it is also possible to restart the algorithm or acquire new position spheres to refine the accuracy of the measurement. Figure 4 represents a terminal Ti moving in a place in which positioning terminals Bi, B2, B3 are arranged. It is understood that when moving the terminal T1 along a path TRI, several successive estimations make it possible to limit the probable area of ​​presence of each positioning terminal B1, B2, B3 in space.In particular, the overlap of each of the portions of space defined by the angular portions of uncertainty, such as that Betai , calculated successively on either side of the vector BI in this example case, makes it possible to define an increasingly precise position of the positioning terminal B1 and identically for each of the other positioning terminals B1 , B2, B3. The terminal T1 , then knowing the positioning of the positioning terminals Bi, B2, B3, can automatically estimate the estimated reference frame Ro'. The different positions of the electronic terminal T1 are noted POS1. The anchoring position of a virtual object OBVi is noted POSA.

[0133] When the uncertainty angles are not known because the terminal does not have the means to analyze these angles and only the positions of the terminals are measurable because the UWB chip of the terminal only provides the distance between the positioning terminal and the terminal, the method of the invention makes it possible to apply an algorithm making it possible to estimate the position of the positioning terminals while reducing the measurement errors made.

[0134] The method of the invention makes it possible to take into consideration errors linked to disturbances in the signal trajectory due to the presence of nearby obstacles, disturbances linked to the influence of the orientation of the electronic terminal relative to the positioning terminal, disturbances linked to the presence of the user between the electronic terminal and the positioning terminal, etc.

[0135] The method of the invention comprises a step aimed at sorting the received data. Using a filter, the method makes it possible to eliminate data that appears erroneous, for example out-of-field data, aberrant data or even inconsistent data in the data stream received by the terminal. An indicator can be calculated restoring the revolution of the distance between the terminal and a positioning terminal, for example if this evolution varies too significantly between two measurements acquired successively, taking into account the movement of the terminal which is known in real time. The method of the invention can comprise a step of smoothing the data by comparing the data obtained at various positions. A movement of the electronic terminal of 20 cm should not cause a change in distance of more than 20 cm.This distance gradient analysis according to position is carried out on all successive positions of the electronic terminal for each received data. This operation can be carried out in three dimensions. An algorithm then makes it possible to compare all the data with each other and recalibrate them.

[0136] The invention then makes it possible to position the terminal Ti in space from a reference frame by reconstructing the reference frame Ro' estimated from the estimated positions of each positioning terminal Bi, B2, B3.

[0137] Improved positioning with the initial marker

[0138] In the case where the electronic terminal T1 accesses the parameters of the initial reference frame Ro recorded in a remote server and which was previously constructed by the positioning terminals, it can use the latter to position itself in space when it detects the position of the positioning terminals. The comparison of the initial reference frame Ro and the estimated reference frame Ro' by the terminal can also be used to realign the virtual positions estimated by the terminal of the positioning terminals in order to reduce the estimation deviations observed and increase the accuracy of the localization of the virtual objects.

[0139] In the case where the terminal can, for example, retrieve only the physical data of the positioning terminals, i.e. the inter-terminal distances and the ground heights of said positioning terminals, the terminal is able to recalibrate the estimated positions of the terminals. This data can, for example, be retrieved using the terminal identifiers and a remote server having this data.

[0140] An improvement to the virtual positions of the terminals is to move these virtual positions so as to approximate the actual physical configuration of the positioning terminals.

[0141] Furthermore, it is possible to recover the virtual position of the terminal relative to the ground using the augmented reality software component of the electronic terminal, for example by detecting the lowest horizontal plane in the environment. The method of the invention then comprises a step comprising a recalibration of the virtual positions by taking into account their relative distances from the positioning terminals between them and the height of the positioning terminals relative to the ground. The method can also take into account the coefficient of presence of a cube or the weight of a point of the point cloud to carry out the recalibration corresponding to the most probable situation of arrangement of the terminals between them.

[0142] According to one embodiment, the method comprises an image detection component for weighting points or cubes more heavily if a positioning terminal is automatically recognized using the optical sensor of the terminal. Similarly, the use of a LIDAR can improve the algorithm for reconstructing the positions of the positioning terminals.

[0143] Figure 4 represents the reference frame Ro reconstructed by the terminal Ti from the successive estimates made along the TRI path of the positions of each of the positioning terminals Bi, B2, B3. We recall that the positions of the positioning terminals are fixed in space.

[0144] An advantage of the solution of the invention is to cancel the statistical positioning error made on each positioning terminal by considering for example the barycenter of the positioning terminals. By carrying out a geometric mean to calculate the center of the reference frame Ro, the average of the errors makes it possible to limit the effects linked to an error considered for example on the position of a terminal. Indeed, in the case where the center of the reference frame Ro had been chosen equal to the position of a positioning terminal, the positioning of a virtual object OBVi would have been directly impacted by the estimation error made by the terminal on the position of the positioning terminal. Indeed, the precision of the estimation of a distance from a terminal can be of the order of several tens of centimeters.There is therefore a real interest in considering a characteristic position such as the barycenter of terminals in order to limit the errors which could be made by a terminal serving as a reference of the frame of reference.

[0145] Cases where the terminals perform the estimation

[0146] Figure 5 represents a scenario in which the positioning terminals B1, B2, B3 estimate the position of the terminal T1 in space from the reception of positioning messages transmitted by the terminal Ti. Given that they know their respective positions, the reference frame Ro is known by at least one of the positioning terminals. In this embodiment, it is the positioning terminals which receive a positioning message from the electronic terminal Ti. However, this mode involves regular transmission by the terminal Ti to the positioning terminals, which may not always be the case.

[0147] Thus, the invention does away with a particular sending / receiving operation of messages sent from the terminal to the terminals or vice versa from the terminals to the terminal since both operating modes are possible in the method of the invention.

[0148] An advantage of the mode in which the electronic terminal transmits positioning messages to the positioning terminals is that the estimation of the position of the electronic terminal by the positioning terminals is an accurate estimation, because the positioning terminals often include several UWB antennas, which makes it possible to discriminate the transmission directions of the positioning messages transmitted by the terminal Ti.

[0149] In this latter operating mode, the position of the terminal in the Ro reference frame is then used by the terminal Ti by a mechanism that allows the terminal Ti to receive this position. This position POSi can for example be transmitted in a first case in direct connection by one of the positioning terminals, called the central positioning terminal. In a first mode, the connection can be made by a UWB transmission. In a second mode, the acquisition of the position of the terminal POSi by the terminal can be carried out by a transmission from a dedicated device connected at least to one of the positioning terminals, the transmission being carried out via a Bluetooth or Wifi connection or any other wireless data connection.According to a third mode, the transmission can be carried out via a remote server connected on the one hand to at least one positioning terminal via a data network or to equipment itself connected to one of the positioning terminals and on the other hand to the terminal Ti having subscribed to a service with this remote server. The connection can then be carried out via a data transmission protocol based on a Wifi or 3G, 4G infrastructure. It is understood that in the operating mode where the terminal receives the positioning messages from the positioning terminals that this solution does not require any return signal to acquire the position of the terminal Ti, the latter being able to reconstruct its position and the reference frame Ro in an ad hoc manner.In the second operating mode, the position of the terminal Ti calculated by the positioning terminals is necessarily re-emitted by a device so that the terminal Ti can then visualize a virtual object OBVi in its own reference frame.

[0150] In different cases, the reference frame Ro is recorded on a server. Alternatively, only the data specific to the terminals and their respective distances from each other is recorded on a remote server. This information can then be reused by another terminal in order to consolidate either the position of the positioning terminals estimated by the terminal, or its estimated position within this reference frame, or the position of a virtual object in the reference frame Ro.

[0151] Case of incorrect detection of a terminal

[0152] When a positioning terminal is not detected by the terminal, it is possible to use the data recorded on the server describing the physical data between the positioning terminals to reconstruct the position of the missing positioning terminal based on the detected positioning terminal positions.

[0153] In order to reconstruct the position of the missing terminal, the method of the invention comprises a step of calculating the barycenter between these virtual positions of the estimated positioning terminals. Then, the method comprises a step of calculating the barycenter between the positions of the terminals recorded in the data server. Finally, the method comprises a step of calculating the vector between the barycenter of the positions of the terminals recorded in the server and the position of the center of the POSo reference frame recorded in the server. Then, the method makes it possible to add the position of the previous calculated vector to the first barycenter to determine the position of the center of the adjusted reference frame.

[0154] Anchoring a virtual object

[0155] The invention allows an electronic terminal Ti to anchor a virtual object OBVi to an anchoring position POS. For this, the method of the invention allows the terminal Ti to access a library of virtual objects OBVi or to create the latter in order to select it at a given position in space. The anchoring position POSA is preferably the position at which the terminal Ti is located at a given time. In a preferred operating mode, a user moves in a given area to a desired anchoring position POSA and activates the anchoring so as to timestamp the position. Timestamping is not necessary in all embodiments, however, it has the advantage of preserving the position within a trajectory of the terminal Ti in space.

[0156] The calculation of the terminal position and / or the anchor position can be consolidated by taking into account additional knowledge of the position along the vertical axis of the terminal.

[0157] In a first example, the anchoring height corresponds to the position along the z axis calculated from the positioning of the terminal by trilateration.

[0158] In a second example, a predefined height is automatically associated with this virtual object. This feature provides all the information needed to anchor an OBVi virtual object in space. For example, a height of 1 m20 can be predefined and associated with all virtual objects. In another example, the default height is set to 0 relative to the floor level. In another example, the height is set to half the ceiling height. This height can be configured by a user and customized according to the user's height or a data that the user wishes to specify during the initial configuration.

[0159] In another example, the height of the person recorded in a configuration phase allows the average height of the terminal to be deduced in its average use. This height can be used by default.

[0160] According to one embodiment, the height is a variable data item and dependent on the selected virtual object class. For example, if the virtual objects are classified according to 3 classes: furniture, display, other, it is possible to associate respectively 3 predefined heights: {0; 1 m60; 1 m20}.

[0161] One advantage is that it allows for a default average positioning of the object's height in the room. A software function can be used to modify this height once the OBVi virtual object is anchored in the room. The positioning terminal includes a memory in which all the associations of the OBVi virtual objects whose positions it has associated are stored.

[0162] According to one embodiment, the activation of the anchoring is carried out by a digital command generated from the interface of the electronic terminal Ti. Many embodiments may be compatible with the invention in which a variety of virtual object selectors and / or a variety of anchoring activation means are provided. For example, a touch command may be used to activate the anchoring of a virtual object OBVi to an anchoring position POSA.

[0163] According to one embodiment, the activation of an anchor is carried out by an emission of a UWB signal by the terminal.

[0164] According to a first example, a signal is emitted by the terminal to the positioning terminals. The signature of the emitted signal allows the positioning terminals to calculate the position of the POSi terminal and therefore the corresponding POSA anchoring position and possibly to decode an identifier of an anchored virtual object.

[0165] According to a second example, a signal is emitted by the terminal to a remote server. In this case, the virtual object OBVi is identified by the terminal Ti and by a remote server accessible from the terminal Ti. In this scenario, the remote server receives from a transmission from the terminal Ti, via a data network, a message or a notification indicating the identifier of the virtual object OBV as well as the anchoring position within the reference frame Ro. In this scenario, the positioning terminals do not necessarily have knowledge of the virtual objects. The positioning terminals are in this case a means allowing the terminal to construct a reference frame Ro.

[0166] Figure 6 shows an embodiment in which a second user equipped with a second electronic terminal T2 enters a place in which the positioning terminals Bi, B2 and B3 are arranged and in which a virtual object OBV has been anchored to an anchoring position POSA.

[0167] According to a first embodiment, the reference frame Ro is reconstructed directly by the terminal T2 by transmitting positioning messages to the positioning terminals B1, B2, B3. Figure 6 represents the position circles of the messages transmitted by the positioning terminals B1, B2, B3. The circles represent sections of the position spheres of the terminals. Figure 6 represents the terminal T2 at the junction of the three position circles or the three position spheres. The position of the reference frame Ro is also represented, as well as the position of the anchor point POSA.

[0168] According to a second embodiment, the terminal T2 reconstructs the reference frame Ro by receiving position messages from the positioning terminals Bi, B2, B3. As described previously, when the messages are sent by the positioning terminals B1, B2, B3, the trilateration allows the electronic terminal T2 to estimate the position of each positioning terminal B1, B2, B3.

[0169] The terminal T2 is equipped with a display and a software component for displaying a virtual object OBVi superimposed on an image of a real scene acquired by an optic of the second terminal T2. The software component analyzes in real time the position of the terminal T2 and its orientation in order to generate within the display of the terminal T2 a virtual object OBVi from a database of virtual objects comprising a position associated with the place in which the terminal T2 is located. The position of the virtual object is already indexed in the reference frame Ro by a previous terminal, such as the first terminal T1. The position of the virtual object can be transposed into the reference frame linked to the second terminal T2 since the second terminal T2 is itself positioned in the reference frame Ro.

[0170] According to an example case, the second terminal T2 comprises a software component making it possible to perform a transposition of the position of a virtual object OBVi initially expressed in the reference frame Ro within the frame of the electronic terminal T2.

[0171] Figure 7 represents an example case of a user entering a room comprising different real objects such as a table 11. The user seeks to view a virtual object OBVi which has been placed against a wall 10. This virtual object OBVi can be for example an image, a plan, a note or even a map which is positioned on the wall at an anchoring position POS. The anchoring position POSA corresponds to the position at which a previous user equipped with a terminal T1 decided to anchor the virtual object OBVi.

[0172] When the terminal T2 reconstructs the three positions of each terminal Bi, B2, B3, it is able to estimate the vectors VIA, VI B, Vie and the estimated position POSo' of the center of the reference frame in order to reconstruct an estimated reference frame Ro'. The user is at a position POS2 in the estimated reference frame Ro'.

[0173] In the example case of Figure 7, we note that the vector IB is parallel to the straight line intersecting the two vertical lines passing through the terminals B1 and B2. Thus, the invention also relates to this world of embodiment in which a reference vector VI B is either parallel to the straight line joining the two positioning terminals Bi, B2, or parallel to the straight line inscribed in a horizontal plane and intercepting the two vertical lines passing through each positioning terminal Bi, B2. Here the positioning terminals B1, B2 located on either side of the magnetic north N have been chosen, while being closest to the vertical axis in the direction of the magnetic north.

[0174] According to another mode, as stated previously for the terminal T1, the terminal T2 can alternatively or jointly with this mode obtain the reference mark Ro by interrogating a remote server within which the mark was previously recorded after the initialization and calibration phase of the positioning terminals between them.

[0175] In this example, the virtual object OBV1 is located in the Ro frame and was placed by a previous user using a previous terminal Ti. The second terminal has access to a set of virtual objects stored in a database and to their position in the Ro frame. The terminal T2 can then automatically transpose the coordinates of the virtual object OBV1 which is accessible via the second terminal into the frame of this second terminal. Since the second terminal knows its position in real time in the RO frame, it is able to deduce the direction in which the virtual object OBV1 is located.

[0176] The second user holding the second terminal T2 can view the virtual object OBV1 on his display when he directs the optics of his terminal towards the POSA direction. This example allows us to understand that the positioning error of the virtual object OBV1 is reduced from where the user views the object. Indeed, if the center of the reference frame were located on a positioning terminal, the direction error would be more obvious when a user tries to view a virtual object in the room. The error is averaged here due to the construction of the reference frame Ro. Process steps

[0177] Figure 8 represents the step diagrams of the method of the invention. A first diagram represents the initiation phase INITo corresponding to the calibration of the positioning terminals between them. One advantage is to allow position checks to be carried out between the objects anchored in a reference frame Ro' estimated by a terminal and the real reference frame which can be reconstructed with the true positions of the terminals.

[0178] For example, when an error in calculating a position of a positioning terminal is made by a plurality of terminals at times, the positioning terminal which knows its real position can, for example, either automatically recalibrate its position or apply corrective factors making it possible to take this error into account and correct it.

[0179] According to another embodiment, when an error in calculating a position of a positioning terminal is made by several terminals at different times, it is possible to construct another center of the reference frame Ro which depends a little less on the position of this positioning terminal, for example by changing the weightings of the linear combination of the construction of the position of the reference frame as a function of the position of the positioning terminals.

[0180] The first diagram also includes a step called GENi to generate the reference frame Ro by the positioning terminals. This step can be optional in the case where the positioning terminals are not used in the context of verifying the positions of the virtual objects OBVi which are positioned in space.

[0181] According to one embodiment, the reference frame Ro constructed by the positioning terminals can be modified according to other geometric construction rules. Typically, the axes between the terminals to determine the vector VIB OR the estimated geometric center POSo' can be constructed in different ways. When a change of construction rules is applied, it is necessary that each electronic terminal subscribing to a service for accessing virtual objects can retrieve the new construction rules. To this end, a remote server makes it possible to record the pending rules that are used. One advantage of this solution is possibly to construct different reference frames Ro in order to determine the most effective in detecting the position and / or direction of the virtual objects.

[0182] According to one embodiment, in a building under construction or a hangar with numerous pieces of equipment, the performance of the installed positioning terminals may be affected. Thus, the invention comprises means for reconfiguring said terminals so that a new reference point is determined.

[0183] Test terminals may be used to test a plurality of estimated reference frames Ro' with the reference frame Ro calculated by at least one positioning terminal and from the other positioning terminals.

[0184] A performance indicator can help determine what the new Ro reference benchmark is.

[0185] A second diagram represents the sequence of steps performed by an electronic terminal Ti entering a space equipped with positioning terminals Bi, B2, B3. The first step, denoted TR1, makes it possible to engage a mechanism for transmitting and / or receiving positioning messages exchanged between, on the one hand, the electronic terminal T1 and, on the other hand, with the positioning terminals B1, B2, B3. This step makes it possible to generate the estimated reference frame Ro' and to know the position of the terminal within this estimated reference frame. An anchoring step, denoted ANC1, makes it possible to anchor a selected virtual object to a given position in this reference frame Ro'. The anchoring position POSA is then transmitted via a communication interface of the terminal T1 to a remote server or dedicated equipment or even one of the positioning terminals depending on the embodiment implemented. This transmission step is denoted TR11.

[0186] A third diagram is shown in Figure 8. This diagram describes the steps performed in particular by a second terminal T2 entering the room equipped with the positioning terminals Bi, B2, B3 and wishing to detect and visualize a virtual object OBVi which has been previously anchored by the first terminal T1. A first step, noted TR2, makes it possible to engage a mechanism for transmitting and / or receiving positioning messages exchanged between, on the one hand, the electronic terminal T2 and, on the other hand, with the positioning terminals Bi, B2, B3. The method comprises a second step noted ACQ2 in which the second terminal T2 receives data relating to the virtual object OBVi to be represented at a given position in space. Thus, this virtual object is associated with a position POSA in the frame of reference Ro defined by the positioning terminals or the frame of reference Ro' estimated by the first terminal and theoretically identical to the frame of reference Ro.A third step TP1 aims to transpose the virtual object OBVi into the reference frame of the second terminal T2 in order to display it when the latter points in the direction in which the virtual object OBVi is positioned. The last step is a display step AFF1 of the virtual object OBVi on the display of the second terminal T2.

[0187] System architecture

[0188] Figure 9 represents a system according to the invention comprising a plurality of positioning terminals B1, B2, B3 and a terminal T1. The electronic terminal T1 is, for example, a Smartphone, an electronic tablet or a connected object such as a connected watch or connected glasses or a connected headset. The electronic terminal T1 comprises at least a computer, a memory, an optic and a display and a wireless communication interface. The display makes it possible to display an image of a selected virtual object OBV superimposed on the image acquired by the optics of the electronic terminal T1.

[0189] Each positioning terminal B1, B2, B3 comprises a powered box placed in a location such as a closed room, a hangar, or any other location likely to be of interest for the application of the invention.

[0190] These latter positioning terminals B1, B2, B3, and the electronic terminal T1 are capable of establishing wireless data links L1, L2 represented in Figure 9. The wireless link L1 is activated according to a wireless data exchange protocol such as the Bluetooth, Wifi, UWB or Lora protocol. Any other wireless data transfer protocol can be implemented.

[0191] When the L1 link is a Bluetooth Low Energy type link, known as “Bluetooth Low Energy”, whose acronym is BLE, the electronic terminal T1 can automatically start a procedure known as “Bluetooth Advertising” following a message sent by the positioning terminal B1. The connection can then be established between the two devices. According to an exemplary embodiment, once the connection has been established and the data exchanged between the two devices, a period without connection can be configured before the next automatic connection.

[0192] Depending on the protocol and the type of connection used, the terminal Ti and one of the positioning terminals Bi comprise an electronic chip enabling a data connection to be established. These connections are preferably bidirectional. However, the invention may use a unidirectional connection in embodiments in which such a connection is sufficient to pair the two devices.

[0193] According to one embodiment, the method of the invention makes it possible to pair the terminal Ti with at least one positioning terminal Bi, in particular to exchange identifiers, possibly calibration data such as reference angles and / or clocks before exchanging information subsequently. Other data may be exchanged such as equipment identifiers, network identifiers, application or user identifiers. In addition, the following data may in particular also be exchanged between the two devices: data specific to the hardware configurations of the devices, the throughput of the protocol used to establish the data link, the types of software versions of the devices, or even data linked to user or equipment access rights.

[0194] The L2 link is a link established using the UWB protocol. This protocol is also named after the UWB frequency band that is used to exchange data between each positioning terminal Bi, B2, B3 and the terminal T1.

[0195] According to one embodiment, the link L2 is bidirectional between the terminal T1 and each positioning terminal B1, B2, B3. In this case, this link L2 allows an exchange of data according to an exchange sequence between the terminal T1 and each positioning terminal B1, B2, B3 allowing the transfer of parameters of the position of the terminal T1.

[0196] According to another embodiment, the link L2 is unidirectional between each positioning terminal Bi, B2, B3 and the terminal T1. In this case, this link L2 allows a transfer of data from the terminal T1 to each of the terminals Bi, B2, B3 in order to receive parameters of the position of the terminal T1 which will make it possible to reconstruct elements of the position POSi with a clock synchronized between each positioning terminal Bi, B2, B3 and the terminal T1 and / or with a clock synchronized between the positioning terminals.

[0197] Figure 9 also shows data networks NET1 and NET2.

[0198] According to a first embodiment, the terminal T1 is connected to a mobile network such as a 5G, LTE with 4G or 4G+ or GSM / EDGE, CDMA2000, TD-SCDMA, UMTS, 3G, H or H+ data network.

[0199] According to a second embodiment, the terminal T1 is connected to a Wifi network, for example the local network accessible from a Wifi access point.

[0200] In both cases, the terminal T1 is connected via the mobile network or the Wi-Fi network to a data network such as the Internet network so that the terminal T1 can access data from a remote data server SERV1. The terminal T1 includes the communications interfaces adapted to the implementation of these data links to receive and transmit data to one or more remote servers.

[0201] With regard to each positioning terminal B1, the same two types of network interfaces can be implemented. According to one embodiment, a single positioning terminal B1 can comprise, for example, a Wifi interface to be connected to a Wifi box itself connected to the internet network. It can alternatively be connected directly to the internet network or even be configured to be connected to a mobile network as previously defined. In the latter case, the positioning terminals communicate with each other via a data protocol.

[0202] According to one embodiment, the server SERV1 comprises, for example, a library of 2D or 3D digital objects or data relating to media. These digital objects are also called virtual objects in the remainder of the description OBVi.

[0203] Depending on the different implementation modes, this library is accessible:

[0204] ■ from the T1 electronic terminal via a communication interface, such as a mobile or Wi-Fi interface;

[0205] ■ from one of the B1 positioning terminals via a communication interface, such as a mobile or Wifi interface, the Ti terminal then being able to access the digital object library via the Li link, such as Bluetooth or Wifi.

[0206] ■ From a box connected to a data network and to the terminal.

[0207] According to different embodiments, the terminal Ti and / or a positioning terminal Bi, B2, B3 can access different remote servers such as the servers SERV1, SERV2 shown in Figure 9. In the example of Figure 9, the server SERV1 is a remote server comprising a database of virtual objects OBVi, the server SERV2 is a remote server allowing the control of access to the services delivered to the positioning terminal B1. Thus, according to one embodiment, each positioning terminal B1 records a set of virtual objects OBVi which have been previously anchored and whose positions in the reference frame Ro are known. According to another case, it is the terminal which records a set of virtual objects OBVi whose positions in the frame Ro it knows.

[0208] In order to access these virtual objects OBV, a third party with a second electronic terminal T2 is likely to locate an object placed in a previously anchored location. The invention makes it possible to organize access rights to a previously placed virtual object. For example, an individual can anchor an electronic post-it, i.e. a text note on the living room wall for his wife without the children being able to access it.

[0209] When a user with a terminal T2 has access to the virtual object OBV previously anchored to a POSA position of a room in which there is a set of positioning terminals, he can view it using the display of his terminal T2 and using an augmented reality software component. Access is achieved via an electronic terminal T2 by displaying in augmented reality the virtual object OBV on the screen of the electronic terminal T2 superimposed on the image acquired by its optics. To this end, the augmented reality software component uses the reference frame of the mobile terminal including the optical axis, the axis parallel to the direction of gravity and an axis reconstructed from these two axes, such as the vector product or an axis parallel to the main axis of the electronic terminal. Thus, the augmented reality software component is capable of generating a virtual object and its magnification, for example, depending on the position of the terminal with respect to this virtual object.

[0210] Access to the virtual object OBVi can be achieved via an electronic terminal T2 by accessing either directly the positioning terminal B1 which has user rights access control, or via a remote data server SERV2 which includes a user access module.

[0211] Access control can be carried out by the SERV2 server from a B1 positioning terminal following a request from a T2 terminal.

[0212] Augmented reality software component orientation tracking offset detection.

[0213] The "augmented reality" function of the electronic terminal is provided in particular by an algorithm launched from a software component of the electronic terminal. In order to be correctly executed, the software component initiates, from an initial position, a continuous measurement of the orientation and position of the electronic terminal. An accidental shift phenomenon may occur due to a break in the continuity of the processing of data from the gyroscope and / or the accelerometer. This phenomenon is better known in the Anglo-Saxon literature as "AR drift". It corresponds to the accidental shift of the electronic terminal's reference frame due to an error in the analysis of the augmented reality environment. The terminal moves in this reference frame without moving it, thanks to the analysis of the environment with the camera and the accelerometer. When such a shift occurs, all the virtual elements are shifted accordingly.

[0214] A consequence is that the estimated center POSo of the estimated reference frame Ro', as well as the positions of the estimated positioning terminals, may be offset relative to the augmented reality software component. From the point of view of the electronic terminal, the virtual objects are represented in the environment specific to the terminal and therefore in its frame of reference. However, if an offset occurs in the position of the terminal relative to a position reference processed by the augmented reality software component, the virtual object may be arranged in an incorrect position since the position of this object, which is obtained by transposing the coordinates of the point POSo into the frame of reference of the terminal, is also offset.

[0215] The method of the invention includes a function allowing regular reconnection to the positioning terminals so as to check the distance between the electronic terminal and the positioning terminals. If large deviations are observed on several successive data, a shift of the augmented reality is considered. The positions estimated by the terminal of the positioning terminals are updated, as is the position POSo of the reference frame Ro. The virtual objects being linked directly to the position POSo of the reference frame Ro, they will then be moved accordingly.

[0216] Pairing (optional)

[0217] According to one embodiment of the invention, a pairing sequence between a terminal and a positioning terminal is carried out. A first step concerns the pairing of the devices Ti, Bi with each other. This pairing can be done once and for all or can be updated from time to time depending on the potential drifts of certain components of the equipment.

[0218] In this pairing phase, data can be exchanged between the positioning terminal Bi and the electronic terminal Ti, in particular protocol information. According to one example, the positioning terminal Bi transfers to the electronic terminal Ti its configuration parameters such as its Bluetooth BLE protocol parameters and its UWB protocol parameters. This can be, for example, the BLE UUID and a UWB identifier. The electronic terminal Ti in turn sends its own parameters to the positioning terminal Bi.

[0219] According to different embodiments, the pairing sequence is initiated by the electronic terminal Ti or by the positioning terminal Bi.

[0220] A retransmission sequence can then be undertaken in order to maintain the connection, this sequence is also called “UWB refresh” in English terminology, it consists of initiating the pairing procedure from the Ti terminal in a loop until the UWB connection is maintained.

[0221] According to one embodiment, the method comprises a step of reading an orientation indication by the electronic terminal Ti, T2 of a compass, a compass, a parameter of an inertial unit or even an inertial electromechanical microsystem, also called a gyroscope arranged within the electronic terminal. Navigation systems such as AHRS designating "Altitude and Heading Reference System" or and UNS designating "Inertial Navigation System", both known to those skilled in the art, can also be used within the scope of the invention.

[0222] The orientation indication is commonly a direction with respect to the north considered at a given point, it is therefore a straight line passing through a point or a vector for which we know a point of origin and an angle with respect to a Cartesian reference. Generally speaking, such a component capable of reading an orientation indication with respect to a reference such as magnetic north is noted as an "orientation device". However, any reference other than magnetic north can be used. This could be, for example, the azimuth obtained from a compass.

[0223] Without a terminal, the virtual object OBVi cannot be viewed; it can only be viewed via an electronic terminal Ti, for example, which has access rights.

[0224] UWB message exchange between a terminal and the terminal

[0225] Figure 10 illustrates a second solution that does not require a prior synchronization sequence between the two devices, however this solution requires a bidirectional exchange of data in UWB between the two devices. This sequence is better known in English literature as "Two Way Ranging" whose acronym is TWR.

[0226] An equivalent technique based on the analysis of differences in arrival times, called TDOA and designated in the literature as "Time Difference Of Arrival" can be used. This latter technique can be used in particular at different positions of the terminal in space when it moves.

[0227] The invention also covers the improved TDOA technique called DL-TDOA and designating in the English terminology "Downlink Time Difference of Arrival". This latter technique, instead of directly measuring the difference in arrival time of the signal between the receivers or the same receiver in different positions, makes it possible to measure the signaling time differences between the receivers or the same receiver in different positions. The signaling includes specific messages sent by the transmitter, which are designed to provide synchronization information. These messages allow the receivers or the receiver considered in different positions to synchronize precisely.

[0228] In the embodiment where a DL-TDOA type technique is used, the terminals simultaneously send a UWB signal, and the terminal estimates the time difference emitted by these signals to reach it. The terminal can then deduce the arrangement of the terminals with respect to the latter. For example, the terminal can deduce that it is positioned 2 cm closer to Bi than to B2.

[0229] The algorithm implemented by the invention then makes it possible to obtain hyperbolas instead of circles, or hyperboloids instead of spheres. The construction of the position is then carried out iteratively as for the case of circles.

[0230] If below is detailed an embodiment relating to the TWR technique, but the invention also covers the implementation of a technique based on TDOA or DL-TDOA.

[0231] The electronic terminal Ti sends a "Poil" message to the known address of the positioning terminal Bi. This is called the TSP sending time of the REQi request. The positioning terminal Bi then records the TRP reception time of the REQi request and responds with the RESi response message at the time of sending the TSR response.

[0232] The electronic terminal Ti, upon receipt of the response message RESi, then records the time of receipt of the response TR and composes the final message FINAL(TSP, TRR, TSF), in which its ID, its TSP, its TR and its final start time TSF are included.

[0233] Based on the time of receipt of this final FINAL message (TSP, TRR, TSF), the Bi positioning terminal can then determine the time of flight of the UWB signal. An advantage of this method is that no time synchronization is required between UWB devices.

[0234] According to one embodiment, the sequence of UWB message exchanges includes information specific to the protocol, connection times, communication times, equipment identifiers, etc.

[0235] Optionally, the resulting distance can be returned in the report message to the electronic terminal or any given UWB device in the vicinity. An interest is to calculate a terminal position more precisely in the case of a system with several positioning terminals. Experience shows that the maximum distances that can be calculated between the electronic terminal Ti and the positioning terminal Bi to initiate the TWR process can be up to several tens of meters, such as a distance of 50m, an optimal operating distance is between 1 meter and 30 meters, which allows use cases suitable for home or office or showrooms for example.

[0236] According to one embodiment, the UWB message transmission sequence is repeated a plurality of times so as to obtain a more precise distance and therefore a more precise position of the virtual object OBVi with respect to the positioning terminal Bi. The position can be obtained by averaging the positions generated according to different UWB message transmission sequences.

[0237] Using Preset Positions

[0238] According to an exemplary embodiment, a user can record in a memory of the Bi positioning terminal some predetermined positions of the part in which a Bi positioning terminal is located. These positions can result, for example, from previous anchors carried out.

[0239] An advantage is to allow a subsequent new anchoring to an already known position which does not require a new movement of the user with his electronic terminal to the position at which he wishes to carry out a new anchoring. This embodiment allows for example, an individual to associate a virtual object OBVi remotely. This association is carried out by accessing his positioning terminal Bi thanks to an access control and user rights which can be carried out by means of a remote server such as SERV2. Assuming that he has the access rights to the positioning terminal B1, for example if the positioning terminal B1 is placed at his home this user could select a predefined position of the room already recorded to associate a new virtual object OBVi selected from his terminal T1.According to an exemplary embodiment, a 3D or 2D representation of the space makes it possible to visualize the position in the room with respect to a reference point corresponding to the positioning terminal. This representation of the room can, for example, be carried out previously during a configuration phase. For example, a user could move around the room covered by the positioning terminal with his electronic terminal Ti to anchor the 4 corners of the room so that the positioning terminal Bi records the dimensions of the room. A software function would then make it possible to define a corresponding volume representing the room and some reference points in order to position already defined positions there. An advantage is, for example, to leave a virtual object such as a message when an individual moves for a member of the family at home.

[0240] Adjusting the position of a terminal

[0241] According to one embodiment of the method of the invention, a user anchoring a new virtual object OBVi to a given position of a room can adjust the position of said virtual object OBV and its orientation in space.

[0242] This software function allows, for example, to initially display the object in a 3-dimensional space. The user, using a touch screen on the Ti terminal, can move the virtual object OBVi around the room. The height can thus be adjusted, as can the other parameters of the position of the virtual object OBVi. The new position can then be retransmitted via the Li link to the positioning terminal to update the position POSi associated with the virtual object OBV.

[0243] According to one embodiment, the orientation of the virtual object OBV in space can be modified by the user. In the same way, this change of orientation can be carried out from a touch command on the display of the electronic terminal Ti to be transmitted to the positioning terminal Bi. According to a first example, the orientation of the virtual object OBV can be adjusted to the nearest degree by a movement of the virtual object OBV on the display of the electronic terminal Ti. According to an alternative, the orientation can be modified according to predefined transformations, for example rotations of 90° according to the 3 rotation angles defined in a Cartesian reference frame.

[0244] According to an example, when the 4 corners of the room are defined, at least one positioning terminal is configured to generate a horizon line of the room defined by a segment between two adjacent corners. This possibility makes it possible to define a default orientation of the virtual object in space. It can in fact be oriented with respect to this horizon line.

[0245] Finally, according to one embodiment, the user modifying the orientation and the final position of the virtual object that has just been anchored in a first step can access via the display of his terminal representing an image acquired from his optics the context or the close environment of the virtual object that has just been anchored. Thus, the display will represent the virtual object OBVi in its real environment in which it has been anchored, namely the presence of a wall, a table or a lamp or any other object already present in the room. According to one embodiment, the user has the possibility of selecting pixels of the image. A software function can be implemented to identify and generate a surface belonging to a real object of the scene such as a surface of a table or that of a wall.An option of this software function is to enable a magnetic function to be activated to match a coordinate of the end of a dimension of the virtual object OBVi with a coordinate of a surface of the determined real object and then to assign this coordinate of the real object to a coordinate of the virtual object. The pose of a virtual object can be achieved using a software function for shape detection. The acquisition of the image by the optics of the electronic terminal makes it possible to generate an input for a shape and contour detection algorithm so as to segment the real objects in the scene. The software function to move the virtual object into contact with a detected surface of a shape is achieved by making a coordinate of the position of the object coincide with a surface of an edge of a detected geometric surface.

[0246] In other words, this software function allows the table height to be matched to the object height, for example by considering its lowest dimension. One advantage of such a function is to position the virtual object in a real context while respecting the spaces already occupied by real objects in the room.

[0247] According to an exemplary embodiment, a second user viewing a virtual object OBVi anchored by a first user in space may have the rights to modify, for example, its orientation and not its position.

[0248] According to one embodiment, the user having anchored a virtual object or a user having access to a virtual object already anchored to view it can, from its user interface, zoom the object, move it, change its orientation, or even change its appearance, for example by modifying the colors or the texture of at least one surface of the element.

[0249] According to one embodiment, a user U2 having a terminal T2 and viewing a virtual object OBV already anchored by another user II1 and therefore by means of another terminal T1, can activate a command to notify the successful reading of the virtual object OBVi to the user U1 having anchored it. This command can also be generated automatically once the virtual object OBVi has been viewed by the second terminal T2. For this, the terminal T2 viewing the virtual object anchored at a position POS1 can send a message, for example via the link L1 or L2, to notify the positioning terminal B1 that the virtual object OBV has been viewed by the user U2. When the positioning terminal B1 is connected to the internet network either directly or via a Wi-Fi terminal, a message can be sent on the internet network or via a mobile network to notify the first terminal T1 of the viewing of the object OBVi by the user U2.

[0250] Different types of virtual objects

[0251] According to one embodiment, the virtual objects are 3-dimensional statistical objects. According to another example, a virtual object OBV may include an animation such as a chest that opens. According to another example, a virtual object may be an avatar of an individual or an avatar of a character that can be animated over a period of time. For example, it is possible to anchor an avatar of a character delivering an audio message. According to another example, the virtual object is a thumbnail allowing the playback of a multimedia file. According to another example, the virtual object is a note, for example, to display the shopping list.

[0252] Master terminal

[0253] According to one embodiment, when a positioning terminal Bi is installed, a terminal Ti is determined as being the master terminal TM having administrator rights to assign rights to other terminals with respect to the virtual objects that can be selected or viewed. One advantage is to allow the rights of the virtual object libraries to be administered, for example to allow children to use object libraries and to limit access to other libraries.

[0254] Virtual object base The method of the invention advantageously comprises a step aimed at choosing and selecting a virtual object OBVi which can be recorded in different memories according to the embodiments of the invention or the use chosen by the user. Indeed, according to one embodiment, the virtual objects can be mainly accessible from a data server via the internet network, but it is understood that the user could in certain cases have a library of virtual objects recorded in a memory of his terminal Ti or even access objects recorded in a memory of the positioning terminal Bi.

[0255] When a virtual object OBVi is selected, a command makes it possible to anchor said virtual object OBVi at the current position or near the electronic terminal Ti. For this purpose, a sequence of steps is carried out aimed at transmitting elements of the position of the electronic terminal Ti to the positioning terminal Bi. Among the sequence of steps, a first action consists of measuring an orientation indication, for example an angle with respect to a reference such as an axis, magnetic north or a direction vector oriented in a frame of reference, and sending it to the positioning terminal Bi and a second action aims to send at least one UWB message so that the positioning terminal Bi can determine the distance at which the electronic terminal Ti is located.

[0256] According to one embodiment, the virtual object selected by means of the electronic terminal Ti comprises an identifier and a locator on a network resource, for example a HyperText link, a URL or an address of a machine accessible from the network. The data making it possible to identify the virtual object and to retrieve all the data making it possible to display it on a display can be transmitted via the link Li between the electronic terminal Ti and the positioning terminal Bi.

[0257] According to another example, the virtual object OBV is selected from the electronic terminal which is connected to the positioning terminal Bi via the link Li and the data of the virtual object OBVi are retrieved directly from the positioning terminal from a remote server or from a memory of said terminal.

[0258] Access to virtual objects

[0259] According to an example, when a user Ui equipped with his terminal Ti anchors a virtual object OBVi at a given position, the method comprises a step aimed at assigning user rights to other terminals referenced to the positioning terminal Bi. One advantage is to deliver messages dedicated to a subset of terminals or to a given terminal.

[0260] Thus, several users who have each associated their terminal with the Bi positioning terminal will not all view an OBVi virtual object on their terminal's display. The display will be activated or not depending on the rights given to them respectively.

[0261] According to one embodiment, the association of a new electronic terminal with the positioning terminal is subject to validation by the master terminal TM. For this purpose, during a sequence of a new pairing of an electronic terminal, the positioning terminal Bi sends a message via a Bluetooth or Wifi link Li to the master terminal. This message can also be sent via the server SERV2 after the positioning terminal B1 has sent a notification of addition of a new electronic terminal to the server SERV2. In this case, the server SERV2 is configured to automatically send a message requesting authorization of a new electronic terminal within a memory of the positioning terminal B1.If a validation is carried out with the master terminal, the new terminal is added to the list of equipment that can add a new virtual object to the positioning terminal B1 and / or view virtual objects anchored by the positioning terminal Bi.

[0262] Meshing of positioning terminals

[0263] According to one embodiment, when a positioning terminal is connected to a Wi-Fi terminal such as an internet access terminal, the invention makes it possible to mesh the different positioning terminals within a data network so as to administer and geolocate them from a web application, for example.

[0264] One interest is to offer administration of a plurality of positioning terminals in a place comprising different positioning terminals such as a museum.

[0265] Example of a terminal

[0266] According to one embodiment, a positioning terminal comprises a computer such as a microcontroller, a memory, a compass or an inertial unit, and a set of communication interfaces including in particular a UWB interface and a Bluetooth interface. According to an improved embodiment, the positioning terminal comprises a Wi-Fi interface. According to an improved embodiment, the terminal comprises a secure element, also called in English terminology a "secure element". This secure element is embodied by an electronic chip separate from the microcontroller. Its objective is to secure transactions, i.e. the exchange of data via the different data protocols implemented between the different devices.

[0267] According to a first example, the system of the invention can be used to display information in a store from a screen available in the store or from a smartphone. The virtual object can in this case be information regarding an item or a virtual representation of a real object in another configuration, for example according to another size or another color. The system can comprise in this use case a plurality of positioning terminals in the store. A plurality of reference frames are then constructed so that each terminal, depending on its position, can reconstruct the most appropriate reference frame. According to one example, the anchoring of a virtual object is carried out in a given reference frame which is indexed or associated with the virtual object.So when a virtual object is anchored in a given reference frame, it has the identifier of the reference frame in order to allow transpositions of frames to be carried out by another terminal.

[0268] Access rights to objects can be activated at any terminal having subscribed to a service from a remote server or with a terminal at the entrance of the store, called a pairing terminal. Thus, in this embodiment, the positioning terminal can be different from a pairing terminal allowing access to a catalog of virtual objects. According to one embodiment, the pairing terminal can be connected to an access rights management server allowing for example to carry out an authentication check. An interest may be for example to offer additional services to subscribers such as price discounts or to present an additional catalog, for example of limited series objects. According to one embodiment, a user can associate his terminal identifier with a customer account of the store, which makes it possible to provide the resources necessary for the authentication check to activate or not a service.Thus, in this mode of use, the system of the invention comprises at least one specific pairing terminal at the entrance to the location and an authentication control.

[0269] According to a second example, the system of the invention can be used in exhibition rooms or museums to deliver information near a work. One advantage is to allow a user to access information directly at a position near the work that he is consulting or discovering. One advantage of this solution is to offer rich multimedia content. For example, equipped with a touch screen, a user can read a text constituting all or part of the virtual object next to a painting that constitutes a real object. Then once the text is read, the user can "zap" or change the content by moving his finger on his display to obtain images, or even a sound, a video or another text or the continuation of the first text. Thus, a user can simply access rich content that can be updated at any time by an administrator managing the virtual content.In this example, it is understood that the virtual object can be a sequence of multimedia contents ordered or linked together. According to one example, the chain of contents can comprise a text TEXTi, a video VIDEOi, a text TEXT2, an image IMAGE1, another video VIDEO2. Thus, the virtual object is a chain thus constituted of virtual elements defining a virtual object: {TEXT2, VIDEO1, TEXT2, IMAGE1, VIDEO1}. In this example, the system of the invention comprises a memory for storing chained virtual objects, access to one or more multimedia libraries, and a display of a terminal allowing navigation among the different elements of a virtual object.

[0270] According to a third example, the virtual object is an animated 3D object, it can also be a hologram visible from a display of an electronic terminal. One advantage of such an application is to anchor at a given position an intervention of a first individual represented by his hologram and visible from a display of an electronic terminal of another individual wishing to view the first individual. The first individual can for example be located at a position in another place and his image can be acquired by means of an optic such as a 3D camera. The 3D image can be processed so as to be separated from the rest of the image from an image processing algorithm making it possible to cut out the 3D video of the first individual. A set of data describing the 3D video and preferably the soundtrack if it is present can then be transmitted via a data network to a library of virtual objects stored on a memory of a remote server.The virtual object can then be downloaded when anchored to the positioning terminal. According to a first variant, the entire video is downloaded to the positioning terminal in order to be generated later at a given position when a second individual views the image of the hologram on his electronic terminal. According to one embodiment, a real-time continuous streaming mode makes it possible to generate the video in real time from a remote server. According to this application, the start of the video can be activated by a user command from his terminal which is sent to the positioning terminal. In this case, the positioning terminal can generate the start of the video on a command from the user at the desired position.

Claims

CLAIMS 1. Computer-implemented method for positioning at least one virtual object (OBVi) anchored to a position in a real space (ER), said virtual object (OBVi) being intended to be displayed on an electronic display of an electronic terminal (Ti, T2) when said terminal targets by means of an optical device a given position in the space of the real environment, said method comprising: ■ First transmission (TR1) of positioning messages between a terminal (T1, T2) and a set of positioning terminals (B1, B2, B3) in order to estimate the position of each positioning terminal (B1, B2, B3) in the reference frame of the electronic terminal (T1, T2); ■ Estimation (GEN1) of an estimated reference frame (Ro') by the terminal (T1, T2) aiming to reconstruct a predefined initial reference frame (Ro), said estimation comprising: ■ Estimation (EST1) of a reference position (POSo') from the estimated positions of each positioning terminal (Bi, B2, B3); said estimated reference position (POSo') being determined according to a geometrically calculated position with respect to the positions of the positioning terminals (B1, B2, B3), said estimated reference position (POSo') defining the center of an estimated reference frame (Ro') and not being the position of a positioning terminal (B1, B2, B3); ■ Calculation of a first reference vector (VIA) from the accelerometer or a gyroscope of an electronic terminal (T1, T2), said first vector (VIA) being defined parallel to the force of gravity acting on the accelerometer and oriented according to a given orientation, said first vector (VIA) forming a vector (VIA) of the estimated reference frame (Ro'); ■ Calculation of a second vector (Vit>) from at least one position of a positioning terminal (B1) and a second reference position (B2), said second vector (V) forming a vector of the estimated reference frame (Ro'); ■ Calculation of a third vector (Vie) from the vector product of the first and second vectors (Via, Vib), said third vector (Vie) forming a vector of the estimated reference frame (Ro'); ■ Acquisition (AQC2) of a position of a virtual object (OBVi) and data representing said virtual object (OBVi) in a reference frame (Ro, Ro') by means of a communication interface of said electronic terminal (T1, T2); ■ Transposition (TP2) of the position of the virtual object (OBVi) from the estimated initial reference point (Ro') to the reference point of the electronic terminal (T1, T2), said transposition being calculated from the distance between the position of the electronic terminal (T1, T2) and the position of the center of the estimated initial reference point (POSo) in real time, ■ Display (AFF2) of said virtual object (OBVi) on the display of the electronic terminal (T1, T2) from the position of the transposed virtual object (OBVi) and its representation data, said virtual object (OBVi) being displayed on the display as a function of the orientation of the electronic terminal (T1, T2) measured in its own frame of reference by an integrated gyroscope.

2. Method according to claim 1 characterized in that it comprises: ■ Anchoring (ANC1) of a virtual object (OBV) at an anchoring position (POSA) from the generation of a first command carried out from the electronic terminal (T1, T2), said anchoring comprising the selection of at least one identifier of a virtual object (OBVi) recorded in a memory, said anchoring position (POSA) corresponding to the position of the electronic terminal (T1, T2) in the reference frame estimated (Ro') by said electronic terminal (T1, T2) at the time of generation of the first command.

3. Method according to any one of claims 1 to 2, characterized in that it comprises: ■ Initialization (IN ITo) of a plurality of positioning terminals (Bi, B2, B3) aimed at identifying the distances of each positioning terminal (Bi, B2, B3) with respect to the other positioning terminals, at least one positioning terminal (B1) centralizing all of the positions of each other positioning terminal with respect to itself (B1); ■ Determination of a set of arrangement data of the positioning terminals (B1, B2, B3) relative to each other by means of an initialization step making it possible to calculate all of the distance data between the positioning terminals (Bi, B2, B3) and their respective direction relative to each other, said data being recorded in a memory of a positioning terminal and / or of electronic equipment connected to at least one of the positioning terminals and / or a remote server storing the configuration data of said positioning terminals.

4. Method according to claim 3 characterized in that the initialization step of the method comprises the acquisition of a height of each positioning terminal (Bi, B2, B3) and that the arrangement data comprises said heights of each positioning terminal (Bi, B2, B3).

5. Method according to any one of claims 3 to 4, characterized in that it comprises: ■ Acquisition by a terminal (T1, T2) of the arrangement data of the positioning terminals (B1, B2, B3); ■ Recalibration of the positions of the positioning terminals (Bi, B2, B3) estimated by the terminal (T1, T2) in the reference frame of said terminal (T1, T2) from the distances between each positioning terminal extracted from the layout data.

6. Method according to any one of claims 1 to 5 taken in combination with claim 4 characterized in that step initialization of the method comprises the construction of an initial reference frame (Ro) from the arrangement data of the positioning terminals (Bi, B2, B3), said reference frame (Ro) comprising a geometric reference center (POSo) calculated from relative positions of the positioning terminals (Bi, B2, B3) and the definition of a vertical axis, said reference frame estimated (Ro') by a terminal aiming to reconstruct said initial reference frame (Ro).

7. Method according to any one of claims 1 to 6 characterized in that the initial reference mark (Ro) comprises the ■ Calculation of an initial reference position (POSo) from the relative positions of each positioning terminal (Bi, B2, B3) with respect to each other terminals; said reference position (POSo) being determined according to a geometrically calculated position with respect to the relative positions of the positioning terminals (Bi, B2, B3) with respect to each other, said initial reference position (POSo) defining the center of an initial reference frame (Ro) and not being the position of a positioning terminal (B1, B2, B3); ■ Calculation of a first reference vector (VIA) from the definition of a vertical axis, said first vector (IA) forming a vector (VIA) of the initial reference frame (Ro); ■ Calculation of a second vector (V) from at least one position of a positioning terminal (B1) and a second reference position (B2), said second vector (Vib) forming a vector of the initial reference frame (Ro); ■ Calculation of a third vector (Vie) from the vector product of the first and second vectors (Via, V ), said third vector (Vie) forming a vector of the initial reference frame (Ro).

8. Method according to any one of claims 1 to 7 characterized in that the estimation of the position of a positioning terminal (B1, B2, B3) by the terminal (T1, T2) is carried out by means of a plurality of steps of receiving UWB messages transmitted by said positioning terminal (Bi, B2, B3) and received by said electronic terminal (B1, B2, B3), said estimation comprising an estimation of the distance between the positioning terminal (B1, B2, B3) and said electronic terminal (T1, T2) by means of an analysis of the flight times or an analysis of the differences in arrival times of each transmitted and received UWB message; said estimation of the position of a terminal comprising a statistical analysis of the most probable position of said positioning terminal (Bi, B2, B3).

9. Method according to claim 8 characterized in that the estimation of the position of each positioning terminal (Bi, B2, B3) comprises an estimation by the electronic terminal (T1, T2) of the direction of arrival of each UWB message transmitted by each positioning terminal (Bi, B2, B3) by means of UWB antennas allowing the analysis of an angle of arrival, the method comprising the generation of a set of probable positions of each positioning terminal (B1, B2, B3) defining a cloud of points, the position of each positioning terminal being reconstructed from an algorithm for estimating the most probable position of each positioning terminal.

10. Method according to claim 8 characterized in that the estimation of the position of each positioning terminal (Bi, B2, B3) comprises an estimation by the electronic terminal (T1, T2) of a set of spheres of probability of presence of each positioning terminal (Bi, B2, B3), said space surrounding the electronic terminal (T1, T2) being subdivided into elementary zones in the reference frame of the electronic terminal (T1, T2), said electronic terminal (T1, T2) implementing an algorithm aimed at weighting the elementary zones intercepting each sphere of probability of presence calculated iteratively, the position of each positioning terminal (B1, B2, B3) being determined according to the highest probability of presence within an elementary zone.

11. Method according to any one of claims 8 to 10 characterized in that the estimation of the position of each terminal of positioning (Bi, B2, B3) comprises an estimation by the electronic terminal (T1, T2) of a modification of the trajectory of the electronic terminal in space and taking into account the change in position of the electronic terminal (T1, T2) at each estimation of the probable position of each positioning terminal (B1, B2, B3), in order to reconstruct in a given reference frame of the electronic terminal (T1, T2) the most probable position of each terminal (B1, B2, B3).

12. Method according to any one of claims 2 to 11 taken in combination with claim 3 characterized in that the anchoring operation comprises the transmission of a message by the electronic terminal comprising at least one virtual object identifier (OBVi) and a position in the estimated reference frame (Ro').

13. Method according to any one of claims 2 to 11 taken in combination with claim 3 characterized in that the anchoring operation comprises the transmission of a message according to one of the following methods: ■ Sending a message to a remote server accessible from a data network, said message being sent from a communication interface using a Bluetooth, Wifi or 4G protocol. ■ Transmission of a UWB message to the positioning terminals, said UWB message encoding the anchoring position and a virtual object identifier (OBVi).

14. Method according to any one of the preceding claims, characterized in that the reference position (Po) defining the center of a reference frame (Ri) is the barycenter of the positioning terminals (Bi, B2, B3).

15. Method according to any one of the preceding claims, characterized in that the second vector (V) is defined parallel to the axis joining two positioning terminals (B1, B2) or parallel to the axis intersecting the two verticals passing respectively through each of the positioning terminals (Bi, B2), said positioning terminals (B1, B2) being chosen on either side of magnetic north (N).

16. Computer program product comprising at least one memory on which instructions are recorded which, when the program is executed by a computer, lead the latter to implement the step of estimating a reference frame, the acquisition step, the transposition step and the display step of claim 1.

17. System for positioning at least one virtual object (OBVi) anchored to a position in a real space (ER), said virtual object (OBVi) being intended to be displayed on an electronic display of an electronic terminal (T1, T2) when said terminal targets by means of an optical device a given position in the space of the real environment, said system comprising: ■ At least three positioning terminals (B1, B2, B3) comprising a memory and a computer and a first communication interface for transmitting messages by radio; ■ An electronic terminal (T1, T2) comprising a second radio communication interface; the positioning terminals (B1, B2, B3) and the electronic terminal (T1, T2) being configured to implement the method of any one of claims 1 to 15.

Citation Information

Patent Citations

  • Reverse tdoa-based positioning method and system

    WO2022158632A1

  • Three-dimensional indoor positioning method based on combination of gravity center coordinates and Taylor expansion

    CN111541988A

  • Virtual reality system for ultra-wideband positioning and method for positioning position and direction

    CN113190113A

  • System for detecting indoor position using mixed reality and ultra wide band

    KR102055085B1

  • Position and orientation tracking system, apparatus and method

    US11656316B2