1. Introduction
In recent years, multi-agent systems have found increasing applications in various fields such as military, agriculture, and commerce, especially for multi-UAV systems. One critical requirement in these systems is accurate positioning. The ranging-based positioning method has emerged as a common solution, thanks to the availability of cost-effective and high-efficiency range sensors. Among the range sensors commonly used in such systems, ultra-wideband (UWB) modules [
1] have gained significant popularity. These modules have been extensively utilized in UAVs due to their high-ranging accuracy, anti-multipath capabilities, and low power consumption [
2].
The agents equipped with UWB modules can receive range measurements from fixed anchors which have predetermined locations. These range measurements from the anchors play a crucial role in providing geometric constraints and approximate position estimations for the agents. This methodology is akin to the three-ball intersection positioning technique used for satellites. It proves particularly useful in environments where a Global Navigation Satellite System (GNSS) is unavailable or unreliable, such as indoor spaces like rooms [
3], underground coal mines [
4], underwater environments [
5,
6], and other similar settings. In many research studies on ranging-based positioning systems, the principles of graph optimization [
7,
8,
9] or Kalman filtering [
10,
11] are commonly employed to track the position of the agent. In some cases, a sliding window approach [
7] is also incorporated to enhance trajectory smoothness. These techniques enable accurate and reliable position tracking in multi-agent systems utilizing range measurements. However, relying on a single ranging source is typically inadequate for achieving precise positioning due to the inherent limitations of ranging, such as susceptibility to sudden changes or interruptions, as well as the low frequency of measurements.
Fusing the inertial sensor and the range sensor is a prevalent approach to enhancing positioning accuracy. The high-frequency inertial measurements include angular velocities and specific forces. The inertial calculation process can transform the measurements in the body frame to the position in the navigation frame. Due to the accumulation of inertial errors, the positioning accuracy continuously decreases over time, and the range measurements can provide constraints and eliminate the influence of errors. In contrast to utilizing range measurements alone, the integration of inertial sensors enables more precise estimation of the motion dynamics model of the system [
12]. By incorporating inertial calculations, the integration process establishes a correlation between the motion states of both preceding and succeeding moments in time, and it allows for a more comprehensive prediction of the navigation state [
13].
The positioning method that integrates UWB and Inertial Measurement Unit (IMU) shares significant similarities with simple UWB positioning techniques, primarily involving optimization and filtering methodologies. The optimization methods primarily rely on the graph optimization model [
14]. The sliding window technique [
15] is often employed to estimate relative positions at selected key points by combining distance measurements with acceleration estimates. The filtering methods are mainly based on the Kalman filter [
16], which linearizes the nonlinear ranging to predict and update the navigation state of the agent. The current research on nonlinear filtering integrating UWB and IMU mainly focuses on Extended Kalman Filter (EKF) [
12,
17], Unscented Kalman Filter (UKF) [
18,
19], and Invariant Extended Kalman Filter (IEKF) [
20]. These combined approach leverages the advantages of both range and inertial measurements to enhance the accuracy and robustness of the positioning system.
In a multi-agent system, agents equipped with IMUs can receive range measurements from not only the anchors but also other agents. This is a common pattern of cooperative positioning. The additional range measurements can enhance the positioning accuracy of cooperative agents [
21,
22,
23], compared to the single-agent positioning method.
Whether it is single-agent positioning or multi-agent cooperative positioning, the majority of inertial-ranging positioning methods are built upon multi-anchor networks. These methods rely on the presence of open space and stable communication channels to facilitate ranging [
24]. In practical application environments, there may not be enough anchors or the communication is sometimes restricted, and it is not always possible to receive enough signals from multiple anchors at the same time. Therefore, it is important to explore improved positioning methods in sparse anchor environments, where single anchor positioning [
25] is the most fundamental case.
The traditional single-anchor positioning methods build virtual anchors for positioning [
26,
27]. Some methods also involve additional measurements such as velocities [
28] and angles [
29]. Recently, a geometry-based single-anchor positioning method introduced in [
30] estimated the position only by inertial and range measurements. Another research proposed in [
31] improved the accuracy of velocity estimation without the same sensors. Our group has also presented an optimization-based positioning method for single-anchor positioning [
32]. Different from the other methods, we aim at the cooperation of the agents. The proposed method involves the range measurements between agents in the process of building constraints, which centrally improve the positioning accuracy of the agents, compared to the positioning of individual agents.
The main contributions of this paper include the following:
- 1.
 We propose a cooperative positioning method in single-anchor environments based on range and inertial measurements. At the moments of range observation, an optimizer provides the optimized inertial data to a filter, and the filter outputs the position using the prior navigation state of the agent.
- 2.
 An optimization method for inertial measurements in a multi-agent system is presented. The optimal estimation model is derived from Bayesian theory, and the optimal inertial measurements are obtained at the extreme points, whose existence is further discussed.
