METHOD FOR POSITIONING AND VISUALIZING A VIRTUAL OBJECT IN A REAL ENVIRONMENT, ASSOCIATED SYSTEM
The described process uses UWB messaging and geometric calculations to accurately position virtual objects in real spaces, addressing the limitations of existing technologies by estimating terminal positions and reducing measurement errors for improved visualization.
Patent Information
- Application Number
- FR2023008147
- Authority / Receiving Office
- FR · FR
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-07-27
- Publication Date
- 2025-01-31
- Estimated Expiration
- 2043-07-27
AI Technical Summary
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, leading to measurement errors and inconsistent visualization.
A process using positioning terminals to estimate the position of an electronic terminal within a real space, employing UWB messaging, accelerometers, and gyroscopes to calculate reference vectors, allowing virtual objects to be anchored and displayed without prior knowledge of the environment's layout, using a geometrically determined reference benchmark.
Enables precise positioning of virtual objects in real spaces without prior knowledge of the environment's layout, reducing measurement errors and improving visualization accuracy across different electronic devices.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
Title of the invention: METHOD FOR POSITIONING AND VISUALIZING A VIRTUAL OBJECT IN A REAL ENVIRONMENT, ASSOCIATED SYSTEM Scope of the invention
[0001] The invention relates to methods implemented by computers and / or 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 specifically to methods for reducing positioning errors of a virtual object in a real environment, particularly for augmented reality or virtual reality applications where the same object is visible to different devices belonging to different users. State of the art
[0002] Solutions exist for anchoring data to a given position within a real-world indoor environment. One solution involves vectorizing all or part of the real-world indoor environment to represent the object within 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.
[0003] One advantage is the ability to share data located in a real-world environment with other individuals. However, this solution has the drawback of requiring access to all parties wishing to exchange information. This configuration is practical when access to the real-world environment is available, generally through an application, but this is not always the case; moreover, it is very difficult to replicate the vectorization of a real-world environment.
[0004] This solution allows data to be viewed in a real-world context, such as a living room or office, but only through a terminal or system that has performed the vectorization. However, this solution has several limitations. For example, if one wants to see the arrangement of a piece of furniture within a context that changes over time, it is necessary to perform a new vectorization of the location. Another drawback is that each person wishing to access an object anchored to a given position must have access to the vectorized location or vectorize the location themselves. This implies, in particular, that a large amount of data is transmitted from one device to another.
[0005] Furthermore, solutions exist for locating virtual objects in the real-world environment. This is notably the case for a game such as Pokémon Go, which is a registered trademark. The game involves retrieving virtual objects placed at specific locations in the real world. However, a limitation of this technology is GPS localization, which does not allow for the precise location of objects inside a room, as the signal is often too weak to provide sufficient accuracy.
[0006] There is a need to locate data in a real environment that is located in enclosed places such as homes, factories, offices, shops, museums or any other place that can be used to exchange localized data between individuals.
[0007] Finally, solutions exist for locating an object in a space equipped with positioning beacons. However, current technologies do not allow for precise positioning of virtual objects visible only through an electronic terminal. Indeed, these systems require accurately locating the electronic terminal first, and then correctly positioning the object within the terminal's coordinate system. Measurement errors lead to positioning discrepancies for virtual objects, thus degrading the visualization quality of these objects from the electronic terminal. The required precision of the measurements necessitates the input of additional data to determine the positions of the objects and the terminals used, ensuring sufficient accuracy to guarantee a reasonable quality of service.However, taking additional data into account degrades the definition of an ad hoc service that does not require any prior knowledge of the real environment.
[0008] One possible solution is to define a fixed viewing position to ensure the correct visualization of a virtual object positioned in space. In practice, this is difficult to implement in many cases because an individual entering an area may not necessarily know the point they need to go to in order to view the various virtual objects present in space using augmented reality. Furthermore, a problem also arises from the lack of prior knowledge of the reference frame in which the objects were placed when an individual first enters the space.
[0009] The invention makes it possible to overcome the aforementioned disadvantages. Summary of the invention
[0010] 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 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 optics, a given position in the real environment, said method comprising: • First transmission of positioning messages between a terminal and a set of positioning beacons in order to estimate the position of each positioning beacon in the electronic terminal's frame of reference; • Estimation of a reference frame estimated by the terminal aimed at reconstructing a predefined initial reference frame, said estimation comprising: • Estimation of a reference position from the estimated positions of each positioning boundary; said estimated reference position being determined according to a position calculated geometrically with respect to the positions of the positioning boundaries, said estimated reference position defining the center of an estimated reference frame and not being the position of a positioning boundary; • Calculation of a first reference vector from the accelerometer or 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; • Calculation of a second vector from at least one position of a positioning beacon and a second reference position (B2), said second vector forming a vector of the estimated reference frame; • Calculation of a third vector from the cross product of the first and second vectors, said third vector forming a vector of the estimated reference frame; • Acquisition of a position of a virtual object and representation data of said virtual object in a reference frame by means of a communication interface of said electronic terminal; • Transposition of the position of the virtual object from the estimated initial coordinate system to the electronic terminal's coordinate system, said transposition being calculated from the distance between the position of the electronic terminal and the position of the center of the estimated initial coordinate system in real time, • Display of said virtual object on the display of the electronic terminal from the transposed position of the virtual object and its representation data, said virtual object being displayed on the display according to the orientation of the phone measured in its own frame by an integrated gyroscope.
[0011] One advantage is to position a virtual object within a space equipped with positioning boundaries without prior knowledge of the topology of the place, or even of the positions of the terminals in this location since they will be estimated by the terminal.
[0012] According to one embodiment, the process comprises: • Anchoring a virtual object to an anchor position upon generation of the first command executed from the electronic terminal, said anchor comprising the selection of at least one identifier of a virtual object stored in memory, said anchor 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.
[0013] One advantage is to position a virtual object within a frame agnostic to the actual topology of a given location. Only positioning boundaries allow a virtual object to be located in a location by defining, in particular, a frame of reference.
[0014] According to one embodiment, the process comprises: • Initialization of a plurality of positioning bounds aimed at identifying the distances of each positioning bound with respect to the other positioning bounds, at least one positioning bound centralizing all the positions of each other positioning bound with respect to itself; • Determination of a set of arrangement data of the positioning terminals relative to each other by means of an initialization step allowing calculation of the set of distance data between the positioning terminals to each other and their respective direction relative to each other, said data being recorded in a memory of a positioning terminal and / or of an electronic equipment connected to at least one of the positioning terminals and / or a remote server storing the configuration data of said positioning terminals.
[0015] One advantage is to define relative positions that define an arrangement of the terminals. Another 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 by the terminal to estimate the terminal positions.
[0016] According to one embodiment, the initialization step of the process includes acquiring the height of each positioning marker, and the arrangement data includes said heights of each positioning marker. An advantage is that the position of each marker relative to the other markers can be adjusted as precisely as possible using reliable distance information.
[0017] According to one embodiment, the process comprises: • Acquisition by a terminal of the arrangement data of the position markers operation; • Recalibration of the positions of the positioning markers estimated by the terminal in the coordinate system of said terminal from the distances between each positioning marker extracted from the layout data.
[0018] One advantage is to improve the estimation of the positions of each boundary from additional knowledge.
[0019] 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 having a geometric center calculated from the relative positions of the positioning terminals and the definition of a vertical axis, said reference frame being estimated by a terminal designed to reconstruct said initial reference frame. An advantage is that it allows any terminal to reconstruct the frame from messages received from the terminals.
[0020] According to one embodiment, the initial reference frame comprises the • Calculation of an initial reference position from the relative positions of each positioning beacon with respect to the other beacons; said reference position being determined according to a position calculated geometrically with respect to the relative positions of the positioning beacons 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 beacon; • Calculation of a first reference vector from the definition of a vertical axis, said first vector forming a vector of the initial reference frame • Calculation of a second vector from at least one position of a positioning beacon and a second reference position, said second vector forming a vector of the initial reference frame; • Calculation of a third vector from the cross product of the first and second vectors, said third vector forming a vector of the initial reference frame.
[0021] One advantage is to define a coordinate system that is agnostic to the topology of the location. The coordinate system depends only on the position of the terminals. According to one embodiment, another advantage is to also use knowledge of the positioning of the terminals relative to each other in order to improve the reconstruction of the coordinate system from the positions of the terminals determined by the electronic terminal.
[0022] According to one embodiment, the estimation of the position of a positioning beacon by the terminal is carried out by means of a plurality of reception steps of UWB messages transmitted by said positioning beacon and received by said electronic terminal, said estimation comprising an estimation of the distance between the positioning beacon and said electronic terminal by means of a time-of-flight analysis or an analysis of the time-of-arrival differences of each transmitted and received UWB message; said estimation of the position of a beacon comprising a statistical analysis of the most probable position of said positioning beacon. One advantage is to iteratively determine the position of the beacons and therefore subsequently that of the terminal.
[0023] According to one embodiment, the estimation of the position of each positioning beacon includes an estimation by the electronic terminal of the direction of arrival of each UWB message transmitted by each positioning beacon using UWB antennas that allow for angle of arrival analysis. The method comprises generating a set of probable positions for each positioning beacon, defining a point cloud. The position of each positioning beacon is then reconstructed using an estimation algorithm to determine the most probable position of each beacon. An advantage of using angles of arrival is that the position of the beacons can be calculated more quickly and with greater accuracy, thus enabling the terminal's position within them to be deduced.
[0024] According to one embodiment, the estimation of the position of each positioning beacon comprises an estimation by the electronic terminal of a set of probability spheres for the presence of each positioning beacon, the space surrounding the electronic terminal being subdivided into elementary zones in the electronic terminal's coordinate system, the electronic terminal implementing an algorithm for weighting the elementary zones intersecting each probability sphere calculated iteratively, the position of each positioning beacon being determined according to the highest probability of presence within an elementary zone. An advantage is the ability to define a spatial model with a granularity determined according to a desired positional accuracy. The convergence rate of the beacon position determination can, in particular, be configured according to the definition of the zones.
[0025] According to one embodiment, the estimation of the position of each positioning marker includes an estimation by the electronic terminal of a change in the trajectory of the electronic terminal in space and taking into account the change in the position of the electronic terminal at each estimation of the probable position of each positioning marker, in order to reconstruct in a given coordinate system of the electronic terminal the most probable position of each marker. An advantage is to take advantage of the displacements of the electronic terminal to obtain several measurements at different positions of the latter in order to deduce the position of the markers by a iterative approach.
[0026] According to one embodiment, the anchoring operation comprises the transmission of a message by the electronic terminal containing at least one virtual object identifier and an estimated position in the reference frame. An advantage is that the object can simply be designated by a short message that can be transmitted within any message supported by any protocol. The server can then associate an identifier with a virtual object containing geometric data describing a representation of said virtual object.
[0027] According to one embodiment, the anchoring operation comprises the transmission of a message according to one of the following methods: • Sending a message to a remote server accessible via a data network, the message being sent from a communication interface using a Bluetooth, Wi-Fi, or 4G protocol. One advantage is the ability to use, for example, a home Wi-Fi network to transmit data. This type of protocol allows for large data transfers. • A UWB message is sent to the positioning beacons. This UWB message encodes the anchor position and a virtual object identifier. One advantage is the ability to use, for example, a home Wi-Fi network to transmit data. This type of protocol allows for large data transfers. Another advantage is the ability to use an infrastructure based solely on the UWB protocol, eliminating the need for equipment such as an internet access device and providing a Wi-Fi, Bluetooth, or 4G connection. For example, a home Wi-Fi network can be used to transmit data. This type of protocol allows for large data transfers.
[0028] According to one embodiment, the reference position defining the center of a reference frame is the centroid of the positioning limits. An advantage is that it allows for the minimization and averaging of errors because the point is located at substantially equivalent distances from each limit. The error of the calculated position is less affected by the error of a limit by choosing a reference point equidistant from the limits.
[0029] According to one embodiment, the second vector is defined parallel to the axis joining two positioning markers or parallel to the axis intersecting the two verticals passing respectively through each of the positioning markers, said positioning markers being chosen on either side of magnetic north. One advantage is to create a reference frame that is agnostic to any information relating to the geometry and / or topology of the location in which the terminal operates.
[0030] According to one embodiment, the first virtual object is selected from: • A memory of the electronic terminal; • A memory of the positioning beacon is accessible from the terminal electronic by activating a data exchange implemented via a WIFI or Bluetooth connection; • A memory of a remote server accessible from the electronic terminal by activating a data exchange implemented by a WIFI or Bluetooth link.
[0031] According to one embodiment, the first UWB signal emitted by the electronic terminal or at least one positioning beacon is a message from a two-way UWB data exchange sequence, known as "Two way UWB ranging", in which a time-of-flight measurement allows the distance between the electronic terminal and the positioning beacon to be calculated.
[0032] According to one embodiment, the first UWB signal emitted by each positioning beacon is a message from a unidirectional UWB data transmission sequence in which a measurement of the arrival time of the received message allows the distance between the electronic terminal and each positioning beacon to be calculated. The initial distance calculation is based on a prior synchronization of the clocks of the first electronic terminal and the positioning beacon. An advantage of this embodiment is that it improves the accuracy of the estimates based on more reliable measurements.
[0033] According to one embodiment, the first UWB signal emitted by the electronic terminal is a message from a UWB data transmission sequence in which a plurality of positioning beacons are configured to measure the distance between each beacon and the terminal. Based on the differences in arrival times of the first signal between pairs of positioning beacons, the distance of the electronic terminal relative to the positioning beacon is calculated. The advantage of this embodiment is that it allows the calculations to be performed by the positioning beacons themselves. The beacons have additional information about their respective positions, which can lead to greater accuracy in the terminal's position estimates.
[0034] According to one embodiment, the virtual object is defined by a plurality of points and surfaces delimiting a region associated with a Cartesian coordinate system and comprising a 3D representation that can be generated on the display of an electronic terminal from a given viewing angle. One advantage is that it allows the virtual object to be oriented relative to a real scene in which vanishing lines or lines of real objects can be deduced. It is then possible, for example, to position a surface of a virtual object with respect to other surfaces of real objects.
[0035] According to one embodiment, the step of calculating the first anchoring position This includes assigning at least one initial 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. One advantage is obtaining greater positional accuracy when a user targets the virtual object.
[0036] According to another aspect, the invention relates to a computer program product comprising at least one calculator and a memory and including 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 process of the invention.
[0037] According to another aspect, the invention relates to a computer program product comprising at least one calculator and a memory and including instructions which, when the program is executed by a computer, lead the latter to implement the steps carried out by the positioning terminal of the method of the invention.
[0038] According to another aspect, the invention relates to a system for positioning at least one virtual object anchored to a position in 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 optics, a given position in real space, said system comprising: • At least three positioning terminals including a memory and a computer and a first communication interface for transmitting messages by radio; • An electronic terminal with a second radio communication interface;
[0039] the positioning terminals and the electronic terminal being configured to implement the method of the invention. Brief description of the figures
[0040] Other features and advantages of the invention will become apparent from the following detailed description, with reference to the accompanying figures, which illustrate:
[0041] [Fig-1]: an example of generating a reference frame of a system according to the invention comprising three positioning terminals;
[0042] [Fig.2]: an example of an implementation of the method of positioning an electronic terminal in the reference frame for anchoring a virtual object;
[0043] [Fig.3]: an example of determination by the electronic terminal of a set of probable positions of each positioning beacon, said probable positions forming a cloud of points;
[0044] [Fig.4]: an example of terminal positioning according to a first positioning technique by emitting positioning messages from a terminal to the positioning terminals;
[0045] [Fig.5]: an example of positioning a terminal according to a second positioning technique by emitting positioning messages from the positioning terminals to an electronic terminal;
[0046] [Fig.6]: an embodiment of the invention in which a second user terminal is used to view a virtual object anchored by a first terminal in the reference frame;
[0047] [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;
[0048] [Fig.8]: an example of steps implemented according to an embodiment of the process of the invention;
[0049] [Fig.9]: an example of a system of the invention comprising communication between a main terminal and a terminal;
[0050] [Fig. 10]: an example of a sequence of bidirectional UWB data exchange between the positioning beacon and the electronic terminal of the invention. Description of the invention Definitions
[0051] In the following description, a "virtual object," denoted OBV, is defined as an object having a digital representation within 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 is particularly useful in an indoor environment, that is, an enclosed space where satellite positioning such as GPS is difficult to achieve.
[0052] A virtual object (VO) can be considered a digital object viewable and / or editable by means of a computer, preferably having a two-dimensional or three-dimensional geometric representation. However, an object such as a tag that can be activated to trigger the playback of media is also considered a virtual object within the scope of the invention. The term "virtual object" refers to an object represented as a superimposition of real elements of a real interior scene; this real interior scene may, for example, include a sofa, a wall, a table, etc.
[0053] The initial reference frame, calculated from the relative positions of the positioning limits, is called Ro. That is to say, this frame is not linked to an absolute position in space. It is oriented according to data arrangement of positioning markers between them such as the distances separating two positioning markers.
[0054] The estimated reference frame Ro' is denoted the frame estimated by an electronic terminal from an estimation of the terminal positions. The estimated frame is a frame linked to a real physical space since it is constructed from terminal positions arranged in space.
[0055] A reference frame is named Ro or Ro' in the rest of the description, both the initial reference frame Ro or the estimated Ro' depending on the context of construction of this frame.
[0056] The estimated frame Ro' may include the definition of a reference unit, which is the unit defined by a virtual reality or augmented reality system. The frame of the terminal Ti (or T2) used includes a software component for producing a virtual reality or augmented reality image superimposed on a real-world image acquired by the camera. The terminal includes an orthonormal frame with a 1:1 ratio to real space, i.e., 1 meter in reality corresponds to 1 meter virtually. Consequently, the estimated frame Ro' may include an equivalent reference unit.
[0057] The same unit reference can be used to construct the reference frame Ro, which is generated, according to one embodiment, using only the boundary data and not a terminal. Thus, the frames Ro and Ro' both include the same reference unit. This is particularly useful when placing objects or when viewing objects previously placed by another terminal.
[0058] The Ultra Wideband (UWB) protocol, also known by the acronym ULB and referred to in Anglo-Saxon terminology as "Ultra-WideBand," is called UWB. 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 emitted according to the Ultra Wideband protocol. Electronic terminal
[0059] In the following description, an electronic terminal may be a smartphone. In various embodiments of the invention, it may be any electronic device having a computer, memory, a wireless communication interface, and a display. The invention has the advantage of being interoperable and compatible with any electronic device capable of displaying virtual objects superimposed on a real environment.
[0060] In the remainder of this description, the first electronic terminal is referred to as terminal Tb. Terminal Ti is primarily used in this description to illustrate the operation of anchoring a virtual object OBV in a real environment. The second electronic terminal, capable of visualizing an object, is also referred to as terminal T2. The virtual object OBVi, previously anchored to a given position by the first electronic terminal Tb, can be used to anchor or view virtual objects. The first terminal Ti can be configured to view a virtual object, and conversely, the second terminal T2 can be configured to anchor a virtual object OBV. The terms Ti and T2 will be used interchangeably to describe examples of embodiments of the invention.
[0061] Fig. 1 represents an example of the construction of a reference frame Ro allowing the positioning of an electronic terminal TH T2 in space and allowing the positioning of a virtual object OBV in space to anchor it to a given position or to view it from said electronic terminal(s) Tb T2. Initial positioning of the terminals relative to each other
[0062] Prior to defining the reference frame Ro, the method of the invention includes an initialization phase for identifying and positioning the positioning terminals Bb B2, B3 relative 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.
[0063] A first technique for positioning the beacons relative to each other is to use a UWB messaging system to determine the respective positions of each beacon with respect to every other positioning beacon. UWB technology allows calculations of time-of-flight differences or time-of-arrival differences to determine the inter-beacon positions. Finally, when the positioning beacons are equipped with several UWB antennas, it is possible, based on their orientation, to precisely determine the direction of the UWB message originating from a positioning beacon.
[0064] A second technique for positioning the 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 emitted by one terminal and reflected by another terminal, allowing the round-trip travel times to be measured.
[0065] Other techniques for positioning the markers can be used. Typically, a manual technique for recording the positions of each positioning marker in a room or even in a hangar can be carried out by an operator.
[0066] If the positions of the positioning terminals relative to each other are known, it is more difficult for a terminal entering a place to reconstruct the precise positions of each positioning terminal in an ad hoc manner, that is to say without any knowledge of the topology of the place and the arrangement of the terminals in that place. The invention advantageously allows the construction of a reference frame Ro to optimize the positioning of objects anchored in space whose positions are referenced with respect to the terminals. Construction of the reference frame
[0067] One objective of the estimation of the reference frame Ro' is to construct a frame whose estimated center POS0' is constructed geometrically from the positions of the positioning terminals Bb B2, B3. This construction makes it possible in particular to average the positioning error of a positioning terminal made by the electronic terminal Ti, T2 entering space.
[0068] The reference frame Ro can be estimated by each terminal without prior knowledge. However, the virtual objects OBVs are positioned in a reference frame Ro. Given that each electronic terminal is likely to introduce errors in estimating the positions of the positioning markers and therefore introduce errors in defining the reference frame Ro, which depends on the position of the positioning markers, each virtual object OBV can be associated with a position in the estimated reference frame, for example, when it was first anchored by an electronic terminal, and an identifier of the device that generated the reference frame. This device can be an electronic terminal or the markers themselves.
[0069] Indeed, when an electronic terminal Tb T2 enters a location equipped with positioning beacons Bb B2, B3, it is possible to determine its position by trilateration through the transmission of positioning messages, for example, using the UWB protocol. When terminals Tb T2 have only one UWB antenna, the estimation of the direction of the signal from the positioning beacons B1, B2, B3 is approximate. Therefore, it is sometimes necessary to perform a process of estimating the position of the beacons several times to make the position of each beacon converge with respect to the terminal. One problem with ad hoc real-time positioning calculations by a terminal is the potential for positioning errors of a beacon relative to the terminal. This error can also cause errors in the positioning of a virtual object.
[0070] It therefore appears that defining a geometric position established by the set of position estimates of the positioning markers BH, B2, B3 makes it possible to place the reference frame Ro in a region of interest and then estimate the direction of the virtual object OBV to be positioned. This region of interest allows the error made in the positioning of a marker to be averaged.
[0071] Another advantage of this reference frame Ro is to facilitate the operation of transposing the position of a virtual object OBV; into the frame of the terminal in order to limit the adaptations of calculations from the position of the terminal.
[0072] Fig. 1 illustrates an example of a geometric construction of a reference frame Ro which is permanent, stable and minimizes errors in estimating the positions of virtual objects 0BV;. The construction of the reference frame Ro comprises different steps.
[0073] A first step aims to construct the vertically oriented vector defined by V1A. This vector Via can be defined using the accelerometer of the electronic terminal Th T2. The vertical axis, oriented in a direction opposite to the direction of the gravitational force, has the advantage of being common and reconstructible by any electronic terminal equipped with an accelerometer. This vector can be normalized to an orthonormal vector and thus normalized.
[0074] A second step involves choosing an axis connecting two positioning limits, here represented by the line d23 passing through limits B2 and B3. This axis allows us to define, for example, a normalized oriented vector, here represented by the vector V lb-
[0075] In order to select the positioning markers determining this first axis d23, the positioning markers with the lowest identifier can be chosen, or the two positioning markers on either side of magnetic north. One advantage is that this allows the construction of an ad hoc reference frame that any terminal can reconstruct. To this end, this axis can be determined solely by the terminal receiving the positioning messages from the positioning markers Bb, B2, and B3.
[0076] According to a first example, the compass of terminal Tb T2 can make it possible to discriminate the two positioning terminals located on either side of magnetic north N. This solution allows any terminal to construct the same vector Vlb regardless of the placement of the positioning terminals Bb B2, B3.
[0077] According to a second example, a rule consisting of considering the identifiers of the beacons having a given property allows the terminal TH T2 to reconstruct the d23 axis. 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 beacon. A trilateration positioning mechanism involving the exchange of UWB messages between, on the one hand, each positioning beacon and, on the other hand, the electronic terminal requires, at a minimum, that the transmitted data bits encode a positioning beacon identifier or, more generally, information allowing one beacon to be identified with respect to another beacon. When a terminal enters a zone, it receives three positioning messages from the three positioning beacons B1, B2, and B3. The terminal is able to decode the messages and compare the identifiers with each other.Two bounds can then be chosen following a step of calculation and comparison of the identifiers of . Positioning markers. Again, this method allows us to avoid knowing the topology of the location, the arrangement of the markers, and the system architecture present in the location.
[0078] A third step involves constructing the third reference vector ViC of the reference frame Ro, which is obtained by the cross product of the first reference vector V1A and the second reference vector V1B. One advantage is that a reference frame Ro can be constructed using only the data received from the positioning terminals Bb, B2, and B3 from the positioning messages.
[0079] One advantage of the UWB protocol is that it allows the use of short positioning messages, enabling accurate estimation of the distance between a beacon and the terminal. Consequently, these messages may, for example, contain only a beacon identifier. The construction of the reference frame Ro has the advantage of not requiring any prior calculations performed by the positioning beacons Bi, B2, B3.
[0080] The initialization step allows for better calibration of the positions of the positioning terminals Bb B2, B3 with respect to each other, but the electronic terminal Tb T2 entering a place equipped with positioning terminals Bb B2, B3 may not know any prior information to reconstruct the reference frame Ro.
[0081] The calculation of the vectors ViA, ViB, V[C of the reference frame Ro can depend on the number of detected positioning points. In one example, only three positioning points are retained. In another example, the received signal strength can be used to retain the three positioning points closest to the terminal. In yet another example, the two positioning points B2, B3 framing north N are retained by default, as shown in [Fig. 1]. In this latter case, the positioning point Bb furthest from the axis of the first two retained positioning points B2, B3 is also retained. In yet another case, the positioning point located closest to the median axis between the two points is retained, which also corresponds to the case of point Bi in [Fig. 1].
[0082] Other solutions allow the positioning limits of interest to be retained in order to calculate a default reference frame Ro. In some cases, different reference frames Ro are calculated in order to assess the position of virtual objects arranged in space according to where the electronic terminal is positioned.
[0083] In order to generate an estimated reference frame Ro' that is as optimized as possible for performing the calculations of the positions of the virtual objects OBV; by the terminal Tb 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' includes a center POS0 which results from a geometric construction of the set Estimated positions of positioning markers Bb, B2, and B3 are used. One advantage is avoiding inaccurate positioning of markers by an electronic terminal. This error could bias the subsequent positioning of the virtual object OBV, which is then displayed on the electronic terminal's screen.
[0084] According to one example, the geometric center, such as the barycenter of the positioning limits Bb B2, B3, is considered as the center of the reference frame Ro.
[0085] This geometric center is all the more precise as the number of bounds considered is greater. According to one embodiment, the barycenter of 4 positioning bounds is considered.
[0086] 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 calculations of positions of the virtual object OBV; anchored or to be anchored in space.
[0087] According to one embodiment, different geometric centers can be calculated depending on the bounds considered. One advantage is to offer the terminal virtual objects positioned according to different coordinate systems Ro so that the terminal can best position the virtual object.
[0088] According to other embodiments, the position of the center POS0 of the reference frame Ro can be obtained from a linear combination of the different positions of the positioning terminals BH B2, B3. This embodiment allows, for example, certain positioning terminals to be weighted against other positioning terminals and thus to give them greater importance in the calculation of the geometric center. This can be particularly advantageous when a positioning terminal has a specific positioning or when its signal power allows it to achieve wide area coverage. Thus, the positioning terminal in question can provide better positioning accuracy as measured by an electronic terminal and therefore be more representative in the calculation of the position of the center of the reference frame Ro.
[0089] According to one embodiment, the reference frame Ro constructed by the positioning beacons B2, B3 is stored in a remote server. According to another embodiment, the remote server is accessible by an electronic terminal Ti or T2. In this case, the reference frame Ro can be accessed via a NET1 or NET2 data network in order to place or read virtual objects in space within the reference frame Ro-
[0090] Estimation of the terminal position by the terminal
[0091] Figure [Fig. 2] represents an electronic terminal Ti receiving posi messages The operation of each of the positioning beacons BH B2 and B3. By analyzing the differences in time of flight or the differences in time of arrival of each message received from each beacon, terminal Ti can draw up a map of the probable circles of presence of each of these beacons. When terminal Ti is equipped with a UWB antenna, it includes means to analyze the direction of transmission of the positioning message emitted by each beacon and received by terminal Th. The direction vectors are denoted VB1, VB2, VB3 in [Fig.2].
[0092] 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.
[0093] The invention can also be implemented with a "reverse TDOA" type method, for example described in patent document WO2022158632.
[0094] However, depending on the quality of the antennas, their arrangement, the position of the terminal in the user's hands, and their number within the electronic terminal Tb, the inaccuracy can lead to an estimation with a more or less significant error depending on the specific case. In [Fig. 2], an uncertainty angle Beta1 is shown for evaluating the direction of terminal B1 by terminal Tb, an angle Beta2 for evaluating the probable direction of terminal B2, and a third uncertainty angle Beta3 for evaluating the direction of terminal B3.
[0095] Due to the imprecision in estimating the positions of the positioning terminals B1, B2, B3, the resulting position of the terminal Th in the reference frame R0 is also inaccurate. The electronic terminal Ti is then in a zone Zj of uncertainty with respect to the positioning terminals B2, B3. This uncertainty zone Z results from all the angle and distance estimation errors measured between the electronic terminal Ti and each positioning terminal B2, B3. It should be noted that the representation of this uncertainty zone Zj is only meaningful 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 B2, B3 as perceived by the electronic terminal during the acquisition of the positioning messages.The Zi zone is therefore an abstract construction of uncertainty zones formed by the set of uncertainty zones of each positioning boundary in a fictitious reference frame.
[0096] The uncertainty zone Zi can also be a real uncertainty zone when the positioning is operated by the positioning terminals Bb B2, B3 by combining all the probable positions of the electronic terminal estimated by the positioning terminals.
[0097] When the terminal Ti comprises a plurality of UWB antennas arranged according to different In different directions, the angle of uncertainty can be reduced, and the direction of a positioning beacon can be estimated with greater accuracy. However, the heterogeneity of electronic terminal models, such as smartphones, prevents the solution of the invention from relying on sufficient means to accurately deduce the beacon's direction in all cases. Indeed, some devices have only one UWB antenna, while others have several. In other words, the method of the invention overcomes the limitations of the terminals to allow each one to estimate its position within the positioning beacons Bb, B2, and B3. The invention thus addresses this problem by estimating the position of the positioning beacons Bb, B2, and B3, for example, by iterating the process several times, including when the terminal is moving.This solution allows for rapid convergence towards an accurate estimate of the terminal's position relative to its current position in the terminal's coordinate system. According to this solution, a plurality of predicted positions are estimated for each terminal. The terminal can then implement a position estimation step for each positioning terminal. Each terminal is represented by a point cloud, where each point corresponds to a position estimate performed by the electronic terminal. A statistical average can be calculated to determine the most probable position of the positioning terminal in question.
[0098] Figure 3 shows an example of determining a set of probable positions, denoted POSBip, POSB2p, POSB3P, for each positioning beacon Bb, 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 for each beacon.
[0099] Several sorting methods are then used to remove points that are isolated from the other estimated points or points considered to be erroneous data. For 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.
[0100] This reliability depends on several criteria, including for example: • the distance from the point to the electronic terminal; • the orientation of the electronic terminal relative to the point and vice versa; • the orientation of the electronic terminal relative to the horizontal axes and vertical; • the presence of obstacles on the trajectory and; • disturbances due to the presence of metallic elements close to the trajectory.
[0101] When the weights have been calculated and assigned to each point, the method of the invention makes it possible to calculate a centroid using a weighted average of the vectors positions of each point in the cloud. This barycenter allows us to define the most probable position of the terminal in the coordinate system of the electronic terminal.
[0102] 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.
[0103] An example of implementing an algorithm for determining the position of a marker and dividing the space into cubes. Each cube has a presence coefficient for a marker, initially equal to zero. When a message signed by a marker is received by the terminal, the coefficients of all cubes intercepting the position sphere of the identified marker are incremented. The calculation is performed a plurality of times, taking into account the terminal's movements. A reference position can be taken based on the terminal's movement data, for example, by considering variations in the gyroscope and accelerometer. Thus, iteratively, each cube intercepting the position sphere acquires an incremental value for its 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 boundary can be deduced. In more complex cases, it is possible to apply an algorithm to estimate the position of the boundary when different cubes have similar coefficients. Finally, it is also possible to rerun the algorithm or acquire new position spheres to refine the accuracy of the measurement.
[0104] Figure 4 represents a terminal Ti moving within a space where positioning markers Bb, B2, and B3 are arranged. As the terminal Ti moves along a path TRb, several successive estimations allow the probable area of presence of each positioning marker Bb, B2, and B3 to be limited in space. In particular, the overlap of each of the spatial portions defined by the angular uncertainty portions, such as Betab calculated successively on either side of the vector VB1 in this example, allows for an increasingly precise definition of the positioning marker Bi, and similarly for each of the other positioning markers Bb, B2, and B3. Knowing the positioning of the positioning markers Bb, B2, and B3, the terminal Tb can then automatically estimate the estimated reference frame Ro'.The different positions of the electronic terminal Ti are noted POSb. The anchoring position of a virtual object OBVi is noted POSA-.
[0105] When the uncertainty angles are unknown because the terminal does not have the means to analyze these angles and only the terminal positions are measurable because the terminal's UWB chip only provides the distance between the positioning terminal and the terminal, the method of the invention makes it possible to apply an algorithm allowing to estimate the position of the positioning markers while reducing measurement errors.
[0106] The method of the invention makes it possible to take into consideration the errors related to disturbances in the trajectory of the signal due to the presence of nearby obstacles, to disturbances related to the influence of the orientation of the electronic terminal with respect to the positioning beacon, to disturbances related to the presence of the user between the electronic terminal and the positioning beacon, etc.
[0107] The method of the invention includes a step for sorting the received data. Using a filter, the method eliminates data that appears erroneous, such as out-of-range data, aberrant data, or inconsistent data in the stream of data received by the terminal. An indicator can be calculated that reflects the change in distance between the terminal and a positioning beacon, for example, if this change varies too significantly between two successive measurements, taking into account the terminal's movement, which is known in real time.
[0108] The method of the invention may include a data smoothing step by comparing the data obtained at various positions. A displacement of the electronic terminal of 20 cm should not result in a change in distance of more than 20 cm. This distance gradient analysis with respect to position is performed on all successive positions of the electronic terminal for each data point received. This operation can be carried out in three dimensions. An algorithm then allows all the data points to be compared with each other and recalibrated.
[0109] 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 beacon Bb B2, B3.
[0110] Improved positioning with the initial reference frame
[0111] In the case where the electronic terminal Ti accesses the parameters of the initial reference frame Ro stored in a remote server and previously constructed by the positioning beacons, it can use this frame to position itself in space when it detects the position of the positioning beacons. The comparison of the initial reference frame Ro with the reference frame estimated Ro' by the terminal can also be used to recalibrate the virtual positions of the positioning beacons estimated by the terminal in order to reduce the observed estimation discrepancies and increase the accuracy of the localization of virtual objects.
[0112] In the case where the terminal can, for example, only retrieve the physical data of the positioning markers, i.e., the inter-marker distances and the ground heights of said positioning markers, the terminal is able to recalibrate the estimated positions of the markers. This data can, for example, be retrieved from the by means of the terminal identifiers and a remote server having this data.
[0113] An improvement to the virtual positions of the terminals is to move these virtual positions so as to get closer to the actual physical configuration of the positioning terminals.
[0114] Furthermore, it is possible to retrieve 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.
[0115] The method of the invention then includes a step comprising a recalibration of the virtual positions, taking into account the relative distances of the positioning markers from each other and the height of the positioning markers relative to the ground. The method may also take into account the presence coefficient of a cube or the weight of a point in the point cloud to perform the recalibration corresponding to the most probable arrangement of the markers relative to each other.
[0116] According to one embodiment, the method includes an image detection component that allows points or cubes to be weighted more heavily if a positioning beacon is automatically recognized by the terminal's optical sensor. Similarly, the use of a LiDAR can improve the algorithm for reconstructing the positions of the positioning beacons.
[0117] Fig. 4 represents the reference frame Ro reconstructed by the terminal Ti from the successive estimations made along the path Tri of the positions of each of the positioning markers Bb B2, B3. It is recalled that the positions of the positioning markers are fixed in space.
[0118] One advantage of the solution of the invention is that it eliminates the statistical positioning error made on each positioning beacon by considering, for example, the centroid of the positioning beacons. By performing a geometric mean to calculate the center of the reference frame Ro, the average of the errors makes it possible to limit the effects related to an error considered, for example, on the position of a beacon. Indeed, if the center of the reference frame Ro had been chosen to be equal to the position of a positioning beacon, the positioning of a virtual object OBV would have been directly impacted by the estimation error made by the terminal on the position of the positioning beacon. In fact, the accuracy of estimating the distance to a beacon can be on the order of several tens of centimeters.Therefore, there is a real advantage to considering a characteristic position such as the barycenter of bounds in order to limit the errors that could be made by a bound serving as a reference for the frame of reference. Case where the bounds perform the estimation
[0119] Figure 5 represents a scenario in which the positioning terminals Bb, B2, B3 perform the estimation of the position of terminal Tj in space from the Reception of positioning messages transmitted by terminal Tb. Since they know each other's positions, the reference frame Ro is known by at least one of the positioning terminals. In this embodiment, it is the positioning terminals that receive a positioning message from the electronic terminal Th. However, this mode implies regular transmission by terminal Ti to the positioning terminals, which may not always be the case.
[0120] Thus, the invention is free from 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 modes of operation are possible in the process of the invention.
[0121] An advantage of the mode in which the electronic terminal transmits positioning messages to the positioning beacons is that the estimation of the electronic terminal's position by the positioning beacons is an accurate estimate, since the positioning beacons often include several UWB antennas, which makes it possible to discriminate between the transmission directions of the positioning messages emitted by the terminal.
[0122] In this latter operating mode, the terminal's position in the reference frame Ro is then used by the terminal Ti through a mechanism that allows the terminal Ti to receive this position. This POSi position can, for example, be transmitted directly by one of the positioning beacons, referred to as the central positioning beacon. In this first mode, the connection can be established by a UWB transmission. In a second mode, the acquisition of the terminal's POSi position by the terminal can be achieved through transmission from dedicated equipment connected to at least one of the positioning beacons, the transmission being carried out via a Bluetooth or Wi-Fi connection or any other wireless data connection.According to a third method, transmission can be carried out via a remote server connected on the one hand to at least one positioning beacon via a data network or to equipment itself connected to one of the positioning beacons, and on the other hand to terminal T i which has subscribed to a service with this remote server. The connection can then be established via a data transmission protocol based on a Wi-Fi or 3G / 4G infrastructure.
[0123] It is understood that in the operating mode where the terminal receives positioning messages from the positioning beacons, this solution does not require any return signal to acquire the position of terminal Tb, as the latter can reconstruct its position and the reference frame Ro in an ad hoc manner. In the second operating mode, the position of terminal Ti calculated by the positioning beacons is necessarily retransmitted by a device so that terminal Ti can then visualize a virtual object OBV in its own reference frame.
[0124] Depending on the scenario, the reference frame Ro is stored on a server. Alternatively, only the data specific to the markers and their respective distances to each other are stored on a remote server. This information can then be reused by another terminal to consolidate either the position of the positioning markers estimated by the terminal, or its estimated position within this reference frame, or the position of a virtual object in the reference frame Ro. Case of incorrect marker detection
[0125] When a positioning beacon is not detected by the terminal, it is possible to use the data recorded on the server describing the physical data between the positioning beacons to reconstruct the position of the missing positioning beacon based on the positions of detected positioning beacons.
[0126] In order to reconstruct the position of the missing marker, the method of the invention includes a step of calculating the centroid between these virtual positions of the estimated positioning markers. Then, the method includes a step of calculating the centroid between the positions of the markers recorded in the data server. Finally, the method includes a step of calculating the vector between the centroid of the marker positions recorded in the server and the position of the center of the POS0 reference frame recorded in the server. The method then adds the previously calculated vector to the first centroid to determine the position of the center of the adjusted reference frame. Anchoring a virtual object
[0127] The invention enables an electronic terminal Ti to anchor a virtual object OBV to an anchor position POSA. To this end, the method of the invention allows the terminal Ti to access a library of virtual objects OBVs or to create the latter in order to select it at a given position in space. The anchor position POSA is preferably the position of the terminal Ti at a given time. In a preferred mode of operation, a user moves within a given area to a desired anchor 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.
[0128] The calculation of the terminal position and / or the anchoring position can be consolidated by taking into account additional knowledge about the position along the vertical axis of the terminal.
[0129] According to a first example, the anchoring height corresponds to the position along the z-axis calculated from the positioning of the terminal by trilateration.
[0130] According to a second example, a predefined height is automatically associated with this virtual object. This feature provides all the information needed to anchor an OBV virtual object in space. For example, a height of 1m20 can be predefined and associated with all virtual objects. According to another example, the default height is set to 0 relative to the floor level. According to yet 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 data that the user wishes to specify during the initial configuration.
[0131] According to another example, the height of the person recorded in a configuration phase allows the average height of the terminal to be deduced during its average use. This height can be used by default.
[0132] According to one embodiment, the height is a variable data point dependent on the selected class of virtual objects. For example, if the virtual objects are classified according to 3 classes: furniture, display, other, it is possible to associate 3 predefined heights respectively: {0; lm60; lm20}.
[0133] One advantage is to allow a default average positioning of the object's height within the room. A software function can allow this height to be modified once the virtual object OBV is anchored in the room.
[0134] The positioning terminal includes a memory in which are recorded all the associations of the virtual objects OBV; whose positions it has associated.
[0135] According to one embodiment, the anchoring activation is performed by a digital command generated from the interface of the electronic terminal Tb. Numerous embodiments of the invention may be compatible in which a variety of virtual object selectors and / or a variety of anchoring activation means are implemented. For example, a touch command may be used to activate the anchoring of a virtual object OBV to an anchor position POSA.
[0136] According to one embodiment, the activation of an anchor is achieved by the emission of a UWB signal by the terminal.
[0137] According to a first example, a signal is emitted by the terminal to the positioning beacons. The signature of the emitted signal allows the positioning beacons to calculate the position of the POSi terminal and therefore the corresponding POSA anchor position, and possibly to decode an identifier of an anchored virtual object.
[0138] According to a second example, a signal is emitted by the terminal to a remote server. In this case, the virtual object OBV is identified by the terminal Ti and by a remote server accessible from the terminal Th. In this scenario, the remote server receives, from a transmission from the terminal Tb via a data network, a message or notification indicating the identifier of the virtual object OBV, as well as its anchor position within the reference frame Ro. In this scenario, the terminals Positioning devices do not necessarily have knowledge of virtual objects. In this case, positioning beacons are a means by which the terminal can construct a reference frame Ro.
[0139] Fig. 6 represents 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 anchor position POSA.
[0140] According to a first embodiment, the reference frame Ro is reconstructed directly by the terminal T2 by sending positioning messages to the positioning terminals Bb B2, B3. Figure 6 shows the position circles of the messages sent by the positioning terminals Bb B2, B3. The circles represent cross-sections of the position spheres of the terminals. Figure 6 shows 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 shown, as well as the position of the anchor point POSA.
[0141] According to a second embodiment, the terminal T2 reconstructs the reference frame Ro by receiving position messages from the positioning terminals Bb B2, B3. As described previously, when the messages are emitted by the positioning terminals Bb B2, B3, trilateration allows the electronic terminal T2 to estimate the position of each positioning terminal Bb B2, B3.
[0142] Terminal T2 is equipped with a display and a software component for displaying a virtual object OBV superimposed on an image of a real scene acquired by a lens of the second terminal T2. The software component analyzes the position and orientation of terminal T2 in real time to generate a virtual object OBV within the display of terminal T2. This virtual object is drawn from a database of virtual objects, each containing a position associated with the location of terminal T2. The position of the virtual object is already indexed in the reference frame Ro by a previous terminal, such as the first terminal Tb. 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.
[0143] According to an example case, the second terminal T2 includes a software component enabling the transposition of the position of a virtual object OBV; initially expressed in the reference frame Ro within the frame of the electronic terminal T2.
[0144] Figure 7 illustrates an example of a user entering a room containing various real objects, such as a table 11. The user seeks to view a virtual object OBVi that has been placed against a wall 10. This virtual object OBVi could be, for example, an image, a plan, a note, or a map positioned on the wall at an anchor position POSA. The anchor position POSA corresponds to the position at which a previous user with a Ti terminal decided to anchor the OBVi virtual object.
[0145] When terminal T2 reconstructs the three positions of each terminal Bb B2, B3, it is able to estimate the vectors VjA, ViB, Vie and the estimated position POS0' of the center of the frame in order to reconstruct an estimated reference frame Ro'. The user is at a position POS2 in the estimated reference frame R0'.
[0146] In the example shown in [Fig. 7], it is noted that the vector ViB is parallel to the line intersecting the two vertical lines passing through the terminals Bi and B2. Thus, the invention also relates to this embodiment in which a reference vector ViB is either parallel to the line joining the two positioning terminals Bi, B2, or parallel to the line inscribed in a horizontal plane and intersecting the two vertical lines passing through each positioning terminal Bb B2. Here, the positioning terminals BH B2 located on either side of magnetic north N were chosen, while being as close as possible to the vertical axis in the direction of magnetic north.
[0147] According to another mode, as stated previously for terminal Tb, terminal T2 can alternatively or jointly with this mode obtain the reference frame Ro by querying a remote server in which the frame has been previously recorded after the initialization and calibration phase of the positioning terminals between them.
[0148] In this example, the virtual object OBVi is located in the Ro coordinate system and was placed by a previous user using a previous terminal Tp. The second terminal has access to a set of virtual objects stored in a database and to their position in the Ro coordinate system. Terminal T2 can then automatically transpose the coordinates of the virtual object OBVi, which is accessible via the second terminal, into the coordinate system of that second terminal. Since the second terminal knows its real-time position in the Ro coordinate system, it is able to deduce the direction in which the virtual object OBVi is located.
[0149] The second user, now holding the second terminal T2, can view the virtual object OBVi on their display when they point the optics of their terminal towards the POS A direction. This example illustrates that the positioning error of the virtual object OBVi is reduced from the user's viewing position. Indeed, if the center of the reference frame were located on a positioning beacon, the direction error would be more pronounced 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
[0150] Figure 8 shows the step diagrams of the process of the invention. A first diagram represents the initiation phase INIT0 corresponding to the calibration of the positioning terminals relative to each other. One advantage is that it allows for... position checks between 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.
[0151] For example, when a calculation error of a position of a positioning beacon is made by a plurality of terminals at times, the positioning beacon which knows its real position can, for example, either automatically recalibrate its position or apply corrective factors to take into account this error and correct it.
[0152] According to another embodiment, when a calculation error of a position of a positioning beacon 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 beacon, for example by changing the weights of the linear combination of the construction of the position of the reference frame as a function of the position of the positioning beacons.
[0153] The first diagram also includes a step called GENi for generating the reference frame Ro using the positioning limits. This step can be optional if the positioning limits are not used to verify the positions of the virtual objects OBVi that are positioned in space.
[0154] According to one embodiment, the reference frame Ro constructed by the positioning beacons can be modified according to other geometric construction rules. Typically, the axes between the beacons for determining the vector ViB or the estimated geometric center POS0' can be constructed in different ways. When a change in construction rules is applied, it is necessary that each electronic terminal subscribing to a virtual object access service be able to retrieve the new construction rules. To this end, a remote server allows the pending rules in use to be stored.
[0155] One possible advantage of this solution is to construct different reference frames Ro in order to determine the most effective one in detecting the position and / or direction of virtual objects.
[0156] According to one embodiment, in a building under construction or a warehouse with numerous pieces of equipment, the performance of the installed positioning markers may be affected. Therefore, the invention includes means for reconfiguring said markers so that a new reference point can be determined.
[0157] Test terminals can be used to test a plurality of estimated reference frames Ro' with the reference frame Ro calculated by at least one positioning bezel and from the other positioning bezels.
[0158] A performance indicator can help determine what the new reference frame Ro.
[0159] A second diagram illustrates the sequence of steps performed by an electronic terminal Ti entering a space equipped with positioning beacons B1, B2, B3. The first step, denoted TR1, initiates a mechanism for transmitting and / or receiving positioning messages exchanged between the electronic terminal Ti and the positioning beacons B2, B3. This step generates the estimated reference frame Ro' and determines the terminal's position within this estimated reference frame. An anchoring step, denoted ANCi, anchors a selected virtual object to a given position within this reference frame Ro'. The anchor position POSA is then transmitted via a communication interface from the terminal Ti to a remote server, dedicated equipment, or one of the positioning beacons, depending on the embodiment implemented. This transmission step is denoted TRn.
[0160] A third diagram is shown in [Fig. 8]. This diagram describes the steps carried out, in particular, by a second terminal T2 entering the room equipped with positioning beacons BH B2, B3 and wishing to detect and visualize a virtual object OBV, which has been previously anchored by the first terminal Th. A first step, denoted TR2, enables the transmission and / or reception of positioning messages exchanged between, on the one hand, the electronic terminal T2 and, on the other hand, the positioning beacons Bb B2, B3. The process includes a second step, denoted 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 Ro defined by the positioning beacons or the frame Ro' estimated by the first terminal and theoretically identical to the frame Ro.A third step, TPi, aims to transpose the virtual object OBV into the coordinate system of the second terminal, T2, in order to display it when the latter points in the direction in which the virtual object OBV is positioned. The final step is a display step, AFFi, of the virtual object OBV on the display of the second terminal, T2. System architecture
[0161] Figure 9 represents a system according to the invention comprising a plurality of positioning terminals Bb, B2, B3, and a terminal Tb. The electronic terminal Tb is, for example, a smartphone, a tablet, or a connected object such as a smartwatch, smart glasses, or a smart headset. The electronic terminal Tb comprises, at a minimum, a computer, memory, optics, a display, and a wireless communication interface. The display allows the image of a selected virtual object (OBV) to be superimposed on the image acquired by the optics of the electronic terminal Tb.
[0162] Each positioning terminal Bb B2, B3 comprises a powered housing arranged in a place such as an enclosed room, a hangar, or any other place that may be of interest for the application of the invention.
[0163] These last positioning beacons Bb B2, B3, and the electronic terminal Ti are capable of establishing wireless data links Lb L2 as shown in [Fig. 9]. The wireless link Li is activated according to a wireless data exchange protocol such as Bluetooth, Wi-Fi, UWB, or LoRa. Any other wireless data transfer protocol may be implemented.
[0164] When the Li link is a Bluetooth Low Energy type link, whose acronym is BLE, the electronic terminal Ti can automatically start a procedure called “Bluetooth Advertising” following a message emitted by the positioning beacon Bb. The connection can then be established between the two devices.
[0165] According to an example embodiment, once the connection has been established and data exchanged between the two devices, a period without connection can be configured before the next automatic connection.
[0166] Depending on the protocol and the type of link used, the terminal Ti and one of the positioning beacons Bi comprise an electronic chip enabling a data link to be established. These links are preferably bidirectional. However, the invention can use a unidirectional link in embodiments where such a link is sufficient to pair the two devices.
[0167] According to one embodiment, the method of the invention allows the terminal Ti to be paired with at least one positioning beacon Bb, in particular to exchange identifiers, possibly calibration data such as reference angles and / or clocks, before exchanging information subsequently. Other data can be exchanged, such as equipment identifiers, network identifiers, application identifiers, or user identifiers. In addition, the following data can also be exchanged between the two devices: data specific to the hardware configurations of the devices, the data rate of the protocol used to establish the data link, the software version types of the devices, or data related to user or device access rights.
[0168] The L2 link is a link established using the UWB protocol. This protocol is also named after the UWB frequency band which is used to exchange data between each positioning beacon Bb B2, B3 and the terminal Tb
[0169] According to one embodiment, the L2 link is bidirectional between the terminal Ti and each positioning beacon Bi, B2, B3. In this case, this L2 link allows data exchange according to an exchange sequence between the terminal Ti and each positioning beacon Bi, B2, B3, enabling the transfer of position parameters of the terminal Tb
[0170] According to another embodiment, the L2 link is unidirectional between each positioning beacon BH B2, B3 and the terminal Th. In this case, this L2 link allows a data transfer from the terminal Ti to each of the beacons BH B2, B3 in order to receive position parameters from the terminal Ti which will allow to reconstruct elements of the position POSi with a clock synchronized between each positioning beacon Bb B2, B3 and the terminal Ti and / or with a clock synchronized between the positioning beacons with each other.
[0171] Fig. 9 also represents NETi and NET2 data networks.
[0172] According to a first embodiment, the terminal Ti is connected to a mobile network such as a 5G data network, LTE with 4G or 4G+ or GSM / EDGE, CDMA2000, TD-SCDMA, UMTS, 3G, H or H+.
[0173] According to a second embodiment, the terminal Ti is connected to a Wifi network, for example the local network accessible from a Wifi access point.
[0174] In both cases, the Ti terminal is connected via the mobile network or the Wi-Fi network to a data network such as the internet so that the Ti terminal can access data from a remote SERVi data server. The Ti terminal includes communication interfaces adapted to implement these data links to receive and transmit data to one or more remote servers.
[0175] For each positioning beacon Bb, the same two types of network interfaces can be implemented. In one embodiment, a single positioning beacon Bi may, for example, include a Wi-Fi interface for connection to a Wi-Fi device that is itself connected to the internet. Alternatively, it may be directly connected to the internet or configured to connect to a mobile network as previously defined. In this latter case, the positioning beacons communicate with each other via a data protocol.
[0176] According to one embodiment, the SERVi server includes, for example, a library of 2D or 3D digital objects or data relating to media. These digital objects are also referred to as virtual objects in the remainder of the OBV description;.
[0177] Depending on the different embodiments, this library is accessible: • from the electronic terminal T i via a communication interface, such as than a mobile or Wi-Fi interface; • from one of the Bi positioning terminals via a communication interface, such as a mobile or Wifi interface, the Ti terminal can then access the digital object library via the Lb link such as Bluetooth or Wifi. • From a device connected to a data network and the terminal.
[0178] According to various embodiments, the terminal Ti and / or a positioning beacon Bi B2, B3 can access different remote servers such as the servers SERVi, SERV2 shown in [Fig. 9]. In the example in [Fig. 9], the server SERVi is a remote server containing a database of virtual objects OBVi, and the server SERV2 is a remote server enabling access control to the services delivered to the positioning beacon Bb. Thus, according to one embodiment, each positioning beacon Bi registers a set of virtual objects OBV, which have been previously anchored and whose positions in the reference frame Ro are known. According to another embodiment, the terminal registers a set of virtual objects OBV, whose positions in the reference frame Ro it knows.
[0179] In order to access these virtual objects (OBVs), a third party equipped with a second electronic terminal T2 can locate an object placed in a previously designated location. The invention allows access rights to be organized for a previously designated virtual object. For example, an individual can place an electronic sticky note, i.e., a text note, on the living room wall for their wife without the children being able to access it.
[0180] When a user with a T2 terminal accesses the virtual object OBVi previously anchored to a position POSA in a room containing a set of positioning beacons, they can view it using the display of their T2 terminal and an augmented reality software component. Access is achieved via an electronic terminal T2 by displaying the virtual object OBVi in augmented reality on the T2 terminal's screen, superimposed on the image acquired by its optics. To this end, the augmented reality software component uses the mobile terminal's coordinate system, which includes the optical axis, an axis parallel to the direction of gravity, and an axis reconstructed from these two axes, such as the cross product or an axis parallel to the terminal's principal axis. Thus, the augmented reality software component is able to generate a virtual object and its magnification, for example, depending on the terminal's position relative to this virtual object.
[0181] Access to the virtual object OBV; can be achieved via an electronic terminal T2 by accessing either directly to the positioning terminal Bi which has a user rights access control, or via a remote data server SERV2 which includes a user access module.
[0182] Access control can be performed by the SERV2 server from a Bi positioning terminal following a request from a T2 terminal.
[0183] Detection of the offset in the orientation tracking of the augmented reality software component.
[0184] The "augmented reality" function of the electronic terminal is ensured in particular by an algorithm launched from a software component of the electronic terminal. In order to To function correctly, the software component initiates, from an initial position, a continuous measurement of the electronic terminal's orientation and position. An accidental drift can occur due to a break in the continuity of data processing from the gyroscope and / or accelerometer. This phenomenon is more commonly known in English-language literature as "AR drift." It corresponds to an accidental shift in the electronic terminal's reference frame due to an error in the analysis of the augmented reality environment. The terminal moves within this reference frame without actually moving the frame itself, thanks to the analysis of the environment using the camera and accelerometer. When such a drift occurs, all virtual elements are shifted by the same amount.
[0185] One consequence is that the estimated center POS0 of the estimated reference frame Ro', as well as the positions of the estimated positioning limits, may be offset relative to the augmented reality software component. From the perspective of the electronic terminal, virtual objects are represented in the terminal's own environment and therefore in its frame of reference. However, if a shift occurs in the terminal's position 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 point POS0 into the terminal's frame of reference, is also shifted.
[0186] The method of the invention includes a function for regularly reconnecting to the positioning beacons in order to verify the distance between the electronic terminal and the positioning beacons. If large discrepancies are observed over several successive data points, an augmented reality shift is considered. The terminal's estimated positions of the positioning beacons are updated, as is the POS0 position of the reference frame Ro. Since the virtual objects are directly linked to the POS0 position of the reference frame Ro, they will then be moved accordingly. Pairing (optional)
[0187] According to one embodiment of the invention, a pairing sequence between a terminal and a positioning beacon is performed. A first step involves pairing the Tb Bi devices with each other. This pairing can be done once and for all or can be updated from time to time depending on potential drifts in certain equipment components.
[0188] During this pairing phase, data can be exchanged between the positioning beacon Bi and the electronic terminal Th, including protocol information. For example, the positioning beacon Bi transfers its configuration parameters, such as its Bluetooth BLE protocol parameters and its UWB protocol parameters, to the electronic terminal Ti. These parameters might include, for example, The BLE UUID and a UWB identifier. The electronic terminal Ti in turn sends its own parameters to the positioning beacon Bi.
[0189] According to different embodiments, the pairing sequence is initiated by the electronic terminal Ti or by the positioning beacon Bh
[0190] A retransmission sequence can then be undertaken to maintain the connection; this sequence is also called "refresh UWB" in Anglo-Saxon terminology; it consists of initiating the pairing procedure from the Ti terminal in a loop until the UWB connection is maintained.
[0191] According to one embodiment, the method comprises a step of reading a heading indication by the electronic terminal T2 from a compass, a compass, a parameter of an inertial measurement unit, or even an inertial microelectromechanical system, also called a gyroscope, arranged within the electronic terminal. Navigation systems such as AHRS (Altitude and Heading Reference System) and FINS (Inertial Navigation System), both known to those skilled in the art, can also be used within the scope of the invention.
[0192] A direction indication is commonly a direction relative to north at a given point; it is therefore a straight line passing through a point or a vector whose origin and angle with respect to a Cartesian coordinate system are known. Generally, such a component capable of reading a direction indication with respect to a reference such as magnetic north is called a "direction device." However, any reference other than magnetic north can be used. For example, it could be the azimuth obtained from a compass.
[0193] Without a terminal, the virtual object OBV; is not viewable, it is only viewable through an electronic terminal Ti having, for example, access rights.
[0194] UWB message exchange between a beacon and the terminal
[0195] Figure 10 illustrates a second solution that does not require a prior synchronization sequence between the two devices; however, this solution requires a bidirectional UWB data exchange between the two devices. This sequence is better known in the English-language literature as "Two-Way Ranging," abbreviated as TWR.
[0196] An equivalent technique based on time difference of arrival analysis, known as TDOA and referred to in the literature as "Time Difference of Arrival," can be used. This latter technique can notably be used at different positions of the terminal in space as it moves.
[0197] The invention also covers the improved TDOA technique called DL-TDOA, which in Anglo-Saxon terminology stands for "Downlink Time Difference of Arrival". This latter technique, instead of directly measuring the difference in Signal arrival time between receivers, or the same receiver at different positions, allows us to measure the differences in signaling times between receivers, or the same receiver at different positions. Signaling includes specific messages sent by the transmitter, designed to provide synchronization information. These messages allow the receivers, or the receiver in question at different positions, to synchronize precisely.
[0198] In the embodiment where a DL-TDOA type technique is employed, the terminals simultaneously send a UWB signal, and the terminal estimates the time difference between the arrival of these signals. The terminal can then deduce the position of the terminals relative to this signal. For example, the terminal can deduce that it is positioned 2 cm closer to B1 than to B2.
[0199] 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 in the case of circles.
[0200] 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.
[0201] The electronic terminal Ti sends a "Poil" message to the known address of the positioning beacon Bi. This is called the TSP sending time of the REQi request. The positioning beacon Bi then records the Trj> reception time of the REQi request and responds with the RESi reply message at the time of sending the TSr reply.
[0202] The electronic terminal Tb, upon receiving the response message RESi, then records the time of receipt of the response TRR and composes the final message FINAL(TSp, T rr, Tsf), in which its ID, its TSP, its TRR and its final start time TSP are included.
[0203] Based on the time of reception of this final message FINAL(TSP, TRR, TSF), the positioning beacon Bi 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.
[0204] According to one embodiment, the UWB message exchange sequence includes protocol-specific information, connection times, communication times, equipment identifiers, etc.
[0205] Optionally, the resulting distance can be returned in the reporting message to the electronic terminal or any given UWB device in the vicinity. One advantage is to calculate a more precise terminal position in the case of a system with multiple positioning beacons. Experience shows that the maximum distances that can be calculated between the electronic terminal Ti and the positioning beacon Bi to initiate the TWR process can be up to several tens of meters. of meters, such as a distance of 50m, an optimal operating distance is between 1 meter and 30 meters, which allows for use cases suitable for the home or office or showrooms for example.
[0206] 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 OBV; with respect to the positioning beacon Bi. The position can be obtained by averaging the positions generated according to different UWB message transmission sequences. Use of predefined positions
[0207] According to an example embodiment, a user can save in a memory of the positioning terminal Bi some predetermined positions of the part in which a positioning terminal Bb These positions can result for example from previous anchorings made.
[0208] One advantage is that it allows for subsequent re-anchoring to a previously known position without requiring the user to move their electronic terminal to the desired location. This embodiment allows, for example, an individual to associate a virtual object OBV remotely. This association is achieved by accessing their positioning beacon Bi through user access and rights control, which can be implemented using a remote server such as SERV2. Assuming the user has access rights to positioning beacon Bi—for example, if positioning beacon Bi is located at their home—the user could select a predefined, already registered room position to associate a new virtual object OBVi selected from their terminal Ti.According to an example implementation, a 3D or 2D representation of the space allows visualization of the position in the room relative to a reference point corresponding to the positioning boundary.
[0209] This representation of the room can, for example, be created beforehand during a configuration phase. For instance, a user could move around the room covered by the positioning beacon with their electronic terminal Ti to anchor the four corners of the room so that the positioning beacon Bi can record the room's dimensions. A software function would then allow the user to define a corresponding volume representing the room and several reference points in order to position predefined locations within it. One advantage is, for example, the ability to leave a virtual object, such as a message, for a family member at home when someone moves around. Adjusting the position of a terminal
[0210] According to one embodiment of the method of the invention, a user anchoring a new virtual object OBV; at a given position of a part can adjust the position of said virtual object OBV; and its orientation in space.
[0211] This software function allows, for example, the object to be initially displayed in a 3D space. Using a touchscreen display on the Ti terminal, the user can move the virtual object OBV; within the room. The height and other positional parameters of the virtual object OBV; can thus be adjusted. The new position can then be transmitted via the Li link to the positioning terminal to update the POSi position associated with the virtual object OBV;.
[0212] According to one embodiment, the orientation of the virtual object OBV in space can be changed by the user. Similarly, this change of orientation can be performed using a touch command on the display of the electronic terminal Ti and transmitted to the positioning beacon Bh. According to a first example, the orientation of the virtual object OBV can be adjusted to the nearest degree by moving the virtual object OBV on the display of the electronic terminal Th. According to an alternative, the orientation can be modified according to predefined transformations, for example, rotations of 90° around the three rotation angles defined in a Cartesian coordinate system.
[0213] According to one example, when the four corners of the room are defined, at least one positioning boundary is configured to generate a horizon line for the room defined by a segment between two adjacent corners. This allows a default orientation of the virtual object in space to be defined. It can, in fact, be oriented with respect to this horizon line.
[0214] Finally, according to one embodiment, the user, by modifying the orientation and final position of the virtual object that has just been anchored, can access, via the display of their terminal representing an image acquired from its lens, the context or the immediate environment of the virtual object that has just been anchored. Thus, the display will represent the virtual object OBV in its real environment in which it has been anchored, namely the presence of a wall, a table, 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 in the scene, such as the surface of a table or that of a wall.One option of this software function is to enable a magnetic function that maps a coordinate of the end of a dimension of the virtual object (OBV) to a coordinate of a surface of a defined real object, and then assigns this coordinate of the real object to a coordinate of the virtual object. The placement of a virtual object can be achieved using a shape detection software function. Image acquisition by the electronic terminal's optics generates input for an algorithm. Shape and contour detection is used to segment real objects in the scene. The software function for moving the virtual object to a detected surface is achieved by aligning a coordinate of the object's position with a surface on the edge of a detected geometric surface.
[0215] 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 that it positions the virtual object in a real-world context while respecting the spaces already occupied by real objects in the room.
[0216] According to an example 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.
[0217] According to one embodiment, the user who has anchored a virtual object or a user who has access to a virtual object already anchored to view it can, from his user interface, zoom the object, move it, change its orientation, or even change its appearance, for example by modifying the colors or texture of at least one surface of the element.
[0218] According to one embodiment, a user U2 with a terminal T2, viewing a virtual object OBVi already anchored by another user Ui and therefore using another terminal Tb, can activate a command to notify the user Ui who anchored the virtual object OBVi that it has been successfully read. This command can also be generated automatically once the virtual object OBVi has been viewed by the second terminal T2. To this end, the terminal T2 viewing the virtual object anchored at a POSi position can send a message, for example, via the Li or L2 link, to notify the positioning beacon Bi that the virtual object OBVi has been viewed by user U2. When the positioning beacon Bi is connected to the internet, either directly or via a Wi-Fi access point, a message can be sent over the internet or via a mobile network to notify the first terminal Ti that the OBVi has been viewed by user U2. Different types of virtual objects
[0219] In one embodiment, virtual objects are three-dimensional statistical objects. In another example, a virtual object (OBV) may include an animation, such as a chest opening. In another example, a virtual object may be an avatar of an individual or an avatar of a character that can be animated for a period of time. For example, it is possible to anchor an avatar of a character delivering an audio message. In another example, the virtual object is a thumbnail for playing a multimedia file. In yet another example, the virtual object is a note, for example, for displaying a shopping list. Master terminal
[0220] According to one embodiment, when a positioning beacon B is installed, a terminal T is designated as the master terminal TM, which has administrator rights to assign rights to other terminals with respect to potentially selectable or viewable virtual objects. One advantage is the ability to manage the rights of virtual object libraries, for example, to allow children to use certain object libraries and to restrict access to other libraries. Virtual object database
[0221] The method of the invention advantageously includes a step for choosing and selecting a virtual object (VO); which can be stored in different memories depending on the embodiments of the invention or the use chosen by the user. Indeed, according to one embodiment, the virtual objects can be accessed primarily from a data server via the internet, but it is understood that the user could, in some cases, have a library of virtual objects stored in a memory of their Ti terminal or even access objects stored in a memory of the Bh positioning beacon.
[0222] When a virtual object OBV is selected, a command anchors said virtual object OBV to the current position or near the electronic terminal Th. To this end, a sequence of steps is performed to transmit elements of the position of the electronic terminal Ti to the positioning beacon Bb. 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 coordinate system, and sending it to the positioning beacon Bi. A second action consists of sending at least one UWB message so that the positioning beacon Bi can determine the distance to the electronic terminal Th.
[0223] According to one embodiment, the virtual object selected by means of the electronic terminal Ti includes an identifier and a locator on a network resource, for example, a HyperText link, a URL, or the address of a machine accessible from the network. The data enabling the identification of the virtual object and the retrieval of all the data enabling its display on a screen can be transmitted via the Li link between the electronic terminal Ti and the positioning beacon Bh.
[0224] 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 OBV; are retrieved directly from the positioning terminal from a remote server or from a memory of said terminal. Access to virtual objects
[0225] According to an example, when a user U; equipped with his terminal T; anchors a virtual object OBVi to a given position, the process includes a step aimed at assigning user rights to other terminals referenced to the positioning terminal Bp. One interest is to deliver messages dedicated to a subset of terminals or to a given terminal.
[0226] Thus, several users who have each associated their terminal with the Bi positioning terminal will not all see a virtual object OBV on their terminal's display. The display will be activated or not depending on the rights granted to them respectively.
[0227] According to one embodiment, the association of a new electronic terminal with the positioning beacon is subject to validation by the master terminal TM. To this end, during a new pairing sequence of an electronic terminal, the positioning beacon Bi sends a message via a Bluetooth or Wi-Fi connection to the master terminal. This message can also be sent via the SERV2 server after the positioning beacon Bi has sent a notification of the addition of a new electronic terminal to the SERV2 server. In this case, the SERV2 server is configured to automatically send a message requesting authorization for a new electronic terminal to a memory location on the positioning beacon Bi.If validation is performed with the master terminal then the new terminal is added to the list of equipment that can add a new virtual object to the positioning terminal Bi and / or view virtual objects anchored by the positioning terminal Bp. Positioning beacon mesh
[0228] According to one embodiment, when a positioning beacon is connected to a Wi-Fi access point such as an internet access point, the invention makes it possible to link the different positioning beacons within a data network in order to manage and geolocate them from a web application, for example.
[0229] One advantage is to offer management of a plurality of positioning beacons in a location containing different positioning beacons, such as a museum. Example of a beacon
[0230] In one embodiment, a positioning beacon includes a computer such as a microcontroller, memory, a compass or inertial measurement unit, and a set of communication interfaces including, in particular, a UWB interface and a Bluetooth interface. In an enhanced embodiment, the positioning beacon includes a Wi-Fi interface. In another enhanced embodiment, the beacon includes a secure element, also called in Anglo-Saxon terminology a "secure" "Element." This secure element is implemented as an electronic chip separate from the microcontroller. Its purpose is to secure transactions, that is, the exchange of data via the various data protocols implemented between the different devices.
[0231] 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 about an item or a virtual representation of a real object in a different configuration, for example, a different size or color. In this use case, the system can include a plurality of positioning points 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 performed in a given reference frame that is indexed or associated with the virtual object.Thus, when a virtual object is anchored in a given reference frame, it has the identifier of the reference frame in order to allow for frame transpositions to be performed by another terminal.
[0232] Access rights to objects can be activated on any terminal that has subscribed to a service from a remote server or via a kiosk at the store entrance, referred to as a pairing kiosk. Thus, in this embodiment, the positioning kiosk may differ from a pairing kiosk that provides access to a catalog of virtual objects. In one embodiment, the pairing kiosk can be connected to an access rights management server, enabling, for example, authentication control. One benefit might be, for instance, to offer additional services to subscribers, such as price discounts, or to present a supplementary catalog, for example, of limited-edition items. In one embodiment, a user can associate their terminal ID with a store customer account, thereby providing the necessary resources for authentication control to activate or deny a service.Thus, in this mode of use, the system of the invention comprises at least one pairing terminal specific to the entrance of the place and an authentication control.
[0233] According to a second example, the system of the invention can be used in exhibition halls or museums to deliver information near a work of art. One advantage is that it allows a user to access information directly from a position near the work they are viewing or discovering. Another benefit of this solution is that it offers rich multimedia content. For example, using a touchscreen display, a user can read text that constitutes all or part of the virtual object next to a painting that constitutes a real object. Then, once the text has been read, the user can "switch to" the next item. or change the content by swiping a finger on its display to obtain images, or even sound, video, or another text or continuation of the first text. Thus, a user can easily access rich content that can be updated at any time by an administrator managing the virtual content. In this example, we understand that the virtual object can be a sequence of ordered or linked multimedia content. For example, the content chain could include a text TEXTEi, a video VIDEO i, a text TEXTE2, an image IMAGEi, and another video VIDEO2. Therefore, the virtual object is a chain made up of virtual elements defining a virtual object: {TEXTE2, VIDEOi, TEXTE2, IMAGE i, VIDEOi}.In this example, the system of the invention includes a memory for storing chained virtual objects, access to one or more multimedia libraries, and a terminal display allowing navigation among the different elements of a virtual object.
[0234] According to a third example, the virtual object is an animated 3D object; it could also be a hologram visible on the display of an electronic terminal. One advantage of such an application is to anchor the actions of a first individual, represented by their hologram and visible on the display of an electronic terminal belonging to another individual wishing to view the first individual, to a given position. The first individual could, for example, be located at a position in another location, and their image could be acquired using optics such as a 3D camera. The 3D image could be processed to separate it from the rest of the image using an image processing algorithm that allows the 3D video of the first individual to be isolated.A dataset describing the 3D video, and preferably the audio track if present, can then be transmitted via a data network to a virtual object library stored on a remote server. The virtual object can then be downloaded when docked to the positioning beacon. In one variant, the entire video is downloaded to the positioning beacon to be generated later at a specific location when a second user views the hologram image on their electronic device. In another embodiment, a real-time streaming mode allows the video to be generated in real time from a remote server. In this application, the video can be started by a user command sent from their device to the positioning beacon.In this case, the positioning terminal can generate the start of the video on a user command at the desired position.
Claims
Claims
1. Computer-implemented method for positioning at least one virtual object (OBV;) 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 (Tb 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 (TRi) of positioning messages between a terminal (Tb T2) and a set of positioning terminals (Bb B2, B3) in order to estimate the position of each positioning terminal (Bb B2, B3) in the reference frame of the electronic terminal (Tb T2); • Estimation (GENi) of an estimated reference frame (Ro') by the terminal (Tb T2) aiming to reconstruct a predefined initial reference frame (Ro), said estimation comprising: • Estimation (ESTi) of a reference position (POS0') from the estimated positions of each positioning terminal (Bb B2, B3); said estimated reference position (POS0') being determined according to a geometrically calculated position with respect to the positions of the positioning terminals (Bb B2, B3), said estimated reference position (POS0') defining the center of an estimated reference frame (Ro') and not being the position of a positioning terminal (Bb B2, B3); • Calculation of a first reference vector (ViA) from the accelerometer or a gyroscope of an electronic terminal (Tb 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 (Vib) from at least one position of a positioning terminal (BJ) and a second reference position (B2), said second vector (Vlb) forming a vector of the estimated reference frame (Ro'); • Calculation of a third vector (Vlc) from the vector product of the first and second vectors (Vu, Vib), said third vector (Vk) 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 (RoRo') by means of a communication interface of said electronic terminal (Tb 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 (Ti, T2), said transposition being calculated from the distance between the position of the electronic terminal (Tb T2) and the position of the center of the estimated initial reference point (POS0) in real time, • Display (AFF2) of said virtual object (OBV;) on the display of the electronic terminal (Tb T2) from the position of the transposed virtual object (OBV;) and its representation data, said virtual object (OBV;) being displayed on the display as a function of the orientation of the electronic terminal (Tb T2) measured in its own frame of reference by an integrated gyroscope.
2. Method according to claim 1 characterized in that it comprises: • Anchoring (ANCi) of a virtual object (OBV;) at an anchoring position (POSA) from the generation of a first command carried out from the electronic terminal (Tb 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 (Tb T2) in the reference frame estimated (Ro') by said electronic terminal (Tb 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 (INITq) of a plurality of positioning terminals (Bb B2, B3) aimed at identifying the distances of each positioning terminal (Bb B2, B3) with respect to the other positioning terminals, at least one positioning terminal (Bi) centralizing all the positions of each other positioning terminal with respect to of itself (Bi); • Determination of a set of data for the arrangement of the positioning terminals (Bb B2, B3) relative to each other by means of an initialization step making it possible to calculate all the data on the distance between the positioning terminals (Bb B2, B3) and their respective direction relative to each other, said data being recorded in a memory of a positioning terminal and / or 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 (Bb 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 (Tb T2) of the arrangement data of the positioning terminals (Bb B2, B3); • Resetting of the positions of the positioning terminals (Bb B2, B3) estimated by the terminal (Tb T2) in the reference frame of said terminal (Tb T2) from the distances between each positioning terminal extracted from the arrangement data.
6. Method according to any one of claims 1 to 5 taken in combination with claim 4 characterized in that the initialization step of the method comprises the construction of an initial reference frame (Ro) from the arrangement data of the positioning terminals (Bb B2, B3), said reference frame (Ro) comprising a geometric reference center (POS0) calculated from relative positions of the positioning terminals (Bb 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 frame (Ro) comprises the • Calculation of an initial reference position (POS0) from the relative positions of each positioning terminal (Bb B2, B3) with respect to each other terminals; said reference position (POS0) being determined according to a geometrically calculated position with respect to the relative positions of the positioning terminals (Bb B2, B3) with respect to each other, said initial reference position (POS0) defining the center of an initial reference frame (Ro) and not being the position of a positioning terminal (Bb B2, B3); • Calculation of a first reference vector (ViA) from the definition of a vertical axis, said first vector (ViA) forming a vector (V iA) of the initial reference frame (Ro);• Calculation of a second vector (Vib) from at least one position of a positioning terminal (Bi) and a second reference position (B2), said second vector (Vib) forming a vector of the initial reference frame (Ro); • Calculation of a third vector (Vk) from the vector product of the first and second vectors (Vu, Vib), said third vector (Vic) 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 (Bb B2, B3) by the terminal (Tb T2) is carried out by means of a plurality of steps of receiving UWB messages transmitted by said positioning terminal (Bb B2, B3) and received by said electronic terminal (Bb B2, B3), said estimation comprising an estimation of the distance between the positioning terminal (Bb B2, B3) and said electronic terminal (Tb T 2) 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 (Bb B2, B3).
9. Method according to claim 8 characterized in that the estimation of the position of each positioning terminal (Bb B2, B3) comprises a estimation by the electronic terminal (Tb T2) of the direction of arrival of each UWB message transmitted by each positioning terminal (Bb 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 (Bb 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 (Bb B2, B3) comprises an estimation by the electronic terminal (Tb T2) of a set of spheres of probability of presence of each positioning terminal (Bi, B2, B3), said space surrounding the electronic terminal (Tb T2) being subdivided into elementary zones in the reference frame of the electronic terminal (Ti, T2), said electronic terminal (Tb 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 (Bi, B2, B3) being determined according to the greatest 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 positioning terminal (B i, B2, B3) comprises an estimation by the electronic terminal (Tb 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 (Tb T2) at each estimation of the probable position of each positioning terminal (Bb B2, B3), in order to reconstitute in a given reference frame of the electronic terminal (Tb T2) the most probable position of each terminal (Bb 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 according to a Bluetooth, Wifi or 4G protocol. • Sending 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 (ViB) is defined parallel to the axis joining two positioning terminals (Bb B2) or parallel to the axis intersecting the two verticals passing respectively through each of the positioning terminals (Bb B2), said positioning terminals (Bi, B2) being chosen on either side of magnetic north (N).
16. Computer program product comprising at least one memory on which are recorded instructions 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 (OBV;) anchored to a position in a real space (ER), said virtual object (OBV;) being intended to be displayed on an electronic display of an electronic terminal (Tb 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 (BbB2, B3) comprising a memory and a calculator and a first communication interface for transmitting messages by radio; • An electronic terminal (Tb T2) comprising a second communication interface by radio; the positioning terminals (B 1, 62, B3) and the electronic terminal (Tb 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