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 .
|