- 3.
 The performance of the single-anchor cooperative positioning method is presented in a simulated multi-UAV environment and a real-world indoor environment. The impact of cooperation on improving the positioning accuracy is also discussed.
The rest of this paper is organized as follows. The preliminaries and sensor models are presented in 
Section 2. 
Section 3 introduces the process of cooperative positioning method, where we focus on the derivation of the optimization algorithm. 
Section 4 and 
Section 5 evaluate the simulation and real-world experimental results, respectively.
  3. Inertial Optimization Algorithm
  3.1. Overview
The method of optimizing inertial data using inertial and range measurements is discussed in this section. The optimization process is shown in 
Figure 3. Firstly, we find the relationship between the inertial measurement and the range measurement, which helps to fuse the sensor outputs. Secondly, the optimization model is designed based on Bayesian theory, and the optimization equation is derived. Thirdly, we solve the optimization function, and the inertial data at the extreme point are the optimal solution. Fourthly, we discuss some issues on the extreme point to confirm that the calculated stationary point is exactly the point to be solved.
  3.2. Range Calculated Using Inertial Output
The fusion of inertial and range sensors is based on the consistent representation of outputs. So, the first step of optimization is using the inertial outputs to represent the ranges, which is based on the inertial calculation process [
31]. The inertial calculation process indicates the update of the agent’s attitude, velocity, and position, using the angular velocities and the specific forces output by the inertial sensors.
The inertial sensors in the inertial navigation system (INS) include three orthogonal gyroscopes and three orthogonal accelerometers. In this paper, the coordinate direction in navigation frame n is defined as East–North–Up, while the direction in body frame b is Right–Ahead–Up. The INS calculated the attitude matrix (or direction cosine matrix, DCM) , velocity , and position  of the carrier using the angular velocity  and specific force  output by the inertial sensors. Specifically,  denotes the attitude matrix from body frame to navigation frame,  and  are in the navigation frame,  and  are in the body frame, while  indicates the rotation direction from the Earth-centered inertial frame i to the body frame. The inertial outputs  and  here are written as a truth value, but they are actually measurements with errors.
In a update interval, the INS updates the attitude, velocity, and position in sequence. The velocity in the navigation frame is defined as
        
        where 
, 
, and 
 denote the eastward, northward, and upward projections, respectively. The position is defined as
        
        where 
L denotes latitude, 
 denotes longitude, and 
h denotes the height above the geoidal surface.
The inertial update process includes calculations related to the rotation of the Earth. Suppose that 
 is the rotational angular rate of the Earth; then, 
 is the rotational angular velocity of the Earth frame with respect to the inertial frame and 
 is the rotational angular velocity of the navigation frame with respect to the Earth frame, which can be computed as follows: 
        where 
 and 
 are, respectively, the meridian radius of curvature and the transverse radius of curvature of the WGS-84 reference ellipsoid.
The inertial calculation process follows the sequence of attitude update, velocity update, and position update:
Attitude Update Process: In the navigation frame, the differential equation [
13] of attitude matrix has the following form:
            
            where 
 is the antisymmetric matrix of body angular velocity with respect to the navigation frame. The differential equation can be transformed to a function of 
 as
            
            where 
 is calculated as 
. Solving the differential equation in (
17), the attitude matrix at time 
 can be derived by the attitude matrix at time 
 as
            
Considering the small rotation angle in the interval of integration, the attitude matrix in (
14) can be approximated by the Taylor expansion as
            
Velocity Update Process: In the navigation frame, the specific force is given by
            
            and the differential equation [
13] of velocity has the following form:
            
            where 
 is the gravity vector, which is considered to be a constant vector when moving in a small area.
Solving the differential equation in (
22), the velocity at time 
 can be derived by the velocity at time 
 as
            
            where 
 denotes the time duration of the update interval 
. For low-precision inertial navigation system, the equation can be approximated as
            
Position Update Process: In the navigation frame, the differential equation [
37] of position has the following form:
            
            where 
 is the local curvature matrix as given by
            
Since 
L has little change in an update interval and 
h is much smaller than 
 and 
, 
 can be considered to be a constant matrix. Solving the differential equation in (R18), the position at time 
 can be derived by the position at time 
 as
            
Substituting (
24) into (
27) yields
            
            where 
 denotes the constant term as
            
Substituting (
20) and (
21) into (
28) yields
            
            then, the updated position 
 can be modeled as a function of the angular velocity 
 and the specific force 
.
Suppose that there are node 
A and node 
B, which can be fixed anchors or moving agents. The range between node 
A and node 
B at time 
 is given by the L2 norm: 
        where the subscripts 
A and 
B indicate the node of 
A and 
B. Normally, 
 and 
 are indicated by (
14) with latitude, longitude, and height. For the range calculated using inertial sensors, 
 and 
 can be directly calculated using (
30).
  3.3. Optimization Model for Inertial Measurements
