A vehicle cluster cooperative positioning method based on MDS-IDBO algorithm
By optimizing the anchor node layout and coordinate transformation using the MDS-IDBO algorithm, the problem of low accuracy in vehicle positioning under harsh environments was solved, achieving efficient and accurate vehicle positioning.
Patent Information
- Application Number
- CN202411857694.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-17
- Publication Date
- 2025-11-18
- Estimated Expiration
- 2044-12-17
AI Technical Summary
Existing vehicle positioning technologies have low positioning accuracy in harsh environments, BDS/GPS signal interruption or large errors, and the impact of anchor node deployment geometry on positioning accuracy is not fully considered.
The MDS-IDBO algorithm is used to optimize the geometric layout of anchor nodes. Combined with Tent chaotic mapping and reverse learning algorithm, the minimum GDOP of the vehicle cluster cooperative localization wireless sensor network is searched by IDBO algorithm to optimize the geometric layout and coordinate transformation parameters of anchor nodes.
It improves vehicle positioning accuracy, reduces algorithm complexity and computation time, and enhances the robustness and accuracy of positioning.
Smart Images

Figure CN119676635B_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of communication technology, specifically a vehicle cluster cooperative localization method based on the MDS-IDBO algorithm. Background Technology
[0002] Vehicle-to-everything (V2X) technology has emerged as a way to improve our quality of life through various safety and non-safety applications. V2X applications in our lives include traffic safety and efficiency, infotainment, parking assistance, roadside assistance, remote diagnostics, telematics, intelligent logistics, and autonomous vehicles. It is a complex system, a platform where many disciplines and technologies intersect, with high-precision, high-reliability positioning technology being a key element. Under different driving and environmental conditions, external information obtained through vehicle-to-vehicle (V2V) and vehicle-to-infrastructure (V2I) communication systems has shown potential to improve vehicle positioning accuracy, robustness, and reliability. In such systems, vehicles can broadcast their status information, including speed, heading, location, and environmental information, to other vehicles, while also obtaining information about adverse weather conditions or obstacles from infrastructure.
[0003] Cooperative positioning technologies utilize wireless communication devices for information exchange, such as Ultra Wideband (UWB), Wi-Fi, and cellular networks. Generally, the main limitations affecting positioning accuracy are limited field of view, environmental information beyond the range, and limited operability in harsh environments. Cooperative positioning technologies offer significant potential to overcome these limitations. Therefore, when information from a sufficient number of connected vehicles is available, positioning accuracy can be significantly improved. In typical scenarios, equipping vehicles with BDS / GPS modules can dynamically acquire high-precision location information. However, when the vehicle's environment is unstable or in abnormal weather conditions, the BDS / GPS signal of some vehicles may be interrupted, or the positioning results may have large errors, leading to a significant increase in the positioning error of the target.
[0004] Multidimensional scaling localization (MDS-MAP) has become a popular choice among cooperative localization algorithms due to its advantages such as adaptability to various scenarios, low requirement for anchor nodes, and low hardware cost. However, the MDS-MAP algorithm suffers from significant positioning errors when the node network topology is poor. Furthermore, the accuracy of parameters directly affects the positioning performance during coordinate transformation. Therefore, this invention improves upon the algorithm by addressing two aspects: anchor node deployment and parameter optimization.
[0005] Current research on the optimization of anchor node deployment mostly focuses on ensuring the nodes can be located, with little consideration given to the impact of the geometry of the anchor node deployment on positioning accuracy.
[0006] Intelligent optimization algorithms are metaheuristic algorithms built by simulating phenomena in nature. Compared with traditional mathematical programming, they rely on simple rules and randomness to solve complex multi-peaked extreme value problems. Because this method has weak dependence on the initial scheme and does not require gradient information, it successfully overcomes the shortcomings of traditional optimization algorithms, providing a novel approach to tackling complex optimization problems. The Dung Beetle Swarm Optimization (DBO) algorithm is a type of intelligent optimization algorithm that calculates the optimal value of the fitness function and its corresponding optimal solution by simulating the rolling, foraging, stealing, and reproductive behaviors of dung beetles in nature.
[0007] Building upon this foundation, this invention improves upon the existing Tent chaotic mapping and back-learning algorithm, proposing an improved dung beetle swarm optimization algorithm. GDOP, the ratio between ranging error and positioning estimation error, is commonly used to estimate the desired positioning accuracy and exhibits superior performance in wireless sensor network applications. To further enhance positioning accuracy, this invention searches for the minimum GDOP in a vehicle cluster cooperative positioning wireless sensor network using the IDBO algorithm, optimizes the anchor node geometry, and employs the IDBO algorithm to optimize transformation parameters during the coordinate transformation stage, effectively reducing the impact of parameter uncertainty on positioning. Summary of the Invention
[0008] The purpose of this invention is to overcome the shortcomings of the prior art and provide a vehicle cluster cooperative localization method based on the MDS-IDBO algorithm.
[0009] To achieve the above objectives, the present invention adopts the following technical solution:
[0010] A vehicle cluster cooperative localization method based on the MDS-IDBO algorithm includes the following steps:
[0011] Step 1: Construct a multi-node collaborative localization model;
[0012] Step 2: Calculate the relative coordinates using the MDS-MAP algorithm;
[0013] Step 3: Use the IDBO algorithm to correct the anchor node location;
[0014] Step 4: Using the anchor nodes located and corrected in Step 3, recalculate the squared distance matrix and the relative coordinates of the nodes according to Steps 1 and 2;
[0015] Step 5: Using the squared distance matrix and the relative coordinates of the nodes, substitute the localization error function as the fitness function into the IDBO algorithm to obtain the optimal coordinate transformation matrix and calculate the absolute coordinates.
[0016] Preferably, step 1 specifically includes:
[0017] Step 11: Multi-node collaborative positioning scenario, wherein nodes are equipped with BDS / GPS module anchors, nodes are not fixed and are in a moving state, and all nodes are equipped with communication devices;
[0018] Step 12: Construct a multi-node collaborative localization model:
[0019] In a UWB system for time synchronization and network ranging, N network devices are added to communicate in a k-dimensional space, where k is chosen to be 2, and the number of nodes is p. i The coordinates are p i =(x i ,y i The coordinate vector corresponding to the location information is X = [p1, p2, ..., p...]. n ] T , let d ij Let represent the Euclidean distance between nodes i and j, and let D be an N-dimensional symmetric distance matrix composed of all the measured Euclidean distance values.
[0020] The Euclidean distance value is calculated using the following formula:
[0021]
[0022] The N-dimensional symmetric distance matrix D is:
[0023]
[0024] Preferably, step 2 specifically includes: assuming that the coordinates of all nodes are at the origin, setting the distance values between nodes as the difference between them, constructing a distance matrix using the distance information, calculating the relative coordinates of each node through linear transformation and singular value decomposition, and performing singular value decomposition on the centered squared distance matrix.
[0025] Distance matrix After centering and calculating the inner product matrix, we get:
[0026]
[0027] Among them, D em Let D be the m-th power of Hadamard, and J be a centered matrix that can be represented as:
[0028]
[0029] For matrix Perform singular value decomposition, retain two or three largest eigenvalues and eigenvectors, and construct the relative coordinate X:
[0030]
[0031] In the formula, Q represents the matrix formed by the eigenvectors; Λ represents the diagonal matrix formed by the corresponding eigenvalues.
[0032] Preferably, step 3 specifically includes:
[0033] Step 31: Calculate GDOP;
[0034] Step 32: Use GDOP as the fitness function and substitute it into the IDBO algorithm to improve the layout of anchor nodes.
[0035] Preferably, step 31 specifically includes:
[0036] Assuming there are N nodes in the region, including L anchor nodes and M nodes to be located, among all these anchor node combinations, we can find the combination that minimizes the geometrically accurate (GDOP) dilution of the wireless sensor network. Given the anchor node information with known locations, the shortest estimated neighbor information matrix between the anchor node and the unknown node in the k-th combination is:
[0037]
[0038] Assuming t = 1, 2, ..., M and a = 1, 2, ..., L, then calculating GDOP requires using the direction cosines to construct the geometric matrix G of the unknown nodes. k for:
[0039]
[0040] in, and The nodes are calculated using the direction cosines on the x and y axes. and It uses the initial estimated relative position coordinates of unknown nodes obtained by MDS.
[0041] The GDOP of a network calculated using this matrix is defined as follows:
[0042]
[0043] in:
[0044]
[0045] Preferably, in step 32, the layout of anchor nodes is improved by substituting GDOP as the fitness function into the IDBO algorithm, specifically including:
[0046] Step 3.2.1: Population initialization, specifying initial parameters;
[0047] Step 3.2.2: Calculate the fitness value of each individual using the existing objective function;
[0048] Step 3.2.3: Update the individual's location;
[0049] Step 3.2.4: Update the individual best position and the group best position, and determine whether the termination iteration condition is met. If it is met, stop and output the final result; if it is not met, return to continue executing the algorithm.
[0050] Preferably, step 3.2.1 specifically includes:
[0051] (1) Use Tent mapping to generate the initial positions x of N dung beetles. i ;
[0052]
[0053] It is important to note that when Θ is 0.5, the value of x should avoid falling into (0.2, 0.4, 0.6, 0.8) to avoid the system exhibiting a short-period state, or falling into (0, 0.25, 0.5, 0.75) to avoid the subsequent occurrence of a fixed point.
[0054] (2) The N initial solutions x generated by the above formula i Generate N corresponding reverse initial solutions nx according to the formula. i ;
[0055] nx i = rand(Ub-Lb)-x i ;
[0056] In the formula, Ub and Lb are the upper and lower limits of the current position of the dung beetle;
[0057] (3) In the optimization problem of finding the minimum value, 2N x will be generated. i and nx i The fitness values of the dung beetles at their locations are sorted sequentially, and the top N values are selected as the initial population.
[0058] Preferably, steps 3.2.2 and 3.2.3 specifically include:
[0059] (1) Rolling ball operator
[0060] When the dung beetle moves forward without obstacles, the solution to its individual position update equation, i.e., the fitness function, is as follows:
[0061] x i (t+1)=x i (t)+α×k×x i(t-1)+b×Δx
[0062] Δx=|x i (t)-X w |;
[0063] Where t represents the current iteration number, x i (t) represents the position information of the i-th dung beetle in the t-th iteration, k∈(0,0.2] is the perturbation coefficient, b is a random number between (0,1), α takes -1 or 1, X w Indicates the worst-case position globally;
[0064] When a dung beetle encounters an obstacle, it needs to adjust its direction to find a new path. This paper uses a tangent function to obtain the new rolling direction, considering only the range [0, π]. The position update is as follows:
[0065] x i (t+1)=x i (t)+tan(θ)x i (t)-x i (t-1)|;
[0066] Where θ is the deflection angle, and its value is [0,π].
[0067] (2) Reproduction operator
[0068] Inspired by nature, a boundary selection strategy is proposed to simulate the egg-laying area of female dung beetles:
[0069] Lb * =max(X * ×(1-R),Lb)
[0070] Ub * =min(X) * ×(1+R),Ub);
[0071] Among them, X * Lb represents the current optimal position, which is also the optimal solution within the region of the optimization problem. * and Ub * R represents the lower and upper boundaries of the spawning area, where R = 1 - t / T max ,T max This indicates the maximum number of iterations, and Lb and Ub represent the lower limit and upper limit of the optimization problem;
[0072] Once a female dung beetle selects an oviposition area, it will lay a brood ball within that area; each female dung beetle produces only one egg in each iteration; the boundary of the oviposition area is dynamic, primarily determined by the R value; therefore, the position of the brood ball is also dynamic during the iteration process, defined as follows:
[0073] B i (t+1)=X * +b1×(B i (t)-Lb * )+b2×(B i (t)-Ub * );
[0074] Among them, B i (t) represents the position information of the i-th brooding ball in the t-th iteration, and b1 and b2 are both D-dimensional random vectors, where D represents the dimension of the optimization problem;
[0075] (3) Foraging Calculator
[0076] The eggs laid by the female dung beetle will gradually hatch into baby dung beetles, which will emerge from underground to search for food. Their optimal foraging area is modeled as follows:
[0077] Lb b =max(X b ×(1-R),Lb)
[0078] Ub b =min(X) b ×(1+R),Ub);
[0079] Among them, X b Lb represents the globally optimal position. b and Ub b These represent the lower and upper boundaries of the optimal foraging zone, respectively.
[0080] The location of the dung beetle has been updated as follows:
[0081] x i (t+1)=x i (t)+C1×(x i (t)-Lb b )+C2×(x i (t)-Ub b );
[0082] Where, x i (t) represents the position of the i-th dung beetle in the t-th iteration, C1 is a random number following a normal distribution, and C2 is a random vector of (0,1);
[0083] (4) Stealing operator
[0084] The location of the dung beetle that performs the stealing operator is updated as follows:
[0085] x i (t+1)=X b +S×g×(x i (t)-X * |+xi (t)-X b );
[0086] Where, x i (t) represents the position of the i-th thief in the t-th iteration, g is a D-dimensional random vector following a normal distribution, and S is a constant;
[0087] To balance the algorithm's ability to perform global optimization and local exploitation, a dynamic weighting strategy is introduced into the stealing operator, as shown in the following formula:
[0088]
[0089] Among them, a1 is larger in the early stage of iteration, which increases the global optimization ability of the algorithm; a2 gradually increases in the later stage of iteration, enabling the operator to escape local optima.
[0090] After the improvement, the position of the dung beetle executing the stealing operator is updated as follows:
[0091] x i (t+1)=a1×X b +a2×S×g×(x i (t)-X * |+x i (t)-X b ).
[0092] Preferably, step 4 specifically includes:
[0093] Using the anchor nodes with updated positions, recalculate the squared distance matrix and relative node coordinates according to steps 1 and 2.
[0094] Preferably, step 5 specifically includes:
[0095] Using the anchor node coordinates and relative coordinate matrix, and substituting the positioning error function as the fitness function into the IDBO algorithm, the optimal coordinate transformation matrix is obtained and the absolute coordinates are calculated:
[0096] The absolute coordinates are calculated as follows:
[0097]
[0098] In the formula, (x1,x2) and (y1,y2) are the relative and absolute coordinates of the anchor node, respectively, Δx1 and Δx2 are translation vectors, and α and m are the rotation angle and control parameter, respectively. During the coordinate transformation process, the accuracy of the parameters will directly affect the positioning effect. In order to ensure positioning accuracy, the optimal parameters should be calculated as much as possible.
[0099] An error function f(Δx1,Δx2,α,m) is defined to measure the difference between the actual coordinates of the anchor nodes and the estimated results, where N is the number of anchor nodes;
[0100]
[0101] The smaller the value of f(Δx1,Δx2,α,m), the better the parameter optimization effect and the smaller the final positioning error. By substituting f(Δx1,Δx2,α,m) as the fitness function into the IDBO algorithm to solve argmin‖f(Δx1,Δx2,α,m)‖, the optimal coordinate transformation parameters are obtained, thereby improving the positioning accuracy.
[0102] In summary, due to the adoption of the above technical solution, the beneficial effects of the present invention are:
[0103] In this invention, node positioning correction is performed using the MDS-MAP algorithm, which can largely correct the errors caused by BDS / GPS positioning. The proposed IDBO algorithm is used to optimize the MDS-MAP algorithm, resulting in lower algorithm complexity, shorter computation time, and higher positioning accuracy. Attached Figure Description
[0104] Figure 1 This is the algorithm flow of the present invention. Figure 1 ;
[0105] Figure 2 This is the algorithm flow of the present invention. Figure 2 ;
[0106] Figure 3 This is a diagram illustrating the implementation of the positioning system of the present invention. Detailed Implementation
[0107] The specific embodiments of the present invention are described in detail below.
[0108] The "range" disclosed in this invention is defined by a lower limit and an upper limit. A given range is defined by selecting a lower limit and an upper limit, which define the boundaries of a particular range. Ranges defined in this way can include or exclude endpoints and can be arbitrarily combined; that is, any lower limit can be combined with any upper limit to form a range. For example, if a range of 10–50 is listed for a specific parameter, it is also expected that ranges of 10–40 and 20–50 are also included. Furthermore, if the minimum range values are 1 and 2, and the maximum range values are 3, 4, and 5, then the following ranges are all expected: 1–3, 1–4, 1–5, 2–3, 2–4, and 2–5. In this application, unless otherwise stated, the numerical range "a–b" represents a shortened representation of any combination of real numbers between a and b, where a and b are real numbers. For example, the numerical range "0–5" means that all real numbers between "0–5" have been listed herein; "0–5" is merely a shortened representation of these numerical combinations.
[0109] Unless otherwise specified, all embodiments and optional embodiments of this application can be combined to form new technical solutions.
[0110] Unless otherwise specified, all technical features and optional technical features of this application may be combined to form new technical solutions.
[0111] Unless otherwise specified, all steps in this application may be performed sequentially or randomly, preferably sequentially. For example, the method includes steps (a) and (b), indicating that the method may include steps (a) and (b) performed sequentially, or it may include steps (b) and (a) performed sequentially. For example, the mention that the method may also include step (c) indicates that step (c) may be added to the method in any order. For example, the method may include steps (a), (b), and (c), or it may include steps (a), (c), and (b), or it may include steps (c), (a), and (b), etc.
[0112] Unless otherwise specified, the terms "comprising" and "including" as used in this application can be open-ended or closed-ended. For example, "comprising" and "including" can mean that other components not listed may also be included, or that only the listed components may be included.
[0113] Unless otherwise specified, the reaction will proceed under normal temperature and pressure conditions.
[0114] Unless otherwise specified, all parts or percentages are by weight or by weight percentage.
[0115] In this invention, all the substances used are known substances that can be purchased or synthesized by known methods.
[0116] In this invention, all the devices or equipment used are conventional devices or equipment known in the art and are readily available.
[0117] The following embodiments further illustrate specific implementations of the vehicle cluster cooperative localization method based on the MDS-IDBO algorithm of the present invention. The vehicle cluster cooperative localization method based on the MDS-IDBO algorithm of the present invention is not limited to the descriptions in the following embodiments.
[0118] Reference Figures 1-3 The present invention mainly includes the following steps:
[0119] Step 1) Construct a multi-node collaborative localization model:
[0120] (1) Multi-node positioning scenario:
[0121] Multi-node collaborative positioning scenarios involve multiple nodes, where each node is equipped with a BDS / GPS module and is not fixed but in a mobile state. All nodes are equipped with communication devices.
[0122] (2) Construct a multi-node localization model:
[0123] Given that a UWB system for time synchronization and network ranging has N network devices communicating in a k-dimensional space, this paper only considers the relative position calculation in two-dimensional space; therefore, k is chosen to be 2. Node p i The coordinates can be represented as p i =(x i ,y i The coordinate vector corresponding to the location information is X = [p1, p2, ..., p...]. n ] T And let d ij The Euclidean distance between nodes i and j is expressed as follows:
[0124]
[0125] The measured distances form an N-dimensional symmetric distance matrix D, which is represented as follows:
[0126]
[0127] Step 2) Calculate the relative coordinates using the MDS-MAP algorithm:
[0128] Distance matrix After centering and calculating the inner product matrix, we get:
[0129]
[0130] Among them, D em Let D be the m-th power of Hadamard, and J be a centered matrix that can be represented as:
[0131]
[0132] For matrix Perform singular value decomposition, retain two or three largest eigenvalues and eigenvectors, and construct the relative coordinate X:
[0133]
[0134] In the formula, Q represents the matrix formed by the eigenvectors; Λ represents the diagonal matrix formed by the corresponding eigenvalues.
[0135] Step 3) Use the IDBO algorithm to correct the anchor node location:
[0136] Calculate GDOP:
[0137] Assuming there are N nodes in the region, including L anchor nodes and M nodes to be located, among all these anchor node combinations, we can find the combination that minimizes the geometrically accurate (GDOP) dilution of the wireless sensor network. Given the anchor node information with known locations, the shortest estimated neighbor information matrix between the anchor node and the unknown node in the k-th combination is:
[0138]
[0139] Assuming t = 1, 2, ..., M and a = 1, 2, ..., L, then calculating GDOP requires using the direction cosines to construct the geometric matrix G of the unknown nodes. k for:
[0140]
[0141] in, and The nodes are calculated using the direction cosines on the x and y axes. and It uses the initial estimated relative position coordinates of unknown nodes obtained by MDS.
[0142] The GDOP of a network calculated using this matrix is defined as follows:
[0143]
[0144] The layout of anchor nodes is improved by substituting GDOP as the fitness function into the IDBO algorithm. The IDBO algorithm process is as follows:
[0145] Population initialization, given initial parameters:
[0146] (a.1) Generate the initial positions x of N dung beetles using Tent mapping. i :
[0147]
[0148] It is important to note that when Θ is 0.5, the value of x should avoid falling into (0.2, 0.4, 0.6, 0.8) to avoid the system exhibiting a short-period state, or falling into (0, 0.25, 0.5, 0.75) to avoid the subsequent occurrence of a fixed point.
[0149] (a.2) The N initial solutions x generated by the above equation i Generate N corresponding reverse initial solutions nx according to the formula. i ;
[0150] nx i = rand(Ub-Lb)-xi ;
[0151] In the formula, Ub and Lb are the upper and lower limits of the current position of the dung beetle.
[0152] (a.3) In the optimization problem of finding the minimum value, 2N x will be generated. i and nx i The fitness values of the dung beetles at their locations are sorted sequentially, and the top N values are selected as the initial population.
[0153] Using the four operators below and the existing objective function, calculate the fitness value of each individual and update the individual's position (i.e., the solution to the fitness function).
[0154] (b.1) Rolling Ball Operator
[0155] When the dung beetle moves forward without obstacles, the solution to its individual position update equation, i.e., the fitness function, is as follows:
[0156] x i (t+1)=x i (t)+α×k×x i (t-1)+b×Δx
[0157] Δx=|x i (t)-X w |;
[0158] Where t represents the current iteration number, x i (t) represents the position information of the i-th dung beetle in the t-th iteration, k∈(0,0.2] is the perturbation coefficient, b is a random number between (0,1), α takes -1 or 1, X w This represents the worst-case position globally. The value of α is determined using Algorithm 1.
[0159]
[0160] When a dung beetle encounters an obstacle, it needs to adjust its direction to find a new path. This paper uses a tangent function to obtain the new rolling direction, considering only the range [0, π]. The position update is as follows:
[0161] x i (t+1)=x i (t)+tan(θ)x i (t)-x i (t-1), θ∈[0,π];
[0162] (b.2) Rolling Ball Operator
[0163] A boundary selection strategy was used to simulate the egg-laying area of female dung beetles:
[0164] Lb * =max(X * ×(1-R),Lb)
[0165] Ub * =min(X) * ×(1+R),Ub);
[0166] Among them, X * Lb represents the current optimal position, which is also the optimal solution within the region of the optimization problem. * and Ub * R represents the lower and upper boundaries of the spawning area, where R = 1 - t / T max ,T max The maximum number of iterations is represented by Lb and Ub, which represent the lower limit and upper limit of the optimization problem, respectively.
[0167] Once a female dung beetle selects an oviposition area, it will lay a brood ball within that area. Each female dung beetle lays only one egg in each iteration. The boundaries of the oviposition area are dynamic, primarily determined by the R value. Therefore, the location of the brood ball is also dynamic during the iteration process, defined as follows:
[0168] B i (t+1)=X * +b1×(B i (t)-Lb * )+b2×(B i (t)-Ub * );
[0169] Among them, B i (t) represents the position information of the i-th brooding ball in the t-th iteration, and b1 and b2 are both D-dimensional random vectors, where D represents the dimension of the optimization problem.
[0170] (b.3) Foraging Calculator
[0171] The eggs laid by the female dung beetle will gradually hatch into baby dung beetles, which will emerge from underground to search for food. Their optimal foraging area is modeled as follows:
[0172] Lb b =max(X b ×(1-R),Lb)
[0173] Ub b =min(X) b ×(1+R),Ub);
[0174] Among them, X b Lb represents the globally optimal position. b and Ub b These represent the lower and upper boundaries of the optimal foraging zone, respectively.
[0175] The location of the dung beetle has been updated as follows:
[0176] x i (t+1)=x i (t)+C1×(x i (t)-Lb b )+C2×(x i (t)-Ub b );
[0177] Where, x i (t) represents the position of the i-th dung beetle in the t-th iteration, C1 is a random number following a normal distribution, and C2 is a random vector of (0,1).
[0178] (b.4) Stealing Operator
[0179] The location of the dung beetle that performs the stealing operator is updated as follows:
[0180] x i (t+1)=X b +S×g×(x i (t)-X * |+x i (t)-X b );
[0181] Where, x i (t) represents the position of the i-th thief in the t-th iteration, g is a D-dimensional random vector following a normal distribution, and S is a constant.
[0182] To balance the algorithm's ability to perform global optimization and local exploitation, a dynamic weighting strategy is introduced into the stealing operator, as shown in the following formula:
[0183]
[0184] Among them, a1 is larger in the early stage of iteration, which increases the global optimization ability of the algorithm; a2 gradually increases in the later stage of iteration, enabling the operator to escape local optima.
[0185] After the improvement, the position of the dung beetle executing the stealing operator is updated as follows:
[0186] x i (t+1)=a1×X b +a2×S×g×(x i (t)-X * |+x i (t)-X b );
[0187] Update the individual best position and the group best position, and determine whether the termination iteration condition is met. If it is met, stop and output the final result; otherwise, return to continue executing the algorithm.
[0188] Step 4) Using the anchor nodes with updated positions, recalculate the squared distance matrix and the relative coordinates of the nodes according to Steps 1) and 2).
[0189] Step 5) Using the anchor node coordinates and relative coordinate matrix, substitute the positioning error function as the fitness function into the IDBO algorithm to obtain the optimal coordinate transformation matrix and calculate the absolute coordinates:
[0190] The absolute coordinates are calculated as follows:
[0191]
[0192] In the formula, (x1, x2) and (y1, y2) are the relative and absolute coordinates of the anchor node, respectively; Δx1 and Δx2 are the translation vectors; and α and m are the rotation angle and control parameter, respectively. During coordinate transformation, the accuracy of the parameters directly affects the positioning effect. To ensure positioning accuracy, the optimal parameters should be calculated as much as possible.
[0193] An error function f(Δx1,Δx2,α,m) is defined to measure the difference between the actual coordinates of the anchor nodes and the estimated results, where N is the number of anchor nodes.
[0194]
[0195] The smaller the value of f(Δx1,Δx2,α,m), the better the parameter optimization effect, and the smaller the final positioning error. By substituting f(Δx1,Δx2,α,m) as the fitness function into the IDBO algorithm to solve argmin‖f(Δx1,Δx2,α,m)‖, the optimal coordinate transformation parameters are obtained, thereby improving positioning accuracy.
[0196] The following section, based on experimental data, follows the procedure as follows: Figure 3 The diagram illustrating the positioning system further explains the technical effects of the present invention:
[0197] 1. Experimental conditions:
[0198] The experimental environment is: an area of 1000m² 2 The continuous outdoor track and field area on the left and right.
[0199] The hardware consists of: an Intel 12700 Lenovo laptop; and 5 car models, each equipped with a UWB module and a GPS positioning module using an STM32F103T8U6 chip.
[0200] The software platform is: Windows 11 operating system and Keil uVision5 software.
[0201] 2. Experimental content and result analysis:
[0202] A comparative experiment on the root mean square error of positioning of the present invention and the prior art was conducted, and the results are shown in Table 1.
[0203] Table 1. Error Table between the Method of the Invention and Existing Positioning Methods
[0204]
[0205] The formula for calculating positioning error is:
[0206]
[0207] Where σ represents the error between the estimated position obtained by this invention and the true position, (x R ,y R ) T This represents the estimated position of the target node measured using the method of this invention, (x T ,y T ) T This indicates the actual location of the target node.
[0208] As can be seen from the numerical descriptions given in Table 1, the positioning error of the present invention is smaller than that of the prior art method when the OFDM signal-to-noise ratio is the same.
[0209] In summary, this invention deploys BDS / GPS modules on nodes to acquire positioning information, while simultaneously using the MDS-IDBO algorithm to correct the positioning of dynamic nodes, thus making the positioning of dynamic nodes more accurate. Through these methods, positioning accuracy is improved, providing new ideas and methods for future research on collaborative positioning algorithms.
[0210] The above description, in conjunction with specific preferred embodiments, provides a further detailed explanation of the present invention. It should not be construed that the specific implementation of the present invention is limited to these descriptions. For those skilled in the art, various simple deductions or substitutions can be made without departing from the concept of the present invention, and all such modifications and substitutions should be considered within the scope of protection of the present invention.
Claims
1. A vehicle cluster cooperative localization method based on the MDS-IDBO algorithm, characterized in that, Includes the following steps: Step 1: Construct a multi-node collaborative localization model; Step 2: Calculate the relative coordinates using the MDS-MAP algorithm; Step 3: Use the IDBO algorithm to correct the anchor node location; Step 4: Using the anchor nodes located and corrected in Step 3, recalculate the squared distance matrix and the relative coordinates of the nodes according to Steps 1 and 2; Step 5: Using the squared distance matrix and the relative coordinates of the nodes, substitute the localization error function as the fitness function into the IDBO algorithm to obtain the optimal coordinate transformation matrix and calculate the absolute coordinates; Step 3 specifically includes: Step 3.1: Calculate GDOP; Step 3.2: Use GDOP as the fitness function and substitute it into the IDBO algorithm to improve the layout of anchor nodes; Among them, the MDS-MAP algorithm is a multidimensional scaling localization algorithm; IDBO algorithm is a dung beetle swarm algorithm; The MDS-IDBO algorithm is a fusion of the multidimensional scaling localization algorithm and the dung beetle swarm algorithm. GDOP is the ratio between the ranging measurement error and the positioning estimation error, used to estimate the desired positioning estimation accuracy. Step 3.1 specifically includes: There are N nodes in the region, including L anchor nodes and M nodes to be located. Among all these anchor node combinations, the combination that minimizes the geometrically diluted GDOP of the wireless sensor network is found. Given the anchor node information with known locations, the shortest estimated neighbor information matrix between the anchor node and the unknown node in the k-th combination is: If t = 1, 2, ..., M and a = 1, 2, ..., L, then calculating GDOP requires using the direction cosines to construct the geometric matrix G of the unknown nodes. k for: in, and The nodes are calculated using the direction cosines on the x and y axes. and It uses the initial estimated relative position coordinates of unknown nodes obtained from MDS; The GDOP of a network calculated using this matrix is defined as follows: in: In step 3.2, GDOP is used as the fitness function and substituted into the IDBO algorithm to improve the layout of anchor nodes, specifically including: Step 3.2.1: Population initialization, specifying initial parameters; Step 3.2.2: Calculate the fitness value of each individual using the existing objective function; Step 3.2.3: Update the individual's location; Step 3.2.4: Update the individual best position and the group best position, and determine whether the termination iteration condition is met. If it is met, stop and output the final result; if it is not met, return to continue executing the algorithm. Step 3.2.1 specifically includes: (1) Use Tent mapping to generate the initial positions x of N dung beetles. i ; Where Θ is the segmentation point parameter. It should be noted that when Θ is 0.5, the value of x should avoid falling into (0.2, 0.4, 0.6, 0.8) to cause the system to exhibit a short-period state, or falling into (0, 0.25, 0.5, 0.75) to cause a fixed point to appear later. (2) The N initial solutions x generated by the above formula i Generate N corresponding reverse initial solutions nx according to the formula. i ; nx i =rand(Ub-Lb)-x i ; In the formula, Ub and Lb are the upper and lower limits of the current position of the dung beetle; (3) In the optimization problem of finding the minimum value, 2N x will be generated. i and nx i The fitness values of the dung beetles at their locations are sorted sequentially, and the top N values are selected as the initial population. Steps 3.2.2 and 3.2.3 specifically include: (1) Rolling ball operator When the dung beetle moves forward without obstacles, the solution to its individual position update equation, i.e., the fitness function, is as follows: x i (t+1)=x i (t)+α×k×x i (t-1)+b×Δx Δx=|x i (t)-X w |; Where t represents the current iteration number, x i (t) represents the position information of the i-th dung beetle in the t-th iteration, k∈(0,0.2] is the perturbation coefficient, b is a random number between (0,1), α takes -1 or 1, X w Indicates the worst-case position globally; When a dung beetle encounters an obstacle, it needs to adjust its direction and find a new route. A tangent function is used to obtain the new rolling direction, which is only considered within the range [0, π]. The position is updated as follows: x i (t+1)=x i (t)+tan(θ)|x i (t)-x i (t-1)|| Where θ is the deflection angle, and its value is [0,π]. (2) Reproduction operator Inspired by nature, a boundary selection strategy is proposed to simulate the egg-laying area of female dung beetles: Lb * =max(X * ×(1-R),Lb) Ub * =min(X * ×(1+R),Ub); Among them, X * Lb represents the current optimal position, which is also the optimal solution within the region of the optimization problem. * and Ub * R represents the lower and upper boundaries of the spawning area, where R = 1 - t / T max ,T max This indicates the maximum number of iterations, and Lb and Ub represent the lower limit and upper limit of the optimization problem; Once a female dung beetle selects an oviposition area, it will lay a brood ball within that area; each female dung beetle produces only one egg in each iteration; the boundary of the oviposition area is dynamic, primarily determined by the R value; therefore, the position of the brood ball is also dynamic during the iteration process, defined as follows: B i (t+1)=X * +b1×(B i (t)-Lb * )+b2×(B i (t)-Ub * ); Among them, B i (t) represents the position information of the i-th brooding ball in the t-th iteration, and b1 and b2 are both D-dimensional random vectors, where D represents the dimension of the optimization problem; (3) Foraging Calculator The eggs laid by the female dung beetle will gradually hatch into baby dung beetles, which will emerge from underground to search for food. Their optimal foraging area is modeled as follows: Lb b =max(X b ×(1-R),Lb) Ub b =min(X b ×(1+R),Ub); Among them, X b Lb represents the globally optimal position. b and Ub b These represent the lower and upper boundaries of the optimal foraging zone, respectively. The location of the dung beetle has been updated as follows: x i (t+1)=x i (t)+C1×(x i (t)-Lb b )+C2×(x i (t)-Ub b ); Where, x i (t) represents the position of the i-th dung beetle in the t-th iteration, C1 is a random number following a normal distribution, and C2 is a random vector of (0,1); (4) Stealing operator The location of the dung beetle that performs the stealing operator is updated as follows: x i (t+1)=X b +S×g×(|x i (t)-X * |+|x i (t)-X b |); Where, x i (t) represents the position of the i-th thief in the t-th iteration, g is a D-dimensional random vector following a normal distribution, and S is a constant; To balance the algorithm's ability to perform global optimization and local exploitation, a dynamic weighting strategy is introduced into the stealing operator, as shown in the following formula: Among them, a1 is larger than a2 in the early stage of iteration, which increases the global optimization ability of the algorithm; a2 gradually increases in the later stage of iteration, enabling the operator to escape local optima. After the improvement, the position of the dung beetle executing the stealing operator is updated as follows: x i (t+1)=a1×X b +a2×S×g×(|x i (t)-X * |+|x i (t)-X b |)。 2. The vehicle cluster cooperative localization method based on the MDS-IDBO algorithm as described in claim 1, characterized in that, Step 1 specifically includes: Step 11: Multi-node collaborative positioning scenario, wherein nodes are equipped with BDS / GPS module anchors, nodes are not fixed and are in a moving state, and all nodes are equipped with communication devices; Step 12: Construct a multi-node collaborative localization model: In a UWB system for time synchronization and network ranging, N network devices are added to communicate in a k-dimensional space, where k is chosen to be 2, and the number of nodes is p. i The coordinates are p i =(x i ,y i The coordinate vector corresponding to the location information is X = [p1, p2, ..., p...]. n ] T , let d ij Let represent the Euclidean distance between nodes i and j, and let D be an N-dimensional symmetric distance matrix composed of all the measured Euclidean distance values. The Euclidean distance value is calculated using the following formula: The N-dimensional symmetric distance matrix D is:
3. The vehicle cluster cooperative localization method based on the MDS-IDBO algorithm as described in claim 1, characterized in that, Step 2 specifically includes: all node coordinates are at the origin; the distance values between nodes are set as the differences between them; a distance matrix is constructed using the distance information; the relative coordinates of each node are calculated through linear transformation and singular value decomposition; and singular value decomposition is performed on the centered squared distance matrix. Distance matrix After centering and calculating the inner product matrix, we get: Among them, D ⊙2 Let D be the second power of Hadamard, and J be a centered matrix represented as: For matrix Perform singular value decomposition, retain two or three largest eigenvalues and eigenvectors, and construct the relative coordinate X: In the formula, Q represents the matrix formed by the eigenvectors; Λ represents the diagonal matrix formed by the corresponding eigenvalues.
4. The vehicle cluster cooperative localization method based on the MDS-IDBO algorithm as described in claim 1, characterized in that, Step 4 specifically includes: Using the anchor nodes with updated positions, recalculate the squared distance matrix and relative node coordinates according to steps 1 and 2.
5. The vehicle cluster cooperative localization method based on the MDS-IDBO algorithm as described in claim 1, characterized in that, Step 5 specifically includes: Using the anchor node coordinates and relative coordinate matrix, and substituting the positioning error function as the fitness function into the IDBO algorithm, the optimal coordinate transformation matrix is obtained and the absolute coordinates are calculated: The absolute coordinates are calculated as follows: In the formula, (x1,x2) and (y1,y2) are the relative and absolute coordinates of the anchor node, respectively, Δx1 and Δx2 are translation vectors, and α and m are the rotation angle and control parameter, respectively. During the coordinate transformation process, the accuracy of the parameters will directly affect the positioning effect. In order to ensure positioning accuracy, the optimal parameters must be calculated. An error function f(Δx1,Δx2,α,m) is defined to measure the difference between the actual coordinates of the anchor nodes and the estimated results, where N is the number of anchor nodes; Among them, X i Y i x represents the absolute coordinates of the target at the i-th reference point; i y i Let f(Δx1,Δx2,α,m) be the original relative coordinates of the i-th point to be corrected; Δx1 and Δx2 are the translation parameters of the coordinate transformation; α is the rotation angle parameter of the coordinate transformation; m is the scaling factor parameter of the coordinate transformation; the smaller f(Δx1,Δx2,α,m) is, the better the parameter optimization effect and the smaller the final positioning error; by substituting f(Δx1,Δx2,α,m) as the fitness function into the IDBO algorithm to solve argmin‖f(Δx1,Δx2,α,m)‖, the optimal coordinate transformation parameters are obtained, thereby improving the positioning accuracy.
Citation Information
Patent Citations
Positioning performance optimization method based on DQPSO algorithm
CN111479218A
UWB positioning method based on chaotic golden sine flight dung beetle optimization algorithm
CN117062008A