Abstract
Keywords
Introduction
The exploration of the oceans, both for scientific and economic purposes, is becoming increasingly important. Several application fields can here considered here as examples of the importance of sea study: the search for underwater energy sources or raw materials; oil pipe or underwater cable monitoring; scientific missions collecting biological, physical and chemical data; and sea monitoring against different pollution sources (see e.g., [1]). Because of the limitations of our biological characteristics, underwater robotics have gained an essential role in the study and exploitation of the seas. One of its more promising branches is that of autonomous underwater vehicles (AUV), i.e., those vehicles that are capable of performing the required tasks without human supervision, coping with missions unknown.
In recent years, research on AUVs has broadened towards the simultaneous use of more vessels, i.e., the implementation of multi-robot configurations all the way to full swarms of underwater vehicles, see e.g. [2, 3].
Whether one or more AUVs are considered, one of the focal points of autonomy is the reliable knowledge of the vessel pose. This knowledge is not easily gained, especially when considering several vessels at the same time. Unfortunately an underwater system suffers the limiting characteristics of its environment. Water, especially saltwater, blocks electromagnetic waves, inhibiting the use of positioning systems such as GPS. At the same time this implies difficult communication between the AUVs of a swarm or with a remote operator. The available means to localize a single AUV are thus the exploitation of inertial sensors, velocity sensors, and/or gyroscopes combined in dead reckoning.
However, in the framework of an underwater swarm, the localization of a single vehicle can profit from the existence of the other vessels, gathering information from fellow AUVs. The key issue for all swarm localization methods is the best possible combination of proprioceptive measures (dead reckoning) and exteroceptive sensor readings, the main difference being the employed estimator.
The localization of swarms of robots has been extensively studied for packs of terrestrial surface robots. The problems linked to communication of information in this environment are less demanding with respect to the underwater robots. The possibility of exploiting a GPS localization system, naturally considering all related problems (tall buildings, overcast sky), greatly helps in the task of correctly localizing the robots.
In this work two different approaches for robot localization in a swarm of underwater vehicles are compared: one based on Kalman filtering and the second on a Monte Carlo scheme. The focus is toward the localization of members of a not-too-diluted swarm. Since the means of communication in the swarm is represented by ultrasound links, the swarm's typical dimension should allow the successful transmission of data. Therefore, the overall dimension of the robot group should not grow too large. The typical diameter of the considered swarm is less than 750
The exteroceptive measure considered here is the distance among the vessels, as measured by the time of flight (TOF) of the ultrasound transmission. An initial synchronization of the vessel clocks is assumed, e.g. with NTP (network time protocol) [4], performed just before the mission at swarm deployment. Each robot, whenever communicating with another (or broadcasting to all), transmits its own location and time, acting as a localization beacon for the listener or listeners.
The main drawback of a Kalman approach in underwater swarm localization is represented by the large quantity of data that must be circulated among the vessels: all the relevant matrices of the algorithm, which, in addition, grow non-linearly with the number of considered robots. Since ultrasound links are generally very limited in bandwidth (a few tens of
A comparison of the bandwidth needs of the two approaches is provided in section 5, where the dependency among bandwidth, update frequencies and transmission speed is described under the assumption of the use of a transmission protocol such as the Slotted Aloha one [5]. A further aspect of an ultrasound-based localization system is related to the speed of the communication in the water. The limitedness of this velocity affects the two approaches in different ways that are described in section 6.
Some experimental simulations are presented in order to compare the two methods; an analysis of their robustness and their dependence on some algorithm parameters is also presented.
In the simulations a simple kinematic model of the single AUV is considered, capable of measuring its own velocity and attitude and of communicating over an ultrasonic acoustic link with the other vessels. Through the measurement of the time of flight (TOF) of the ultrasound transmission the AUVs can measure their relative distance. All the available information, proprioceptive and exteroceptive, is then combined with either of the two above-mentioned methods in order to compute all vessel poses.
Since the initial poses of all the swarm elements are known with a given initial pose error, it is possible to substitute the term localization with pose tracking throughout the paper.
Considering that an operative swarm of underwater robots will be deployed from some kind of surface vessel, the case of a swarm-supporting boat able to measure its own position via GPS, and able to furnish this data to the swarm, is described and simulated.
In the second section of the paper the related work is presented. In section 3 the multi-robot Kalman-based algorithm is revised. In the fourth section the principles of Monte Carlo localization are presented. In the fifth section data throughput considerations are given, while in the sixth section the influence of non-instantaneous communication on the two approaches is described. In sections 7 three experimental cases are described and simulated, and results given: linear, circular and sinusoidal cases are considered. In section 8 an analysis of the dependence of the approaches on some algorithm parameters is presented. Finally, in the last section conclusions and future work are discussed.
Related Work
Localization in the underwater realm is mainly based on ultrasound waves. Classical methods of underwater positioning are Long Baseline (LBL) and Short Baseline (SBL) systems [6]. These exploit a given number of floating buoys with known positions, see also [7], but this means to structure in some way the environment, an option that may be impossible in some operative scenarios.
The localization of a swarm of terrestrial robots has been extensively studied. An approach is based on the subdivision of the swarm in subgroups one of which, in turn, is kept at a fixed position and acts as a set of landmarks for moving others [8, 9, 10]. In [11] and [12] belief functions combined with a Monte Carlo approach and particle filtering optimization have been successfully employed; [13] and [14] employ a Kalman filter where the proprioceptive measures are used to estimate the future state of the system and the exteroceptive ones are used to correct and update the estimate. In [15] this approach is extended by considering the most generic relative observations between two robots. More recently the work of Olfati-Saber, see e.g. [16], has addressed the problem of decentralized Kalman filtering in sensor networks through consensus algorithms for swarm controlling strategies. In [17] the consistency of EKF-based cooperative localization considering observability has been investigated. The typical operative environment considered in these works is a two-dimensional terrestrial one. The MCL ([18]) has been employed in several robotic applications, see e.g. [19], and also in underwater environments for the localization of mobile sensors [20]. It basically behaves by creating a cloud of particles, each representing a possible state of the variable under measurement and a weighting process to measure the fitness of each particle to the actual measure.
Kalman Localization
The key point, in the Kalman approach, for cooperative localization in a swarm of robots is viewing the group as a single entity that can access the information of a large number of proprioceptive and exteroceptive sensors.
In the following, all the vessels are described by the same motion equations, and each robot possesses proprioceptive sensors for the motion estimate. Each AUV also encompasses an ultrasound communication link, which can collect the information from the other vehicles in the swarm.
It is important to stress that each time there exists communication between two swarm members, there is also an exteroceptive distance measure. The broadcasted message contains the timestamp relative to its emission, and any receiving robot can therefore compute its distance from the emitting robot position.
Let us consider the global dynamical state
The vessel coordinate system is based in the centre of gravity of the vehicle, and its
The kinematic model of the single robot uses a linear velocity parallel to the
Let us describe first the Kalman approach for a single vessel of the swarm. The mathematical model describing the time evolution of the single swarm robot is:
where
here
Kalman filtering is a well-known strategy that yields an estimate of a dynamical process using feedback control. It foresees the process state at a given time and employs a measurement feedback to update the state through a better estimate. It is an iterative process that loops through two different phases: on one side it predicts the state of the system and the error covariance; on the other it computes the so-called Kalman gain to correct both the state estimate and the error covariance on the grounds of some kind of available measure. Since the time evolution function (equation 2) may be not linear, an extended version of the filter has been employed. The EKF basically behaves as the standard procedure, but uses a local linearization of the functions. A very interesting characteristic of this filter is its iterative aspect. The result of an iteration of the filter is used as input for the successive step; in this way the filter retains the memory of the history of the system.
Let us consider the whole swarm and examine in detail the two phases of prediction and update.
Each robot, at any given time step, estimates its state at the successive time step on the grounds of the kinematic model and the available proprioceptive measures (linear and angular velocities) and their null average Gaussian noise. The time evolution of the cross-correlation matrix is also computed:
here equation (4) is the state time evolution (as in equation (2)) and equations (5) and (6) describe the time evolution of the covariance matrix
In order to perform a distributed EKF it is convenient to process the
Every time a robot measures something, an update can be performed. In order to describe the procedure the availability of the heading (compass) and depth (pressure gauge), roll and pitch angles (inclinometers) of the measuring vessel, and the acoustic TOF distance of another vessel are here considered. The non-linear measuring function
where the index
and Δ
Finally the
with the indexes
Until now the described process is relative to a single robot; the localization of multiple robots considers a series of multiple relative measurements among the various vessels on the state vector of equation (1).
Such a scenario can be approached in two different ways: in a centralized or in a distributed one. In the first a central supervisor can be considered collecting all the data from all the vehicles and performing the multi-robot system state estimation. The second paradigm can be split into two further classes: uncooperative or cooperative algorithms. The first class simply tries to localize each robot as if it was alone in the world, i.e., counting on its own estimate and measures alone, without gathering additional information from the others in the swarm. The second class can exploit the information coming from the companions and performing a local algorithm for the pose estimation. Regardless of the approach employed, the Kalman scheme makes use of a series of matrices and vectors that must circulate among the robots.
As stated, in an underwater environment an extremely limited bandwidthis is available, and in the following a distributed cooperative approach has been employed. Let us now examine the scheme used in more detail.
In this Kalman scheme, whenever a robot measures its own distance from another, it should broadcast a message with its own ID, that of the measured robot, its state vector, and the vector of measurement; for the update phase an exchange of the predictions of all of the swarm should be distributed between the members. Each robot may then compute the update of its own state and covariance matrix, which should be transmitted back to any other robot in the swarm. In a fully distributed algorithm this would mean an asynchronous and uncontrollable pattern of communication among the robots. Taking into account transmission latencies, communication delays and protocol strategies (who transmits and when), the system would easily saturate the available bandwidth.
In order to limit the communication problem in the swarm as much as possible, a distributed-centralized approach has been tested. The idea is as follows. Whenever a measurement is made, the measuring robot broadcasts its ID and a
The difference with the fully distributed approach is in the limitation of the data exchange due to an ordered communication strategy that can reduce the transmission overheads. The amount of exchanged data will be the same, but since only one robot is actually broadcasting its results and collecting data, there will be fewer communication overheads, collisions and possible multi-paths deriving from multiple robots trying to communicate all at the same time.
The difference with a fully centralized approach with a fixed location for the algorithm computation is in a slightly smaller amount of data circulation: in a fully centralized approach the measuring vessel should communicate its share of data to the computing node.
The amount of exchanged data naturally increases if more than a single robot performs exteroceptive measures. In the following it has been supposed that at a given time step each vessel measures the distance of all the others, i.e., it performs
The algorithm may consider this scenario in two possible ways: on one side it may compute the EKF considering one measure at a time, and updating the state
A set of dedicated experiments has shown, as expected, that the results of the EKF in terms of position accuracy does not depend on the chosen method, and thus the second one has been chosen.
In the Monte Carlo approach the idea is as follows. There is a variable of interest (e.g., the underwater robot position) that is represented at a given time by a set of
In this work the MCL approach estimates the robot pose, i.e. position and orientation of each single robot considered separately:
with
Also in this method there are two distinct phases: prediction and update. The first is basically identical to that of the Kalman case: through the use of the robot model, each particle representing a given robot is made to evolve, adding the appropriate noise to the process. In the second, the information coming from a direct or indirect measure of the considered variable is used in order to update the particle weights for a better description of the variable itself through a weight-based particle resampling.
As soon as a measure performed by a given robot is available, the update phase begins. Each of the
where
In the resampling process it may sometimes happen that the algorithm may become too aggressive, discarding many of the good particles, getting caught in some kind of local minimum and yielding a poor estimate and a large error. In order to limit such adverse behaviour, some additional randomness is usually injected into the particle set under the form of a fraction of the resampled particles, assuming random values within a given distribution. The decision for such an intervention may be performed, for example, monitoring the long and short-term average values of the weights in equation (12) [20]. This monitoring estimates the algorithm ability in following the statistical distribution describing the problem being considered.
Let us now consider a swarm of
It is evident that in the MCL case the data circulation is more limited; this amount of information will still increase with the number of robots in the swarm, but at a smaller pace with respect to the Kalman one since there are no matrices to circulate. Whenever there exists the transmission of position and time, a robot may measure a fellow one.
Let us assume, for the sake of clarity, a swarm composed of three robots only. Figure 1 compares the data flow among the robots in the two algorithms in order to complete a localization action for all the elements in the swarm.

Data circulation among the robots of a swarm of three members to complete a localization for all of the vessels. The image on the left shows the Kalman-based approach; on the right is the MCL approach.
In the Kalman-based scenario (left of Figure 1) each of robots 2 and 3 should communicate to robot number 1 its state and ID (six real numbers + 1 byte) and covariance matrix (36 real numbers), plus the cross-correlation matrices between itself and robot 1 (36 + 36 real numbers). In the message should also be the timestamp (three real numbers: minutes, seconds and milliseconds). This is depicted by the topmost two arrows on the left of Figure 1. After communication, robot 1 may compute the update of the whole swarm and then broadcast back to robot 2 and 3 the computed swarm state (3 × 6 real numbers) and the full cross-correlation matrix (36 × 3 × 3 real numbers). This is represented in Figure 1 by the lowermost arrows on the left side.
Generalizing to a swarm composed of
These data are those needed to perform a full update of all the vessels in the swarm, with a single robot measuring all others.
MCL-based Data Flow
In the MCL-based scenario (right of Figure 1) each of robots 2 and 3 communicate to robot 1 their position with covariance (attitude is not needed), timestamp and ID (9 real numbers + 1 byte). At this moment robot 1 may update its own pose according to the incoming data. Subsequently robot 1 and 3 will transmit the same quantities to robot 2, which will in turn update its own pose. Finally robot 1 and 2 will transmit to robot 3 in order to let it compute its update. Thus, to update the complete swarm locations there will be data traffic of 9×6 real numbers plus 6 bytes (robot ID).
Generalizing to an
This amount of data is that needed to enable the entirety of the robots in the swarm to perform an update, under the scenario of an all-to-all communication as in the Kalman approach, for the sake of comparison. In fact the MCL algorithm is fully decentralized and asynchronous: as soon as a robot receives data from another, even a single one, it may update its own state on the grounds of the incoming data.
Kalman vs MCL Update Frequency and Throughput
A typical underwater ultrasound link allows a bandwidth of about 30
The first is how often the swarm members may receive an update on their position by the localization algorithm, while the second shows the exchanged amount of data in the communication network; both are a function of the swarm elements number and the communication channel capability. The two are obviously dependent, and one can be deduced from the other.
Figure 2 shows the maximum update frequencies of the two approaches as a function of the number of vessels in the swarm. The maximum update frequency represents the update frequency saturating the communication channel capacity. Naturally, as the number of robots increases the higher bandwidth need lowers the frequency. Let us assume, as an example, an update frequency of 0.1

Maximum allowed update frequency for the two approaches as a function of swarm elements number. The blue line shows a viable update frequency of 0.1
Figure 3 shows the transmission needs of the two approaches as a function of the swarm elements number. This plot is drawn at the above considered update frequency of 0.1

Needed link speed as a function of vessel number at an update frequency of 0.1
The plot also shows the considered limit with the use of the Slotted Aloha protocol. As above, the bandwidth saturation will happen in the Kalman case with 16 robots, while the MCL approach can withstand more than 50 vessels communicating.
In addition to the above considerations, it must be taken into account that the communication link cannot be fully dedicated to swarm localization; it should also carry data relative to the mission tasks and other relevant swarm activities. Therefore, the above limits on robot numbers must be considered indicative.
Underwater a different means of communication may also be used: the optical one, based on high power light emitting diodes, see e.g. [24]. With such technology it is possible to attain higher throughputs, even if this comes at the cost of a much narrower range than the ultrasound link. Taking as an example a conservative 200
In the following section, in order to compare the two approaches an update frequency of 0.1
A further aspect should be considered: the speed of sound in the water is limited, being about 1500
Kalman Approach
In the Kalman-based approach all the robots need to communicate their prediction to the computing node. This in turn must then broadcast back the update of the whole swarm. This ping-pong implies synchronization, a difficult task with a finite transmission velocity as it is in the underwater case.
Let us examine in some detail the communication characteristics of the prediction phase of the algorithm, the broadcast one being basically similar. For the sake of simplicity let us consider two robots: number 1 transmits its prediction to number 2. Figure 4 shows the evolution of this communication phase with the aid of a space-time diagram of a mono-dimensional space; robot 1 is in a fixed position, while robot 2 is moving. At the beginning (

Space-time diagram of the transmission of prediction between two robots. Upper left: robot 1 starts transmission to 2 with sound speed
Robot 2 should now update the state of the swarm, but with respect to its initial position 2, so it must backtrack its trajectory to the initial position (lower left diagram) and update as if it were still in that location. Once updated some additional time has passed, and robot 2 should evolve its corrected position with a series of prediction phases to 2a and then to 2b. This schema can be implemented while keeping a memory of the past robot course.
A similar scheme applies for the broadcasting phase of the updated state by robot 2 towards 1.
The MCL localization algorithm, on the contrary, does not suffer the transmission lag. As stated above it is completely decentralized and asynchronous: as soon as data are received from a fellow robot, the receiver may compute an update of its own state. The received data is composed of the position of the sending robot at the sending time and the sending time itself. The receiving robot, through the TOF, may thus compute the distance from the received position and perform the update. Naturally, in the meantime the sending robot will have moved from the transmitted location, but this does not impair the algorithm, also because the updating robot should not transmit anything back.
Simulation characteristics and results
The underwater vehicle considered has proprioceptive and exteroceptive sensors in order to measure itself and its environment. It has been assumed that each vessel is equipped with:
a tachymeter, for the measurement of the linear velocity due to the thrust of the propeller; an inclinometer (or gyro), for the measurement of the pitch and roll angle; a pressure gauge, for the depth measurement ( a compass, for the heading measurement (yaw absolute coordinate); an ultrasound transducer, for the measure of relative distance of two vessels with time of flight (TOF) and communication.
The introduction of a compass and gyro for the absolute orientation and a pressure gauge for the depth measure are of basic importance since they improve the observability of the system. The measurement noise is assumed Gaussian with a zero mean.
In the result section the considered noise values for the measured data are compatible with low-cost sensors similar to those planned to actually equip a low-cost submarine presently under development.
In the simulations, all the vehicles are considered to be kinematic objects, i.e. without the computation of their dynamics. The vehicles are supposed to exchange information instantaneously, i.e. it is implicitly assumed that the mechanism considered in section 6 can be ignored at least at a first level of approximation, considering the swarm as dense (i.e., less than 0.25
All the simulations have been performed in Matlab and a porting in C++ is in progress. The time step is of 0.1
The result section is organized by scenario. The missions are stated with the details of the relative parameters and the two approaches are then compared. The reported simulations are: a linear trajectory, a circular one and a sinusoidal one. The last, in the case of a Kalman approach, is also computed with and without the aid of an external ground truth point, i.e. a boat being an element of the swarm, but with the additional possibility of exploiting a GPS system.
Both the Kalman and the MCL localizations share the same parameters in order to allow a meaningful comparison.
The robots move at a speed of 1
The update frequency for the localization is 0.1
The measurement error on the velocity at each time step is considered within 20% of the current value for the modulus and randomly within a cone of 30° of aperture for the direction, both in Kalman and in MCL.
For each method and scenario the simulations have been repeated ten times, and the plots reported here are relative to the averaged results.
Finally, the Monte Carlo localization is performed using a set of 1000 particles for each vessel.
Linear Trajectories
In this simulation the ten robots composing the swarm are made to follow linear trajectories parallel to one another.
Kalman Results
Figure 5 shows the average position error (on the whole swarm) and the 3Σ error. The position error of the single robot is computed as the distance between the true vessel position as output by the simulator (subscript

Linear trajectory: average position error (on the ten robots) and 3Σ error vs. time (Kalman), average on ten runs
The variance of this quantity is directly computed on the grounds of the variances output by the Kalman filter.
After 5000 seconds of mission, i.e., 5000 metres, the relative average position error is of about 0.1% and the 3Σ error is of 0.2%, i.e. the ratio of position error vs. the travelled distance. The same quantities considering dead reckoning alone have been of the order of 8% and 30%, with the same variances on speed and initial position.
In Figure 6 the output of the MCL localization algorithm is presented. In this case the algorithm computed position is the weighted average of the positions of all particles.

Linear trajectory: same as Figure 5 in the MCL case, average on ten runs
The relative 3Σ error is computed on the basis of the weighted variance of each of the
where
In Figure 7 a blow-up of the leftmost part of the plot in Figure 5 is shown, to show the saw tooth shape of the plot due to the periodical correction of the position by the algorithm, once every 10

Average and 3Σ errors as in Figure 4 zoomed to show the periodical update at 0.1
In this simulation the ten robots composing the swarm are made to follow circular trajectories in a plane. The robots' angular speed is 0.005
Kalman results
In Figure 8 the average position error as a function of time in the Kalman case is shown.

Circular trajectory: average position error (on the ten robots) and 3Σ error vs. time (Kalman), average on ten runs
After 5000
The simulation results in the MCL case for the same circular trajectories are presented in Figure 9. The overall behaviour of the error is similar to the Kalman case. The final relative average position error is of about 0.2% and its 3Σ error is of about 0.1%. In this simulation the performance of the MCL algorithm is also four to five times worse than the Kalman-based one.

Circular trajectory: same as Figure 8 in the MCL case, average on ten runs
Here, the ten robots composing the swarm are made to follow sinusoidal trajectories in vertical planes. The idea is to roughly simulate an actual mission in which the swarm starts at the surface, dives to a given depth, and finally resurfaces. The robots move with a slowly varying pitch angular velocity.
Kalman results
In Figure 10 the average position error as a function of time in the Kalman-based case is shown. After 5000

Sinusoidal trajectory: average position error (on the ten robots) and 3Σ error as a function of time (Kalman), average on ten runs
Comparing the results in Figure 5, 8 and 10, the Kalman approach seems to better exploit a more complicated motion pattern than a simply linear one to lower the average position error.
In Figure 11 the results in the case of the Monte Carlo localization strategy are presented. The final relative average position error is of about 0.3% and its 3Σ error of about 0.2%, always after 5000

Sinusoidal trajectory: same as Figure 10 in the MCL case, average on ten runs
In the swarm operative conditions the exploitation of a surface vessel, a boat, to deploy the underwater robots may be foreseen. Once such a boat is available, it may be useful to actively use it in the swarm mission. The boat can enter the swarm as a further member with the added value of the possibility of directly measuring its own position via a GPS sensor.
In Figure 12 such a simulation is shown: a swarm of 9+1 robots has been considered. The nine vessels are the underwater ones following the above sinusoidal trajectory; the 1 is a GPS-enabled surface member.

Surface (green) and underwater (red) courses. Units are in metres.
From the results presented in Figure 13 it is evident that the average position error becomes bounded: it does not diverge with time as in the preceding simulations. This is due to the existence of a absolute position reading incoming from the GPS.

Sinusoidal trajectory case using a GPS-enabled boat: average position error (on the 9+1 robots) and 3Σ error as a function of time (Kalman), average on ten runs
In Figure 14 the dependence of the average position error at the end of the simulation on the number of vehicles in the swarm is shown, keeping all the other parameters fixed. It is clear that 'union is strength': the more the vessels the better the estimate, until an asymptote is reached. The figure is relative to the Kalman case, but in the MCL one the behaviour is also similar.

Average position error as a function of the robot number (Kalman case)
In the above simulations the initial positions of all the vessels composing the swarm are known, with the stated standard deviation of 0.05

Average final position error as a function of the initial position standard deviation (Kalman case)
Naturally, the final position error increases with the initial uncertainty on position, but for the smaller ones (the reasonably attainable ones in operative situations) the final errors are limited. In this experiment, the standard deviation of the percentage error on the velocity measure is kept at 5%.
The behaviourof the MCL algorithm is similar, but with larger errors.
At each time step, in the prediction phase the estimation of the vessel position is performed through the proprioceptive measure of the instantaneous robot velocity (dead reckoning). This measure is affected by a measure error whose percentage value can be increased in the simulations to study its influence on the algorithm robustness. In Figure 16 a plot where the final average position error is charted against the velocity measure error in the Kalman case is shown. In this series of simulations the error on the initial position is kept null.

Average final position error as a function of the percentage error in speed at each time step (Kalman case)
From the plot in Figure 16 it can be deduced that the percentage error in velocity measurement, on which the dead reckoning is grounded, weakly affects the final error for the typical values that can be expected in real-world experiments. This means that the localization algorithm is able to cope with the incorrect proprioceptive speed measure unless the error is very large.
The same kind of test has been performed for the MCL case yielding similar behaviour, but with larger final errors. This reinforces the idea that the strategy of using the relative distance as an exteroceptive measure is able to tame the uncertainty of the velocity measure of the robots. On the contrary, the uncertainty of the initial positions is a more critical parameter, it makes the algorithm get more and more imprecision on the guess of the real vessel position.
This work has presented two possible approaches to the localization of underwater swarms through the use of ultrasonic communication. The first is a Kalman-based approach, and the second is a particle filter, i.e. Monte Carlo, localization.
The overall scenario exploits some proprioceptive measures (pose, speed) and an exteroceptive one: the distance between the measuring robot and the measured one as computed through the time of flight of the exchanged sonar message. In this sense every vessel of the swarm acts as a beacon for all of the others, but the beacon position is known with a varying amount of error.
In a three-dimensional environment each vessel possesses six degrees of freedom; thus, the overall system is heavily undetermined, i.e. the covariance on the system state quickly diverges. The exploitation of real world measures such as the yaw angle (compass), roll and pitch angles (inclinometers) and the z coordinate (pressure gauge) greatly improves the localization process both for the Kalman and for the Monte Carlo-based localization, enhancing system observability.
The two approaches differ greatly in the amount of data needed to be circulated among the vessels in order to compute the robot positions.
In the Kalman filtering, during the computation the various vehicles must distribute to the others their own estimates and covariance, and all the cross-correlation matrices needed by the algorithm. This heavy communication scheme clashes against the usually available bandwidth in underwater ultrasound links, allowing swarms with a very limited number of elements.
On the contrary, the Monte Carlo-based localization needs a reduced data exchange: essentially time and position. The transmission of these data can even be considered as a header to whatever message a vessel should broadcast to the others, allowing the localization algorithm to work asynchronously and in the background.
The Kalman strategy can be labelled as a mixed distributed-centralized approach. Only one robot, the measuring one, computes the Kalman filter for all of the system elements and distributes its results to the whole community, but at the next time step a different robot will probably be the next to observe and compute the system state.
The Monte Carlo approach, instead, is fully distributed, since each robot computes its own position, in a totally passive way, as soon as a fellow in the swarm has transmitted its position and time. The update phase in a robot can be performed even on the basis of a single incoming transmission and the communication among the robots is one way only, without the need for any ping-pong between them.
In the Kalman approach, the state to be estimated is one encompassing the entire swarm, while for the MCL there are as many independent states as there are robots.
The numerical results of the presented simulations show that the Kalman approach performance, in terms of average position error, is definitely better than the MCL-based one. This is not unexpected, given the characteristics of the two schemes: on one side mathematics and on the other statistics. Besides, it must also be considered that the Kalman approach is based on a single synchronous swarm where covariances and cross-correlations among vessels are taken into account, while the MCL approach is fully decentralized and asynchronous with a weak interaction among the vessels' state variables.
An analysis of the statistical significance of the difference between the results of the two approaches (t-test) has shown that the difference is not significant (5% threshold).
Robustness analysis of the Kalman-based algorithm has shown that the final average position error can be limited even in the presence of noise in the measure of each vessel speed vector, and in the inaccuracy of initial position knowledge. These are the two major error sources: the initial position error is responsible for inaccuracy in relative distances among the robots, and speed measure noise is responsible for rendering unpredictable the future positions of the vessels. The Kalman-based algorithm is able to tame these two sources using the relative distance measures coming from the sonar TOFs.
In the MCL approach, the overall behaviour against these noise sources is similar, but the larger uncertainties, due to the statistical nature of the filtering, cause larger position errors. These worse results may also be due to an inaccurate motion model, taking into account the 10
On the side of the computational load, it is possible to assess that the two approaches are roughly of the same computing weight but with different characteristics. The Kalman one has a heavier computational load, needing e.g. matrix single value decomposition (SVD) and matrix inversion, while the other has a much lighter load but repeated over a large number of particles. It must be also noted that the Kalman approach is monolithic, i.e. the necessary computation amount is fixed, once the swarm parameters are chosen. On the other hand, the MCL approach is more flexible: depending on the on-board computing power and the frequency of incoming data, it is possible to tune the number of particles in the algorithm.
In summary, it can be affirmed that the Kalman approach performs better than the MCL approach, keeping in mind that a more thorough study of the parameters of the latter is yet to be performed. Nevertheless, the MCL-based algorithm seems more appealing when dealing with an underwater swarm, being fully asynchronous and distributed among the vessels. In addition, it is more flexible from the point of view of the computational needs, being possible to tune the particles number representing a vessel depending on the available on board computational power. Finally, it allows a much higher number of vessels, needing a lower bandwidth for communication. This also implies that the MCL-based swarm leaves more room for mission and payload communication among the vessels than a Kalman-based one.
Future work is targeted to a more thorough study of the Monte Carlo algorithm to fine-tune its parameters and characteristics for greater accuracy, and to study its scalability with the swarm element number. In particular, due attention will be placed to the conditions in which resampling takes place and its characteristics in terms of the number of resampled particles. Another aspect is the robustness of the algorithm against the motion model and the update frequency. In addition, a more realistic series of simulations, taking into account the limits on acoustic transmission, outlined in section 6, are foreseen in the near future.