In this subsection, we introduce the centralized optimization method of multi-agent inertial data. As the outputs of inertial sensors are approximated to the Gaussian distribution in 
Section 2.2, the estimated inertial data can be expressed in the form of conditional probability, which is given by
        
        where 
 and 
 indicate the sets of estimated inertial data.
When the conditional probability in (
32) takes the maximum value, the corresponding estimated inertial data in sets 
 and 
 can be considered to be the optimal estimation. In this way, the optimization model can be built using a max-value function, as given by
        
According to the Bayesian formula, the model in (
33) can be written in the form of prior information as
        
The measurements in sets 
, 
, and 
 are unchanged in an observation time interval, so the prior probability 
 can be regarded as a constant. Then, the optimization model can be written as
        
Since the inertial measurements follow the Gaussian distribution, the prior probability 
 can be regard as a constant, and the model is further simplified to the maximum likelihood estimation (MLE) as
        
The sensors involved are independent from each other, so each measurement in sets 
, 
, and 
 is only related to its corresponding optimization variable, and the conditional probability in (
36) can be written as
        
        where the multiplied conditional probabilities can be divided into four categories, as shown in 
Table 1.
On the basis of the Gaussian distribution models in (
4), (
5), (
10), and (
11), these conditional probabilities can be expressed by Gaussian probability density functions as
        
        where 
 denotes the position of the single anchor in the navigation frame.
Substituting (
37)–(
41) into (
36) and taking the logarithm, the optimization model can be written as
        
Therefore, the optimal estimation of inertial measurements  and  is transformed into solving the extreme points of the function .
  3.4. Solution of Optimal Inertial Measurements
Solving the extreme points or the stationary points of function 
 is the same as solving the following equations of first-order partial derivative: 
Suppose 
, and 
, every angular velocity 
 and specific force 
 are 
 column vectors, and every 
 is a 
 row vector. The function 
 is a scalar according to (
42), so there are 
 nonlinear equations in total. To simplify the derivative calculation, we divide the function 
 into four subfunctions: 
        where
        
Then, the function 
 can be split into four functions for derivation. For the agent 
A, partial derivatives of the function versus 
 are given by
        
The functions 
 and 
 are only related to the angular velocity 
 or the specific force 
 of the corresponding agent 
A, so the derivatives of 
 and 
 can be directly given by
        
The derivative of function 
 is related to both the angular velocity 
 and the specific force 
 of the corresponding agent 
A. So, the key of the derivative calculation of 
 is the expression of 
 and 
 regarding 
, which is derived in 
Section 3.2 and shown in (
30). Taking the partial derivative of 
 versus 
 and 
 using the matrix derivative rules in [
38], we have
        
        where the parameters are in the time interval 
.
According to (
48), the L2 norm 
 in function 
 can be simplified as
        
Therefore, the partial derivative of 
 versus 
 is calculated as
        
        and the partial derivative of 
 versus 
 is calculated as
        
Substituting (
54) into (
57) and (
55) into (
58), we obtain the partial derivatives as
        
The derivative of function 
 is related to all the angular velocities and the specific forces of the 
N agents, which includes 
 terms for each agent, and 
 can be rewritten as
        
According to the derivation of 
, the partial derivative of 
 versus 
 and 
 is calculated as
        
Substituting (
52), (
59), and (
62) into (
50) and (
53), (
60), and (
63) into (
51), we obtain the partial derivatives of function 
 to agent 
A versus 
 and 
, as given by
        
Substituting (
64) into (
43) and (
65) into (
44), the 
 nonlinear equations are expressed by the inertial outputs in sets 
 and 
; then, the estimated inertial outputs can be obtained by solving the nonlinear equations.
  3.5. Discussion on Extreme Points
The optimal estimation of inertial data is solved at the extreme points of function 
, as shown in (
43) and (
44). This method is based on the assumption that the stationary points solved by the first-order partial derivative is exactly the extreme points.
When solving for a stationary point of a function in practical applications, it is typically assumed to be either a maximum or minimum point. However, this assumption is not rigorous. Therefore, several issues about the above method of obtaining the stagnation point by solving the nonlinear equation need to be discussed:
Does the system of nonlinear equations have a solution?
Is the solution of the system of nonlinear equations unique?
Does the obtained stationary point correspond to the extreme point?
Is the extreme point the maximum point?
Issue 1 can be demonstrated with the method of solving the nonlinear equations system in (
43) and (
44). Because it is a nonlinear least square problem, it can be solved by iteration using optimization methods such as gradient descent. In this way, an initial value for the optimization variable needs to set before the optimization, which can be set as the original IMU data 
 and 
