Positioning method, positioning system, electronic device and computer readable storage medium
By constructing a second Euclidean distance matrix and combining the Time-of-Flight (TOF) method to measure distance and estimate the square of the distance, the problem of communication blockage between tags and anchor points in radio positioning technology is solved, achieving high-precision and low-complexity target object positioning.
Patent Information
- Application Number
- CN202210083539.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-01-18
- Publication Date
- 2026-08-25
- Estimated Expiration
- 2042-01-18
AI Technical Summary
Existing radio positioning technology cannot achieve accurate positioning when radio communication between some tags and anchor points is blocked.
By determining the measured distance between the label and the visible anchor point within the target scene, a second Euclidean distance matrix is constructed. Combining the positional information of the label and the anchor point, the Time-of-Flight (TOF) method is used to measure the distance, and the square of the estimated distance is filled to form a complete Euclidean distance matrix, thereby achieving precise positioning of the target object.
Even when radio communication between some tags and anchor points is blocked, precise positioning of the target object is achieved, with high accuracy, high availability and low complexity.
Smart Images

Figure CN116506796B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of radio positioning technology, and more particularly to positioning methods, positioning systems, electronic devices, and computer-readable storage media. Background Technology
[0002] Radio positioning technology was initially developed to meet the needs of long-distance maritime navigation. However, with the rapid development of wireless network communication technology, it has gradually been widely applied to fields such as unmanned transportation and logistics. To improve efficiency, unmanned vehicles and transport vehicles are increasingly being used in environments such as cities, canyons, tunnels, and ports or warehouses with large cargo. In these environments, some radio signals may be blocked by cargo, tunnels, or other objects, causing radio communication between some tags and anchor points to be disrupted.
[0003] In related technologies, radio positioning systems utilize the transmission and reception of radio communication between tags and anchor points, employing either a step-by-step solution-based positioning method (DAC) or a semi-definite relaxation-based positioning method (SDR) to locate the object to be positioned. However, both of these methods can only achieve accurate positioning when radio communication between all tags and anchor points is uninterrupted; they cannot achieve accurate positioning when radio communication between some tags and their corresponding anchor points is blocked.
[0004] Application content
[0005] The positioning system provided according to the first aspect of this application includes: Determine the measured distances between multiple preset tags on a target object within the target scene and their respective visible anchor points; wherein, the visible anchor point is the anchor point among all anchor points within the target scene whose radio communication with the corresponding tag is not blocked; A second Euclidean distance matrix is determined based on the measured distances, the positions of each of the tags on the target object, and the positions of each of the anchor points within the target scene; wherein the second Euclidean distance matrix uses the squares of each of the measured distances, the squares of the estimated distances between each tag and its invisible anchor points, the squares of the first predetermined distances between any two tags, and the squares of the second predetermined distances between any two anchor points as elements; wherein the invisible anchor points are those anchor points within the target scene where radio communication with their corresponding tags is blocked; and The precise position of the reference point of the target object and the precise attitude angle of the target object are determined based on the second Euclidean distance matrix, the position of each of the tags on the target object, and the position of each of the anchor points in the target scene.
[0006] The positioning system provided according to the second aspect of this application includes: Multiple anchor points are set within the target scene; Multiple tags are respectively placed on target objects within the target scene; wherein, radio communication between at least two of the tags and at least one of the anchor points is not blocked; The processor is configured to perform the positioning method described in the first aspect embodiment.
[0007] The electronic device provided according to the third aspect of this application includes: At least one processor; and, A memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, the instructions being executed by the at least one processor to enable the at least one processor to perform the positioning method described in the first aspect embodiment.
[0008] According to the computer-readable storage medium provided in the fourth aspect of this application, a computer program is stored thereon, which, when executed by a processor, implements the positioning method described in the first aspect embodiment.
[0009] The positioning method, positioning system, electronic device, and computer-readable storage medium provided in this application are not only widely applicable and capable of accurately locating target objects even when radio communication between some tags and corresponding anchor points is blocked, determining the precise position of the target object's reference point and the precise attitude angle of the target object, but also feature high precision, high availability, high robustness, and low complexity.
[0010] It should be understood that the description in this section is not intended to identify key or essential features of the embodiments of this application, nor is it intended to limit the scope of this application. Other features of this application will become readily apparent from the following description. Attached Figure Description
[0011] Other features, objects, and advantages of this application will become more apparent from the following detailed description of non-limiting embodiments with reference to the accompanying drawings. The drawings are provided for a better understanding of the invention and are not intended to limit the scope of the application. In the drawings: Figure 1 This is one of the installation diagrams of the positioning system according to this application; Figure 2 This is a schematic diagram illustrating the principle of step S221 in the positioning method of this application; Figure 3 This is a flowchart of the positioning method according to this application; Figure 4 This is the second installation diagram of the positioning system according to this application; Figure 5This is a three-dimensional simulation diagram of the positioning system according to this application in the target scene; Figure 6 This is a schematic diagram showing the changes in the number of visible anchor points corresponding to each tag and the total number of visible anchor points in the simulation test of the positioning system according to this application; Figure 7 This is a schematic diagram illustrating the error changes generated by using the positioning method of this application and the existing shortest path method to determine the second Euclidean distance matrix; Figure 8 This is a schematic diagram illustrating the error changes generated when using the positioning method of this application, the existing DAC method, and the existing SDR method to determine the precise attitude angle; Figure 9 This is a schematic diagram illustrating the error changes that occur when using the positioning method of this application, the existing DAC method, and the existing SDR method to determine the precise position of a reference point; Figure 10 This is a block diagram of an electronic device used to implement the positioning method of the embodiments of this application.
[0012] Figure label: 100. Tag; 101. Tag A; 102. Tag B; 103, the Cth tag; 200, the anchor point; 201, the Dth anchor point; 300. Target object; 310. AGV; 400. Processor; 500. Cargo; 600. Shelf; 700. Electronic equipment; 701. Computing unit; 702. ROM; 703, RAM; 704, Bus; 705, I / O Interface; 706, Input Unit; 707. Output unit; 708. Storage unit; 709. Communication unit. Detailed Implementation
[0013] In the description of the embodiments of this application, the terms "first", "second", and "third" are used for descriptive purposes only and should not be construed as indicating or implying relative importance.
[0014] The following description, in conjunction with the accompanying drawings, illustrates exemplary embodiments of this application, including various details to aid understanding. These should be considered merely exemplary. Therefore, those skilled in the art will recognize that various changes and modifications can be made to the embodiments described herein without departing from the scope and spirit of this application. Similarly, for clarity and brevity, descriptions of well-known functions and structures are omitted in the following description.
[0015] It should be noted that, unless otherwise specified, the embodiments and features described in this application can be combined with each other. This application will now be described in detail with reference to the accompanying drawings and embodiments.
[0016] Figure 1 A positioning system to which the positioning method of this application can be applied is shown. For example... Figure 1 As shown, the positioning system may include a processor 400, multiple tags 100, and multiple anchor points 200; wherein, the multiple tags 100 are respectively set on target objects 300 in the target scene, and the multiple anchor points 200 are respectively set in the target scene. The tags 100 and anchor points 200 communicate with each other via radio signals. The radio communication between at least two tags 100 and at least one anchor point 200 is not blocked. The positioning method provided in this application embodiment is generally executed by the processor 400.
[0017] It should be understood that Figure 1 The number of labels 100, anchors 200, and processors 400 shown is merely illustrative; the actual number of labels 100, anchors 200, and processors 400 can be set according to actual needs.
[0018] Combination Figure 1 and Figure 3 As shown in the figure, this application provides a positioning method, which includes the following steps: Step S100: Determine the measured distance between the preset multiple tags 100 on the target object 300 in the target scene and their visible anchor points respectively; wherein, the visible anchor point is the anchor point 200 among all anchor points 200 in the target scene whose radio communication with the corresponding tag 100 is not blocked. Step S200: Determine a second Euclidean distance matrix based on the measured distances, the positions of each label 100 on the target object 300, and the positions of each anchor point 200 within the target scene; wherein the second Euclidean distance matrix uses the squares of each measured distance, the squares of the estimated distances between a label 100 and its invisible anchor points, the squares of the first predetermined distances between any two labels 100, and the squares of the second predetermined distances between any two anchor points 200 as elements; wherein the invisible anchor points are those anchor points 200 within the target scene whose radio communication with their corresponding labels 100 is blocked; Step S300: Determine the precise position of the reference point of the target object 300 and the precise attitude angle of the target object 300 based on the second Euclidean distance matrix, the position of each label 100 on the target object 300, and the position of each anchor point 200 in the target scene.
[0019] As can be seen from the above, the embodiments of this application first determine the measured distance between multiple tags 100 and their visible anchor points, and then, based on the measured distance, the position of each tag 100 on the target object 300, and the position of each anchor point 200 in the target scene, determine a second Euclidean distance matrix with the squares of each measured distance, the squares of the estimated distance between each tag 100 and its invisible anchor point, the squares of the first predetermined distance between any two tags 100, and the squares of the second predetermined distance between any two anchor points 200 as elements. Finally, by using the second Euclidean distance matrix, the position of each tag 100 on the target object 300, and the position of each anchor point 200 in the target scene, the precise position of the reference point of the target object 300 and the precise attitude angle of the target object 300 can be jointly located. It is evident that this application not only has a wide range of applications and can achieve precise positioning of the target object 300 even when radio communication between some tags 100 and the corresponding anchor points 200 is blocked, determining the precise position of the reference point of the target object 300 and the precise attitude angle of the target object 300, but also features high precision, high availability, high robustness and low complexity.
[0020] In some embodiments, step S200 includes: Step S210: Construct a first Euclidean distance matrix that is missing at least one element based on multiple measured distances, the position of each label 100 on the target object 300, and the position of each anchor point 200 in the target scene; Step S220: Based on the Euclidean distance matrix filling algorithm, determine the second Euclidean distance matrix according to the first Euclidean distance matrix, the measured distance, the position of each label 100 in the target object 300 and the position of each label 100 in the target object 300; wherein, the second Euclidean distance matrix is a matrix formed by filling the positions of the missing elements of the first Euclidean distance matrix with the square of the estimated distance.
[0021] In this embodiment, the process of determining the second Euclidean distance matrix is as follows: First, the first Euclidean distance matrix with missing elements is constructed by using the measured distances between multiple labels 100 and their visible anchor points. Then, the square of the estimated distance between the label 100 and its invisible anchor points is used to complete the first Euclidean distance matrix. That is, the square of the estimated distance is filled into the positions of the missing elements in the first Euclidean distance matrix to obtain the second Euclidean distance matrix.
[0022] In some embodiments, step S100 includes: S101. Generate a transmission command to control all tags 100 on the target object 300 to transmit radio positioning signals; S102, In response to multiple tags 100 receiving feedback signals corresponding to visible anchor points, determine the flight time of the radio positioning signal corresponding to the tag 100; S103. Determine the measurement distance based on the flight time.
[0023] Therefore, the processor 400 generates a launch command, and each tag 100 launches according to the launch command. It continuously transmits radio positioning signals. Taking one tag 100 as an example, if an anchor point 200 is located on the transmission path of the radio positioning signal emitted by the tag 100, and there are no other objects between them obstructing the radio positioning signal, that is, the radio communication between the tag 100 and the anchor point 200 is not blocked, then the anchor point 200 is the visible anchor point corresponding to the tag 100. Therefore, this visible anchor point... Constantly receive the radio positioning signal emitted by the tag 100, and in The tag 100 continuously transmits feedback signals. The processor 400 receives the feedback signal at all times. In response to the tag 100 receiving the feedback signal, the processor 400 determines the time of flight (TOF) of the radio positioning signal between the tag 100 and the corresponding visible anchor point; wherein, The processor 400 can determine the distance, i.e., the measurement distance, between the tag 100 and the corresponding visible anchor point based on the Time-of-Flight (TOF) time. , c The speed of light. Considering the possibility of errors during the measurement process, the measurement noise for each measurement distance can be... Set to independent and identically distributed Gaussian white noise, i.e. .
[0024] Compared to using the TOA (Time of Arrival) method to determine the measurement distance, the TOF (Time of Flight) method used in this application does not require synchronizing the clocks of all anchor points 200, thus eliminating the need to estimate the clock difference between tag 100 and anchor point 200, making the positioning method simpler and also simplifying the structure of the positioning system implementing this positioning method.
[0025] Furthermore, it should be noted that, in addition to transmitting radio positioning signals according to the transmission command generated by the processor 400, each tag 100 can also transmit radio positioning signals outward at a predetermined frequency. In this case, the processor 400 can determine the start time of the tag 100 transmitting the radio positioning signal according to the predetermined frequency, or the tag 100 can feed back a signal to the processor 400 at the same time as transmitting the radio positioning signal, and the processor 400 can determine the start time of the tag 100 transmitting the radio positioning signal according to the signal.
[0026] In some embodiments, step S210 includes: S211. Establish a local coordinate system and a global coordinate system; the origin of the local coordinate system is a reference point on the target object 300, and the origin of the global coordinate system is any point in the target scene. It should be noted that the origin of the global coordinate system can be selected and set according to actual needs.
[0027] S212. Determine the first predetermined distance between each pair of labels 100 based on the preset coordinates of each label 100 in the local coordinate system; S213. Determine the second predetermined distance between each pair of anchor points 200 based on the preset coordinates of each anchor point 200 in the global coordinate system. S214. The squares of each measured distance, the squares of each first predetermined distance, and the squares of each second predetermined distance are used as partial elements to construct the first Euclidean distance matrix.
[0028] For example, suppose the total number of all labels 100 and all anchor points 200 is N, where the number of anchor points 200 is M, and the number of labels 100 is NM. Since the Euclidean distance matrix is a symmetric matrix, the upper and lower triangular parts of the first Euclidean distance matrix in this embodiment are symmetric, and its upper triangular part (i.e....) n ≥ m Then it can be expressed as:
[0029] in, ; ; in, Describes the first Euclidean distance matrix in which the th m line, number n Column elements; Indicates the first nM The label 100 and its corresponding number m The distance between each anchor point is 200; Indicates the availability of the corresponding Time of Flight (TOF), when When available, ;when When unavailable, ; Indicates the first mM The 100th label and the nM The first predetermined distance between 100 labels; Indicates the first m Anchor point 200 and the first n The second predetermined distance between each anchor point is 200; Indicates the first mM Preset coordinates of label 100 in the local coordinate system; Indicates the first nMPreset coordinates of label 100 in the local coordinate system; Indicates the first m The preset coordinates of anchor point 200 in the global coordinate system; Indicates the first n The preset coordinates of anchor point 200 in the global coordinate system. Additionally, the symbol "" in this application "express x The 2-norm, x For any parameter.
[0030] For example, such as Figure 1 As shown, the target object 300 has three labels 100, and the target scene has four anchor points 200, that is, N =7、 M =4. Taking the 2nd row and 5th column of the first Euclidean matrix as an example, that is... m =2、 n When =5, , and Only in China The range of values satisfies the above conditions. Therefore, if the radio communication between the first tag 100 and the second anchor point 200 is not obstructed, and the second anchor point 200 is a visible anchor point of the first tag 100, then... This indicates the measured distance between the first label 100 and the second anchor point 200. Available, the elements to be filled into the 2nd row and 5th column of the first Euclidean matrix are , that is, If radio communication between the first tag 100 and the second anchor point 200 is blocked, then Unavailable. Leave the 2nd row and 5th column of the first Euclidean matrix empty. Similarly, taking the 1st row and 2nd column of the first Euclidean matrix as an example... m =1、 n When =2, , and Only in China The range of values satisfies the above conditions, therefore the elements to be filled into the first row and second column of the first Euclidean matrix are: , that is, Therefore, based on the above method, a first Euclidean distance matrix for the missing elements can be constructed using the measured distance, multiple first predetermined distances, and multiple second predetermined distances.
[0031] It should be noted that, based on the fundamental properties of the Euclidean distance matrix, such as symmetry, the equation of the first Euclidean distance matrix can be, but is not limited to, the equations mentioned above. The squares of each measured distance, the squares of each first predetermined distance, and the squares of each second predetermined distance can be filled into the first Euclidean distance matrix according to other rules.
[0032] In some embodiments, step 220 includes: S221. Based on the triangle theorem, determine the upper and lower bounds of each estimated distance according to the position of the label 100 corresponding to the estimated distance on the target object 300, the measured distances of the same anchor point 200 corresponding to the estimated distance, and the position of the label 100 corresponding to the measured distance on the target object 300. S222. Construct an upper bound Euclidean matrix based on the first Euclidean distance matrix and multiple upper bound distances; wherein, the upper bound Euclidean matrix is the same type as the first Euclidean distance matrix, and the positions of the upper bound distances in the upper bound Euclidean matrix correspond one-to-one with the positions of the missing elements in the first Euclidean distance matrix; S223. Construct a lower bound Euclidean matrix based on the first Euclidean distance matrix and multiple lower bound distances; wherein the lower bound Euclidean matrix is of the same type as the first Euclidean distance matrix, and the position of the square of the lower bound distance in the lower bound Euclidean matrix corresponds one-to-one with the position of the missing element in the first Euclidean distance matrix. S224. Average the upper bound Euclidean matrix and the lower bound Euclidean matrix to obtain the initial value Euclidean distance matrix. S225. Based on the Euclidean distance matrix filling algorithm, determine the second Euclidean distance matrix according to the upper bound Euclidean matrix, the lower bound Euclidean matrix, the initial value Euclidean distance matrix, the positions of multiple labels 100 on the target object 300, and the positions of multiple anchor points 200 in the target scene. The Euclidean distance matrix filling algorithm can be, but is not limited to, the SQREDM (Square-Root Euclidean Distance Matrix) algorithm.
[0033] Furthermore, in some embodiments, step S221 includes: S221-1. Calculate and estimate the difference between each measured distance corresponding to the same anchor point and the corresponding first predetermined distance; wherein, the first predetermined distance is the distance between two tags 100 corresponding to the measured distance and the estimated distance, respectively; S221-2, Take the maximum value among the differences as the lower bound of the estimated distance; S221-3. Calculate and estimate the sum of each measured distance corresponding to the same anchor point and the corresponding first predetermined distance; S221-4. Use the minimum value among the sums as the upper bound of the estimated distance.
[0034] It should be noted that the execution order of steps S221-1 to S221-4 is not limited to the above order. The order can be arbitrarily changed as long as they do not contradict each other. For example, the sum can be calculated first, then the difference can be calculated, and then the lower and upper bound distances can be determined.
[0035] like Figure 2 As shown, taking the A-th label 101, B-th label 102, C-th label 103, and D-th anchor point 201 on target object 300 as an example. Assume that the radio communication between the A-th label 101 and B-th label 102 and the D-th anchor point 201 is not blocked, while the radio signal between the C-th label 103 and the D-th anchor point 201 is completely obscured by other objects in the target scene; that is, the radio communication between the C-th label 103 and the D-th anchor point 201 is blocked. Therefore, the D-th anchor point 201 is a visible anchor point for both the A-th label 101 and B-th label 102, and an invisible anchor point for the C-th label 103. Since the estimated distance is the distance between the C-th label 103 and the D-th anchor point 201, the estimated distance... In terms of, with The measured distances corresponding to the same anchor point 200 are respectively and , and with The corresponding first predetermined distance is ,and The corresponding first predetermined distance is Therefore, the first calculation is... and The difference and and The difference; and based on the triangle theorem, which states that the difference between any two sides of a triangle is less than the difference between the third side, we can conclude that... , Then, and The maximum value in is used as The lower bound distance, to narrow down The range of values for ; then, calculate and The sum of numbers and and The sum of the sides of a triangle; and based on the triangle theorem, which states that the sum of any two sides of a triangle is greater than the third side, we can conclude that... , Then, and The minimum value in is used as The upper bound distance, to narrow down The range of values for .
[0036] Therefore, when the number of anchor points 200 is M The number of labels 100 is NM In the case of the first kM The 100th label and the m The lower bound distance corresponding to the estimated distance between 200 anchor points Distance from upper bound They are respectively: ; ; in, Indicates the first kM The 100th label and the nM The first predetermined distance between 100 labels; Indicates the first kM The 100th label and the m The distance between each anchor point is 200.
[0037] Considering the measurement noise present in the process of determining the measurement distance, and taking into account the statistical characteristics of the measurement noise, in some embodiments step S222 includes: S222-1. Calculate the sum of each upper bound distance and the preset error coefficient to obtain the final upper bound distance; S222-2. Calculate the sum of each measured distance and the preset error coefficient to obtain the first distance; S222-3. Construct an upper bound Euclidean matrix using the squares of each first distance, the squares of each first predetermined distance, the squares of each second predetermined distance, and the squares of each final upper bound distance as elements; wherein, the position of the square of the final upper bound distance in the upper bound Euclidean matrix corresponds one-to-one with the position of the missing element in the first Euclidean distance matrix; the squares of the first distance, the squares of the first predetermined distance, and the squares of the second predetermined distance in the upper bound Euclidean matrix correspond one-to-one with the squares of the measured distance, the squares of the first predetermined distance, and the squares of the second predetermined distance in the first Euclidean distance matrix, respectively.
[0038] It should be noted that measurement noise can be disregarded during the construction of the upper bound Euclidean matrix. This means that the final upper bound distance and the first distance are not calculated; instead, the upper bound Euclidean matrix is constructed directly using all elements of the first Euclidean distance matrix and the squares of each upper bound distance. The squares of each upper bound distance correspond one-to-one with the positions of missing elements in the first Euclidean distance matrix. Of course, compared to positioning methods that do not consider measurement noise, positioning methods that do consider measurement noise have higher positioning accuracy and are more suitable for applications requiring high-precision positioning.
[0039] The sum of the number of all 100 tags and all 200 anchor points is N The number of anchor points 200 is MThe number of labels 100 is N - M For example, since the upper bound Euclidean distance matrix and the first Euclidean distance matrix are of the same type (meaning they have the same number of rows and columns), and the squares of each final upper bound distance correspond one-to-one with the positions of the missing elements in the first Euclidean distance matrix, the squares of the first distance, the squares of the first predetermined distance, and the squares of the second predetermined distance in the upper bound Euclidean matrix correspond one-to-one with the squares of the measured distance, the squares of the first predetermined distance, and the squares of the second predetermined distance in the first Euclidean distance matrix, respectively. Therefore, the upper bound Euclidean distance matrix can be represented as:
[0040] in, Describes the th element in the upper bound Euclidean distance matrix. m line, number n Column elements; The preset error coefficient; when hour, = ;when hour, = .
[0041] In some embodiments, step S223 includes: S223-1. Calculate the difference between each lower bound distance and the preset error coefficient to obtain the final lower bound distance; S223-2. Calculate the difference between each measured distance and the preset error coefficient to obtain the second distance; S223-3. Construct a lower bound Euclidean matrix using the squares of each second distance, the squares of each first predetermined distance, the squares of each second predetermined distance, and the squares of each final lower bound distance as elements of the lower bound Euclidean matrix; wherein, the position of the square of the final lower bound distance in the lower bound Euclidean matrix corresponds one-to-one with the position of the missing element in the first Euclidean distance matrix; the squares of the second distance, the squares of the first predetermined distance, and the squares of the second predetermined distance in the lower bound Euclidean matrix correspond one-to-one with the squares of the measured distance, the squares of the first predetermined distance, and the squares of the second predetermined distance in the first Euclidean distance matrix, respectively.
[0042] It should be noted that measurement noise can be disregarded during the construction of the lower bound Euclidean matrix. This means that the final lower bound distance and the second distance are not calculated; instead, the lower bound Euclidean matrix is constructed directly using all elements of the first Euclidean distance matrix and the squares of each lower bound distance. The squares of each lower bound distance correspond one-to-one with the positions of missing elements in the first Euclidean distance matrix. Of course, compared to positioning methods that do not consider measurement noise, positioning methods that do consider measurement noise have higher positioning accuracy and are more suitable for applications requiring high-precision positioning.
[0043] The sum of the number of all 100 tags and all 200 anchor points is N The number of anchor points 200 is M The number of labels 100 is NM For example, since the lower bound Euclidean distance matrix and the first Euclidean distance matrix are of the same type, meaning they have the same number of rows and columns, and each final lower bound distance corresponds one-to-one with the missing element in the first Euclidean distance matrix, the lower bound Euclidean distance matrix can be represented as:
[0044] in, Describe the lower bound Euclidean distance matrix of the th m line, number n Column elements; The preset error coefficient; when hour, = ;when hour, = .
[0045] In some embodiments, step S300 includes: S310. Based on the second Euclidean distance matrix and the positions of each anchor point 200 in the target scene, determine the approximate position of each label 100 in the target scene. S320. The rough position is used as the initial value, and the measurement distance, the weight of the measurement distance, the first predetermined distance between each pair of each label 100 and the weight of the first predetermined distance are used for iterative calculation to obtain the precise position of each label 100 in the target scene. S330. Based on the positions of each label 100 on the target object 300 and the target scene, determine the initial position and initial attitude angle of the reference point; S340. Using the initial position and initial attitude angle as initial values, perform iterative calculations based on the mapping relationship between the attitude angle, the reference point and the position of each label 100 to obtain the precise position and precise attitude angle.
[0046] With 200 anchor points as the number M The number of tags 100 is NM For example, the set consisting of anchor point 200 is set as ,Will NM The set consisting of 100 tags is set as follows The positioning method in the embodiments of this application is illustrated below with examples: Step S100: Determine the measured distances between multiple tags 100 on the target object 300 within the target scene and their respective visible anchor points; wherein, the visible anchor point is the anchor point 200 among all anchor points 200 within the target scene whose radio communication with the corresponding tag 100 is not blocked. For example, the tag 100 can be... i The label 100 and its corresponding first j The measured distance between the visible anchor points is represented as follows: ;in,
[0047] S211. Establish a local coordinate system and a global coordinate system; the origin of the local coordinate system is the reference point on the target object 300, and the origin of the global coordinate system is any point in the target scene. The global coordinate system can be, but is not limited to, any coordinate system different from the local coordinate system, such as the navigation coordinate system or the ECEF coordinate system. The origin of the global coordinate system can be selected and set according to actual needs.
[0048] S212. Based on the preset coordinates of each label 100 in the local coordinate system, determine the first predetermined distance between any two labels 100. For example, the distance can be calculated using the following formula. i The 100th label and the k The first predetermined distance between 100 tags , ;in, Indicates the first i The preset coordinates of label 100 in the local coordinate system Indicates the first k Preset coordinates of label 100 in the local coordinate system; S213. Based on the preset coordinates of each anchor point 200 in the global coordinate system, determine the second predetermined distance between any two anchor points 200. For example, the second predetermined distance can be calculated using the following formula. h Anchor point 200 and the first j The second predetermined distance between each anchor point 200 , ;in, Indicates the first h The preset coordinates of anchor point 200 in the global coordinate system Indicates the first j The coordinates of anchor point 200 in the global coordinate system.
[0049] S214. Construct a first Euclidean distance matrix using the squares of each measured distance, the squares of each first predetermined distance, and the squares of each second predetermined distance as partial elements.
[0050] Among them, the upper triangular part of the first Euclidean distance matrix (i.e. n ≥m Then it can be expressed as:
[0051] in, ; ; in, Describes the first Euclidean distance matrix in which the first Euclidean distance matrix is... m line, number n Column elements; Indicates the first nM The tag and its corresponding first m The distance between anchor points W Indicates the availability of the corresponding Time of Flight (TOF), when When available, ;when When unavailable, ; Indicates the first mM The 100th label and the nm The first predetermined distance between 100 labels; Indicates the first m Anchor point 200 and the first n The second predetermined distance between each anchor point is 200; Indicates the first m - M Preset coordinates of label 100 in the local coordinate system; Indicates the first n - M Preset coordinates of label 100 in the local coordinate system; Indicates the first m The preset coordinates of anchor point 200 in the global coordinate system; Indicates the first n The preset coordinates of anchor point 200 in the global coordinate system.
[0052] It should be noted that if a certain tag 100 has no corresponding visible anchor point, then the relevant parameters of the tag 100 can be removed before constructing the first Euclidean distance matrix, for example, deleting the preset coordinates of the tag 100 in the local coordinate system; if a certain anchor point 200 does not belong to the visible anchor point of any tag 100, that is, if a certain anchor point 200 cannot receive the radio positioning signal emitted by any tag 100, then the relevant parameters of the anchor point 200 can also be removed before constructing the first Euclidean distance matrix, for example, deleting the preset coordinates of the anchor point 200 in the global coordinate system.
[0053] S221. Based on the triangle theorem, determine the upper and lower bounds of each estimated distance according to the position of the label 100 corresponding to the estimated distance on the target object 300, the measured distances of the same anchor point 200 corresponding to the estimated distance, and the position of the label 100 corresponding to the measured distance on the target object 300; for example, the lower bound of the estimated distance. Distance from upper bound They can be calculated using the following formulas: ; ; in, Indicates the first kM The 100th label and the nM The first predetermined distance between 100 labels; Indicates the first k - M The 100th label and the m The distance between each anchor point is 200, when When available, ;when When unavailable, .
[0054] S222. Construct an upper bound Euclidean matrix based on the first Euclidean distance matrix and multiple upper bound distances; wherein the upper bound Euclidean matrix is of the same type as the first Euclidean distance matrix, and the positions of the upper bound distances in the upper bound Euclidean matrix correspond one-to-one with the positions of the missing elements in the first Euclidean distance matrix; for example, the upper bound Euclidean distance matrix... It can be represented as:
[0055] in, Describes the th element in the upper bound Euclidean distance matrix. m line, number n Column elements; The preset error coefficient; when hour, = ;when hour, = .
[0056] S223. Construct a lower bound Euclidean matrix based on the first Euclidean distance matrix and multiple lower bound distances; wherein the lower bound Euclidean matrix is of the same type as the first Euclidean distance matrix, and the positions of the squares of the lower bound distances in the lower bound Euclidean matrix correspond one-to-one with the positions of the missing elements in the first Euclidean distance matrix; for example, the lower bound Euclidean distance matrix... It can be represented as:
[0057] in, Describe the lower bound Euclidean distance matrix of the th m line, number n Column elements; The preset error coefficient; when hour, = ;when hour, = .
[0058] S224. Average the upper bound Euclidean matrix and the lower bound Euclidean matrix to obtain the initial Euclidean distance matrix; for example, the initial Euclidean distance matrix... It can be represented as:
[0059] in, Describes the second Euclidean distance matrix. m line, number n Column elements; Describes the th element in the upper bound Euclidean distance matrix. m line, number n Column elements; S225. Based on the Euclidean distance matrix filling algorithm, determine the second Euclidean distance matrix according to the upper bound Euclidean matrix, the lower bound Euclidean matrix, the initial value Euclidean distance matrix, the positions of multiple labels 100 on the target object 300, and the positions of multiple anchor points 200 in the target scene. For example, the initial value of the Euclidean distance matrix can be used. Upper bound Euclidean distance matrix Lower bound Euclidean distance matrix Using the initial value, the following formula is used for iterative calculation. The matrix that yields the minimum value of this formula is the second Euclidean distance matrix. : ; ; ; in, D Represents the Euclidean distance matrix. Representation matrix rank; yes An identity matrix of order 1; Yes N A row vector of all 1s with 1s in _n elements; T Represents the transpose of a matrix; The dimension representing the coordinates; express A set of Euclidean distance matrices of order 1; Describes the first Euclidean distance matrix in which the first Euclidean distance matrix is... m line, number n The elements of the column.
[0060] S310. Based on the second Euclidean distance matrix and the positions of each anchor point 200 in the target scene, determine the approximate position of each label 100 in the target scene. For example, the second Euclidean distance matrix... The conditions are met The element is the square of the measured distance, that is to say... When available, the second Euclidean distance matrix The Middle nM line, number m The elements of the column represent the measured distance. The measured distance is determined by the time-of-flight (TOF) of the radio positioning signal between tag 100 and its visible anchor point; that is, measured distance = , c Speed of light; second Euclidean distance matrix The conditions are met The element is the square of the estimated distance, that is... When unavailable, the second Euclidean distance matrix... n line, number m The elements of the column are the squares of the estimated distances. Since the measured distance is the measured value of the distance between label 100 and its visible anchor points, and the estimated distance is the estimated value of the distance between label 100 and its invisible anchor points, based on this, and with the help of the preset coordinates of each anchor point 200 in the global coordinate system, the approximate coordinates of each label 100 in the global coordinate system can be calculated, that is, the approximate position of each label 100 in the target scene can be determined.
[0061] S320. Using the approximate position as the initial value, and iteratively calculating based on the measured distance, the weight of the measured distance, the first predetermined distance between each pair of labels 100, and the weight of the first predetermined distance, to obtain the precise position of each label 100 in the target scene. For example, the approximate coordinates of each label 100 in the global coordinate system can be used as the initial value, and iterative calculation can be performed using the following formula, which takes the minimum value. and This is the precise estimated coordinate of label 100 in the global coordinate system: ; ; in, express The weight, express The weight. Due to Compared to It has higher accuracy, therefore Greater than ; This represents the noise in a TOF measurement. Typically, the measurement noise is independent and identically distributed Gaussian white noise, i.e. .
[0062] S330. Determine the initial position and initial attitude angle of the reference point based on the positions of each label 100 on the target object 300 and the target scene. For example, calculate the initial position and initial attitude angle of the reference point based on the accurate estimated coordinates of each label 100 in the global coordinate system and the coordinates of each label 100 in the local coordinate system.
[0063] S340. Using the initial position and initial attitude angle as initial values, iterative calculations are performed based on the mapping relationship between the attitude angle, the reference point, and the positions of each label 100 to obtain the precise position and precise attitude angle. For example, iterative calculations can be performed using the following formula, which takes the minimum value when... and This refers to the precise position of the reference point of the target object 300 and the precise attitude angle of the target object 300: ; ; in, express The weight, This represents the rotation matrix from the local coordinate system to the global coordinate system. It's the attitude angle. This represents the coordinates of the reference point in the global coordinate system. Indicates the first i The coordinates of label 100 in the global coordinate system Indicates the first i The preset coordinates of label 100 in the local coordinate system Indicates the first j The preset coordinates of anchor point 200 in the global coordinate system.
[0064] It should be noted that, Noise can be measured using TOF. In addition, in two-dimensional coordinates, attitude angles can be yaw angles; in three-dimensional coordinates, attitude angles can be, but are not limited to, roll angles, pitch angles, or yaw angles.
[0065] In addition, such as Figure 1As shown, this application embodiment also provides a positioning system, which includes multiple tags 100, multiple anchor points 200, and a processor 400; wherein the multiple tags 100 are respectively disposed on target objects 300 in the target scene; radio communication between at least two tags 100 and at least one anchor point 200 is not blocked; the processor 400 is configured to execute the above-described positioning method. The processor 400 may be, but is not limited to, a central processing unit fixed to the target object 300.
[0066] The following simulation experiment is conducted using the positioning system in the embodiment of this application, with the target object 300 being an Automated Guided Vehicle (AGV) and the target scenario being an unmanned warehouse. like Figure 4 and Figure 5 As shown, a local coordinate system and a global coordinate system are established. The origin of the local coordinate system is the reference point of AGV310, and the origin of the global coordinate system is any point in the warehouse. The specific point of the origin of the global coordinate system can be selected and set according to actual needs. The length, width, and height of AGV310 are 4m, 2m, and 0.3m, respectively. Three labels 100 are set on AGV310, and the preset coordinates of the three labels 100 in the local coordinate system are (2,1,-0.15), (2,-1,-0.15), and (-2,0,-0.15), respectively. Goods 500 are placed on AGV310, and the length, width, and height of goods 500 are 3.6m, 1.6m, and 0.5m, respectively. The warehouse is equipped with multiple rows of shelves 600, forming a path for the AGV 310 between adjacent shelves 600. The height of the shelves 600 is much greater than the height of the AGV 310. There are a total of 17 anchor points 200 in the warehouse, all of which are 6m high. The preset coordinates of the anchor points 200 in the global coordinate system are shown in Table 1. The radio positioning signal is transmitted at a frequency of 1Hz. The TOF measurement noise of the tag 100, i.e., the tag 100 with at least one visible anchor point, is independently and identically distributed with respect to its visible anchor point. This TOF measurement noise follows a Gaussian distribution with a mean of 0 and a variance of 0.1m.
[0067] Table 1. Coordinates of anchor points in the global coordinate system
[0068] like Figure 5 As shown, during the movement of AGV310 along the thick solid line, the radio positioning signals emitted by some tags 100 are blocked by the shelf 600 or the goods 500 being transported by AGV310, thus disrupting the radio communication between tag 100 and a certain anchor point 200. The duration of AGV310's movement along the thick solid line is 300 seconds. Figure 6As shown, within these 300 seconds, the total number of feedback signals received by the three tags 100 from the anchor point 200 exceeded 7, meaning that the processor 400 determined a total of more than 7 measurement distances. Furthermore, during the aforementioned time period, at least two tags 100 corresponded to at least one visible anchor point. (As shown...) Figure 6 As shown, the total number of feedback signals received by the first tag 100, the second tag 100, and the third tag 100 from the anchor point 200 at epochs 12, 3, and 102 respectively is less than 3, indicating that the total number of anchor points is less than 3. At epochs 21, 27, 164, and 176, the third tag 100 only receives one feedback signal. Therefore, compared to the use of multiple tags 100 in this application, the usability of positioning using only one tag 100 in related technologies is poor. For example, the reference point position of the target object 300 obtained using the existing DAC method is incorrect. As can be seen from the above, the positioning system of this application embodiment can achieve accurate positioning of the target object 300 even when radio communication between some tags 100 and their corresponding anchor points 200 is blocked, determining the precise position of the reference point of the target object 300 and the precise attitude angle of the target object 300.
[0069] Furthermore, this simulation experiment also used both the existing shortest path method and the method in step S300 of this application to obtain the second Euclidean distance matrix. For example... Figure 7 As shown, the second Euclidean distance matrix obtained using the shortest path method has a large and unstable error, with the maximum error even exceeding 10m; while the second Euclidean distance matrix obtained using the method in step S300 of this application has a small and stable error, with the maximum error being less than 2m. Therefore, compared to the prior art, obtaining the second Euclidean distance matrix using the method in step S300 of this application can significantly improve the calculation accuracy of the coordinates of each label 100 in the global coordinate system.
[0070] In addition, in combination Figure 8 and Figure 9As shown, between epochs 21 and 27 and 164 and 176, i.e., within the area indicated by the thick solid rectangle in the figure, the error generated by the existing DAC method is significantly greater than the error generated by the positioning method of this application. At epoch 121, the three tags 100 received a total of 10 feedback signals from only 5 anchor points 200. Furthermore, as shown in Table 2, the maximum error of the attitude angle obtained by the existing DAC method exceeds 0.2 rad, and the error of the reference point position exceeds 1 m. In contrast, the maximum error of the attitude angle obtained by the positioning method of this application is less than 0.1 rad, and the error of the reference point position is less than 0.4 m. Therefore, to determine the position and attitude angle of the reference point of the target object 300, the error generated by the positioning method of this application is significantly smaller than the error generated by the existing DAC method, and also slightly smaller than the error generated by the existing SDR method. As can be seen from the above, when radio communication between some tags 100 and anchor points 200 is blocked, the positioning method in this application is significantly superior to the existing DAC method and the existing SDR method. The existing DAC method and the existing SDR method are not applicable to the situation where radio communication between some tags 100 and anchor points 200 is blocked.
[0071] Table 2 shows the magnitude of errors in attitude angles and reference point positions determined using the DAC method, SDR method, and the positioning method of this application, respectively.
[0072] According to embodiments of this application, this application also provides an electronic device, a readable storage medium, and a computer program product.
[0073] Figure 10 A schematic block diagram of an example electronic device 700 that can be used to implement embodiments of this application is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device may also represent various forms of mobile devices, such as personal digital processors, cellular phones, smartphones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely illustrative and are not intended to limit the implementation of the application described and / or claimed herein.
[0074] like Figure 10As shown, the electronic device 700 includes a computing unit 701, which can perform various appropriate actions and processes according to a computer program stored in a read-only memory (ROM) 702 or a computer program loaded from a storage unit 708 into a random access memory (RAM) 703. The RAM 703 may also store various programs and data required for the operation of the device 700. The computing unit 701, ROM 702, and RAM 703 are interconnected via a bus 704. An input / output (I / O) interface 705 is also connected to the bus 704.
[0075] Multiple components in electronic device 700 are connected to I / O interface 705, including: input unit 706, such as keyboard, mouse, etc.; output unit 707, such as various types of displays, speakers, etc.; storage unit 708, such as disk, optical disk, etc.; and communication unit 709, such as network card, modem, wireless transceiver, etc. Communication unit 709 allows electronic device 700 to exchange information / data with other devices through computer networks such as the Internet and / or various telecommunications networks.
[0076] The computing unit 701 can be a variety of general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of the computing unit 701 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special-purpose artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. The computing unit 701 performs the various methods and processes described above, such as the positioning method. For example, in some embodiments, the positioning method may be implemented as a computer software program tangibly contained in a machine-readable medium, such as storage unit 708. In some embodiments, part or all of the computer program may be loaded and / or installed on the electronic device 700 via ROM 702 and / or communication unit 709. When the computer program is loaded into RAM 703 and executed by the computing unit 701, one or more steps of the positioning method described above may be performed. Alternatively, in other embodiments, the computing unit 701 may be configured to perform the positioning method described above by any other suitable means (e.g., by means of firmware).
[0077] Various embodiments of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), application-specific standard products (ASSPs), systems-on-a-chip (SoCs), payload-programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments may include implementations in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which may be a dedicated or general-purpose programmable processor, capable of receiving data and instructions from a storage system, at least one input device, and at least one output device, and transmitting data and instructions to the storage system, the at least one input device, and the at least one output device.
[0078] The program code used to implement the methods of this application may be written in any combination of one or more programming languages. This program code may be provided to a processor or controller of a general-purpose computer, special-purpose computer, or other programmable data processing device, such that when executed by the processor or controller, the functions / operations specified in the flowcharts and / or block diagrams are implemented. The program code may be executed entirely on a machine, partially on a machine, as a standalone software package partially on a machine and partially on a remote machine, or entirely on a remote machine or server.
[0079] In the context of this application, a machine-readable medium can be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, apparatus, or device. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. Machine-readable media can be, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fibers, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.
[0080] To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device for displaying information to the user (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor); and a keyboard and pointing device (e.g., a mouse or trackball) through which the user provides input to the computer. Other types of devices can also be used to provide interaction with the user; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including sound input, voice input, or tactile input).
[0081] The systems and technologies described herein can be implemented in computing systems that include backend components (e.g., as a data server), or computing systems that include middleware components (e.g., an application server), or computing systems that include frontend components (e.g., a user computer with a graphical user interface or web browser through which a user can interact with implementations of the systems and technologies described herein), or any combination of such backend, middleware, or frontend components. The components of the system can be interconnected via digital data communication of any form or medium (e.g., a communication network). Examples of communication networks include local area networks (LANs), wide area networks (WANs), and the Internet.
[0082] Computer systems can include clients and servers. Clients and servers are generally located far apart and typically interact through communication networks. Client-server relationships are created by computer programs running on the respective computers and having a client-server relationship with each other.
[0083] It should be understood that the various forms of processes shown above can be used to rearrange, add, or delete steps. For example, the steps described in this disclosure can be executed in parallel, sequentially, or in different orders, as long as the desired result of the technical solution disclosed in this application can be achieved, and this is not limited herein.
[0084] The specific embodiments described above do not constitute a limitation on the scope of protection of this application. Those skilled in the art should understand that various modifications, combinations, sub-combinations, and substitutions can be made based on design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of this application should be included within the scope of protection of this application.
Claims
1. A positioning method, characterized in that, include: Determine the measured distances between multiple preset tags on a target object within the target scene and their respective visible anchor points; wherein, the visible anchor point is the anchor point among all anchor points within the target scene whose radio communication with the corresponding tag is not blocked; Based on the measured distances, the positions of each label on the target object, and the positions of each anchor point within the target scene, a first Euclidean distance matrix missing at least one element is constructed. Based on an Euclidean distance matrix filling algorithm, a second Euclidean distance matrix is determined according to the first Euclidean distance matrix, the measured distances, the positions of each label on the target object, and the positions of each anchor point within the target scene. The second Euclidean distance matrix uses the squares of each measured distance, the squares of the estimated distances between each label and its invisible anchor point, the squares of the first predetermined distances between any two of the labels, and the squares of the second predetermined distances between any two of the anchor points as elements. The second Euclidean distance matrix is formed by filling the positions of the missing elements in the first Euclidean distance matrix with the squares of the estimated distances. The invisible anchor point is the anchor point within the target scene where radio communication with the corresponding label is blocked. Based on the second Euclidean distance matrix and the positions of each anchor point in the target scene, the approximate positions of each label in the target scene are determined; using the approximate positions as initial values, iterative calculations are performed based on the measured distance, the weights of the measured distances, each of the first predetermined distances, and the weights of the first predetermined distances to obtain the precise positions of each label in the target scene; based on the positions of each label in the target object and the target scene, the initial positions of the reference points of the target object and the initial attitude angles of the target object are determined; and using the initial positions and the initial attitude angles as initial values, iterative calculations are performed based on the attitude angles, the mapping relationship between the reference points and the positions of each label to obtain the precise positions of the reference points and the precise attitude angles of the target object.
2. The positioning method according to claim 1, wherein, Based on the multiple measured distances, the positions of each of the labels on the target object, and the positions of each of the anchor points within the target scene, a first Euclidean distance matrix missing at least one element is constructed, including: Establish a local coordinate system and a global coordinate system; wherein the origin of the local coordinate system is a reference point on the target object, and the origin of the global coordinate system is any point in the target scene; Based on the preset coordinates of each of the labels in the local coordinate system, a plurality of the first predetermined distances are determined; Based on the preset coordinates of each anchor point in the global coordinate system, determine a plurality of second predetermined distances; and The first Euclidean distance matrix is constructed using the squares of each of the measured distances, the squares of each of the first predetermined distances, and the squares of each of the second predetermined distances as partial elements.
3. The positioning method according to claim 1, wherein, Based on the Euclidean distance matrix filling algorithm, a second Euclidean distance matrix is determined according to the first Euclidean distance matrix, the measured distance, the position of each label on the target object, and the position of each anchor point on the target scene, including: Based on the triangle theorem, the upper and lower bounds of each estimated distance are determined according to the position of the label corresponding to the estimated distance on the target object, the measured distances of each anchor point corresponding to the estimated distance, and the position of the label corresponding to the measured distance on the target object. An upper bound Euclidean matrix is constructed based on the first Euclidean distance matrix and multiple upper bound distances; wherein, the upper bound Euclidean matrix is of the same type as the first Euclidean distance matrix, and the positions of the squares of the upper bound distances in the upper bound Euclidean matrix correspond one-to-one with the positions of the missing elements in the first Euclidean distance matrix; A lower bound Euclidean matrix is constructed based on the first Euclidean distance matrix and multiple lower bound distances; wherein the lower bound Euclidean matrix is of the same type as the first Euclidean distance matrix, and the positions of the squares of the lower bound distances in the lower bound Euclidean matrix correspond one-to-one with the positions of the missing elements in the first Euclidean distance matrix; and The average of the upper bound Euclidean matrix and the lower bound Euclidean matrix is used to obtain the initial value Euclidean distance matrix. Based on the Euclidean distance matrix filling algorithm, the second Euclidean distance matrix is determined according to the upper bound Euclidean matrix, the lower bound Euclidean matrix, the initial value Euclidean distance matrix, the positions of the multiple labels on the target object, and the positions of the multiple anchor points in the target scene.
4. The positioning method according to claim 3, wherein, Based on the triangle theorem, and according to the position of the label corresponding to the estimated distance on the target object, the measured distances of each anchor point corresponding to the estimated distance, and the position of the label corresponding to the measured distance on the target object, the upper and lower bounds of each estimated distance are determined, including: Calculate the difference between each measured distance and its corresponding first predetermined distance for each anchor point corresponding to the estimated distance; wherein the first predetermined distance is the distance between two tags corresponding to the measured distance and the estimated distance, respectively; The maximum value among the differences is taken as the lower bound of the estimated distance; Calculate the sum of each measured distance and its corresponding first predetermined distance for each anchor point corresponding to the estimated distance; and The minimum value among the sums is taken as the upper bound of the estimated distance.
5. The positioning method according to claim 3, wherein, Constructing an upper bound Euclidean matrix based on the first Euclidean distance matrix and multiple upper bound distances includes: Calculate the sum of each of the aforementioned upper bound distances and the preset error coefficient to obtain the final upper bound distance; Calculate the sum of each of the measured distances and the preset error coefficient to obtain a first distance; and The upper bound Euclidean matrix is constructed using the squares of each of the first distances, the squares of each of the first predetermined distances, the squares of each of the second predetermined distances, and the squares of each of the final upper bound distances as elements; wherein, the position of the square of the final upper bound distance in the upper bound Euclidean matrix corresponds one-to-one with the position of the missing element in the first Euclidean distance matrix; the squares of the first distances, the squares of the first predetermined distances, and the squares of the second predetermined distances in the upper bound Euclidean matrix correspond one-to-one with the squares of the measured distances, the squares of the first predetermined distances, and the squares of the second predetermined distances in the first Euclidean distance matrix, respectively.
6. The positioning method according to claim 3, wherein, Constructing a lower bound Euclidean matrix based on the first Euclidean distance matrix and multiple lower bound distances includes: Calculate the difference between each of the lower bound distances and the preset error coefficient to obtain the final lower bound distance; Calculate the difference between each of the measured distances and the preset error coefficient to obtain a second distance; and The lower bound Euclidean matrix is constructed using the squares of each of the second distances, the squares of each of the first predetermined distances, the squares of each of the second predetermined distances, and the squares of each of the final lower bound distances as elements of the lower bound Euclidean matrix; wherein, the positions of the squares of the final lower bound distances in the lower bound Euclidean matrix correspond one-to-one with the positions of the missing elements in the first Euclidean distance matrix; the squares of the second distances, the squares of the first predetermined distances, and the squares of the second predetermined distances in the lower bound Euclidean matrix correspond one-to-one with the squares of the measured distances, the squares of the first predetermined distances, and the squares of the second predetermined distances in the first Euclidean distance matrix, respectively.
7. The positioning method according to any one of claims 1 to 6, wherein, Determine the measured distances between multiple labels on a target object within the target scene and their visible anchor points, including: Generate a transmission command to control all the tags on the target object to transmit radio positioning signals; In response to the receipt of feedback signals corresponding to the visible anchor points by the plurality of tags, the time of flight of the radio positioning signal corresponding to the tag is determined; and The measured distance is determined based on the flight time.
8. A positioning system, characterized in that, include: Multiple anchor points are set within the target scene; Multiple tags are respectively placed on target objects within the target scene; wherein, radio communication between at least two of the tags and at least one of the anchor points is not blocked; The processor is configured to perform the positioning method as described in any one of claims 1 to 7.
9. An electronic device, characterized in that, include: At least one processor; as well as, A memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, the instructions being executed by the at least one processor to enable the at least one processor to perform the positioning method according to any one of claims 1 to 7.
10. A computer-readable storage medium storing a computer program, characterized in that, When the computer program is executed by the processor, it implements the positioning method as described in any one of claims 1 to 7.