. If there are no ranging data or the optimal solution in this time interval, no iteration will be performed. That is to say, there is undoubtedly a solution to the equation, and the solution may be the original IMU data or the optimization variable after iteration.
The other issues are common to many extreme value problems, which can be explained by the concept of exponential family [
39]. The exponential family distribution of 
x, which indicates the IMU data 
 and 
, with the prior parameter 
 is defined as follows: 
        where 
, 
, 
 and 
 are all known functions to a certain distribution. The Gaussian distribution with mean value 
 and variance 
 can be proved to belong to the exponential distribution family: 
        where 
, 
, 
 and 
. And, it is similar to the Gaussian probability density functions in (
38)–(
41), which enable the Gaussian distribution model discussed above to belong to the exponential distribution family.
The key to determining the extreme point is to discuss the concavity of the log partition function 
. The Holder inequality and the Hessian matrix is used in [
39], both of which prove that 
 is a concave function.
The maximum likelihood problem is defined as an estimation of 
 to solve the maximum of
        
        with a given data set 
 and a distribution family to be fitted, 
. If 
 belongs to exponential distribution family, the likelihood function can be written as follows: 
        where 
 is a constant. 
 is a concave function about 
; thus, 
 is a convex function about 
. 
 is a linear function of 
. So, their sum 
 is a convex function about 
. That is to say, if there is a solution when the derivative equals zero, it must be the only one, and the corresponding function value is the maximum. In conclusion, Issues 2–4 are explained by the exponential distribution family, and the stationary point is calculated with the nonlinear equations in (
43) and (
44).
Therefore, the stationary points solved by (
43) and (
44) are exactly the extreme points, and the optimal estimation of the inertial measurements can be obtained at these extreme points.
  4. Single-Anchor Cooperative Positioning Method
Based on the inertial optimization algorithm, we design a cooperative positioning method for multi-agent system in single-anchor environments. The framework of the single-anchor cooperative positioning method is depicted in 
Figure 4, and we present the design ideas of the method below.
Different from the common filtering method for inertial-ranging positioning, we add an optimizer to the inertial sensors at the ranging time, which replaces the inertial measurement  and  with the optimal estimation  and .
After the optimization, the attitude, velocity, and position can be updated using the inertial calculation, and the range calculated using the inertial data can be computed as shown in (
31). However, the updated position does not differ significantly from the position calculated using the original inertial data. This can be attributed to the fact that estimated inertial data lack prior information for the optimization process, as the inertial output is independently and identically distributed within each time interval, and the ranging rate is lower than the inertial rate.
In order to further improve the positioning accuracy and to make full use of the measurements, a filter is employed after the optimizer to use the prior position for navigation. The range measurement  is also acquired in the filter to be the observation. The EKF is selected considering its high efficiency and convenience for solving nonlinear problems, and the filtering process is formulated below.
For a centralized multi-agent nonlinear system, the discretized model’s time interval 
 is given by the following: 
      where 
 denotes the navigation state error vector, which includes the attitude 
, velocity 
, and position 
 of all the agents in navigation frame, and the error state 
 for agent 
A can be given by the following: 
 is the Gaussian process noise. 
 is the diagonal matrix of process noise cross-covariance matrices, and the process noise cross-covariance matrix for agent 
A is given by the following: 
 is the measurement vector, which is the numerical difference between the range calculated using the inertial data and the range measured by the range sensors, as given by 
 or
      
 is the Gaussian measurement noise. 
 is the observation noise cross-covariance matrix, and the dimension here is 
 for a single-beacon measurement. 
 is the measurement matrix. 
 is the state-transition matrix of all agents, and the state-transition matrix for agent 
A is given by the following: 
      where the block matrices in (
74) are calculated using the attitude, velocity, and position updated by the inertial calculation process, as shown in 
Appendix A.
The prediction and correction steps of EKF are given by the following: 
      where 
 denotes the cross-covariance matrix and 
 denotes the identity matrix.
The outputs of the filter are the updated attitude error, velocity error, and position error, which are added to the input of the filter and form the updated attitude, velocity, and position. Further, the whole process of the single-anchor cooperative positioning method is summarized as Algorithm 1.
      
| Algorithm 1 Single-anchor cooperative positioning method using inertial measurements | 
- 1:
 Input: The sensor characteristics with ,  for gyroscope, ,  for accelerometer, and  for range sensor; the prior navigation state of time . - 2:
 loop - 3:
    if there are inertial measurements ,  in  then - 4:
      if there are range measurements  in  then - 5:
         Optimization: Estimate the optimal inertial data in sets  and ; - 6:
         Filtering: Update the position using the measurements and the prior information. (Various filtering methods are optional, the EKF is selected in this paper for its convenience.) - 7:
      else - 8:
         Update the attitude, velocity and position by inertial calculation process; - 9:
      end if - 10:
   end if - 11:
 end loop - 12:
 Output: The updated position in . 
  |