Learning and detecting abnormal speed of marine robots

This article presents anomaly detection algorithms for marine robots based on their trajectories under the influence of unknown ocean flow. A learning algorithm identifies the flow field and estimates the through-water speed of a marine robot. By comparing the through-water speed with a nominal speed range, the algorithm is able to detect anomalies causing unusual speed changes. The identified ocean flow field is used to eliminate false alarms, where an abnormal trajectory may be caused by unexpected flow. The convergence of the algorithms is justified through the theory of adaptive control. The proposed strategy is robust to speed constraints and inaccurate flow modeling. Experimental results are collected on an indoor testbed formed by the Georgia Tech Miniature Autonomous Blimp and Georgia Tech Wind Measuring Robot, while simulation study is performed for ocean flow field. Data collected in both studies confirm the effectiveness of the algorithms in identifying the through-water speed and the detection of speed anomalies while avoiding false alarms.


Introduction
Anomaly detection for marine robots is an important practical problem because marine robots are often used in distant and hostile environments such as the deep sea and the polar oceans. During long-range or long-period missions, marine creatures and biofouling may harm robot sensors and thrusters. 1 Monitoring sensors have been installed to evaluate components vulnerable to faults. 2 For example, damaged propellers impair propulsive efficiency to control vehicle speed. These faults could be detected with rotational speed sensors installed at the propellers; however, this approach requires increased hardware complexity and cost, 3 and it may not detect unexpected external disturbances (e.g. white shark attack).
We propose anomaly detection algorithms for marine robots based on their trajectory data. Given a trajectory, we develop a learning algorithm that estimates the through-water speed of the robot as well as the ambient flow velocity. The robot speed estimate is then used to determine whether or not robot motion is abnormal. Anomaly occurs when the robot speed estimate is out of the range in normal operation. This approach complements the existing methods that detect faults of individual components based on sensor measurements. The use of trajectory data in our work follows similar motivations as previous works in surveillance applications (e.g. see the literature 4 ). Our work uses underwater trajectory data of marine robots while the previous work 5, 6 uses car trajectory data and surface trajectory data of marine vessels. The major difference is the type of speed information used for anomaly detection; the former is through-water speed and the latter is ground speed.

Related work
Recent studies on ground and marine robots proposed approaches to identify abnormal robot motion. 7,8 An anomaly or fault is defined as an unacceptable deviation of at least one characteristic property of a variable from an acceptable behavior. 9 We assume that normal behaviors occur far more frequently than abnormal behaviors for the data collected. If this assumption is not true, then such techniques can produce incorrect detection results or false alarms. 10 For marine robots, most fault detection algorithms have been dealing with abnormal behaviors of the system components that are the most vulnerable to faults. [11][12][13] Blocked propellers, leaking thrusters, and rotor failure are documented as frequently occurring faults. 14 In 2015, a software configuration error in an underwater glider disabled an internal mass shifter that adjusts the vehicle's trim, leading the vehicle to sink to the seafloor and resulting in a temporary loss. 8 Instead of detecting faults in an individual component, robot motion can be used for anomaly detection. Raanan et al. 15 use a threshold technique to prevent an underwater glider from hitting the seafloor. The deviation from expected robot motion in the vertical plane is detected by monitoring stern plane angle, pitch angle, and depth rate.
Serious performance degradation can result when ocean flow speed is comparable to or exceeds the maximum through-water speed of marine robots, as is the case for underwater gliders. 16 However, the abnormal motion caused by ocean flow should not be misclassified as an anomaly for the marine robot. Therefore, it is important to identify the ambient ocean flow while estimating the through-water speed. Measuring through-water speed of marine robots is substantially difficult because of limited hardware capability. The inertial measurement unit (IMU) and the Doppler velocity log (DVL) can be combined to measure through-water speed. 17 IMU error can be corrected by the DVL, which measures both vehicle velocity with respect to ground (bottom-tracking) and flow velocity with respect to the vehicle (water-tracking). 18 However, DVL accuracy can be poor when the marine robot does not maintain constant altitude and heading angle. Alternatively, acoustic positioning systems can estimate robot speed using a short baseline or a long baseline systems, which utilize multiple beacons located at the seafloor or the hull of a ship. 19 However, this measured velocity is not through-water velocity, but rather the ground velocity that combines both through-water velocity and flow velocity, which need to be further processed to determine whether the vehicle is having a fault.
Controlled Lagrangian particle tracking (CLPT) is a theoretical framework to analyze the interaction between ocean flow and marine robot control. 20 In contrast to passive Lagrangian methods, a marine robot is viewed as a controlled Lagrangian particle in the sense that marine robots are not freely advected by ocean flow. In the framework of CLPT, the net motion of controlled Lagrangian particles is determined by flow velocity and controlled speed. Our work leverages the CLPT framework for anomaly detection because it helps us to identify both the through-water speed of marine robots and the ambient flow. Using these information allows us to detect abnormal motion while avoiding false alarms caused by unexpected flow.

Major contributions
We present a learning algorithm that can process the data streams of the trajectory of a marine robot and the real-time heading information. The algorithm will produce a realtime estimate of the through-water speed of the robot and the ambient flow field. Using the theory of adaptive control and CLPT, we can prove theoretically that the algorithm will drive the difference between the robot trajectory and the learned trajectory to zero. In addition, the estimation error of the through-water speed and the ambient flow field also converges when a persistent exciting condition is satisfied. Furthermore, the learning algorithm guarantees bounded estimation error under bounded disturbances. Therefore, the estimated through-water speed can be used for anomaly detection, and the estimated ambient flow field can be used to reduce false alarms.
It is generally very difficult to validate the proposed algorithm on a marine robot that operates in the ocean due to the high risk and high cost of losing a marine robot. To address this challenge, we have developed an indoor testbed that uses robotic blimps to emulate marine robots and uses wind field to emulate ocean flow field. Similar to a marine robot, the motion of a robotic blimp is influenced by a wind field. The robotic blimps are carefully designed so that faults that affect its through-air speed can be easily generated. Our algorithm can then be evaluated on these blimps. Furthermore, the wind field can be autonomously measured by a mobile robot. The measured wind field is then used to compare with the estimated wind field produced by our algorithm. It would be very difficult (if not impossible) to perform these experiments in the ocean. Experimental data have justified that the anomaly detection approach works well on the testbed. Our experiments also indicate that the algorithms can be applied to other applications such as unmanned aerial vehicles and autonomous ground vehicles.

Organization
The remainder of this article has been organized into the following sections: in the second and the third sections, we present vehicle motion model and controlled Lagrangian localization error of marine robots. In the fourth and the fifth sections, we describe an adaptive learning algorithm and an anomaly detection algorithm for marine robots. In the sixth and the seventh sections, we demonstrate mathematical simulation and experimental results by developing Georgia Tech Miniature Autonomous Blimp (GT-MAB) and Georgia Tech Wind Measuring Robot (GT WMR). In the eighth section, we provide conclusions and future work.

Models and problem setup
Let F: D Â ½0; 1 ! R 2 represents a spatially distributed vector field for the ambient flow velocity, where D 2 R 2 is the domain of interest. Furthermore, let C c ðtÞ ¼ ½cos c ðtÞ; sin c ðtÞ > be a unit vector that represents the direction of movements of the robot, where c ðtÞ is the heading angle of the robot. Let V R be the through-water speed of the robot. Then, the marine robot motion model is approximated by where the subscript R for the flow F denotes an actual flow. F R and v R are assumed to be locally Lipschitz in x ¼ ½x 1 ; x 2 > 2 D, where x is the true position of the robots.
In practice situations, the through-water velocity can be saturated because of control power constraints of robots. We modify equation (1) as follows The maximum through-water speed u 0 is determined by the hardware configuration of marine robots. Assumption 1. During normal operation, V R in equation (1) is a constant.
The flow field can be represented by spatial and temporal basis functions. 21 We consider that spatial and temporal basis functions are to be the combination of Gaussian radial basis functions and tidal basis functions, respectively. Let N be a positive integer, and q 2 R 2ÂN be the unknown parameters, respectively. Let : D Â ½0; 1 ! R N be ½ 1 ðx; tÞ; Á Á Á N ðx; tÞ The combined basis functions are where c i is the center, s i is the width, ! i is the tidal frequency, and u i tidal phase. Here, we assume that the flow only contains tidal flow and biased flow, which represents the combination of high and low frequency components of flow. If ! i equals zero, flow only has spatial variability. Assumption 2. We assume that the heading c ðtÞ is known for all time t, and the vehicle trajectory xðtÞ can be measured or estimated for all time t. Remark 1. While the robot is moving in the flow field, its true location may only be known occasionally. We can estimate the trajectory of the robot through localization algorithms. The localization algorithms incorporate the known locations and the heading angle command as input and produce estimated trajectories.
Given the knowledge of the trajectory xðtÞ, our first goal is to estimate the parameter q that models the flow field and the through-water speed V R . Mathematically, let " # be our estimate of the parameter q and V L ðtÞ be our estimate for V R , we will design a learning algorithm to generate xðtÞ and V L ðtÞ such that xðtÞ ! q and V L ðtÞ ! V R as t ! 1. Our second goal is to use the information of xðtÞ and V L ðtÞ to determine whether the vehicle is working properly or not.

Flow and speed estimation
Now, knowing xðtÞ and V L ðtÞ, we can compute an estimate zðtÞ for the robot trajectory by integrating the following equation where bðtÞ 2 R 2 is introduced as a learning injection parameter. We call e ¼ x À z as the controlled Lagrangian localization error (CLLE). The CLLE models how much the estimated trajectory is deviated from the identified trajectory. A learning algorithm will then compute bðtÞ, xðtÞ, and V L ðtÞ so that the CLLE can be reduced. We first derive the CLLE dynamics by subtracting equation (7) from equation (1) to obtain Note that the parameter q is unknown, so we cannot use bðtÞ ¼ qðx; tÞ À xðtÞðz; tÞ directly. Instead, we design the learning parameter injection as follows When we plug equation (9) into equation (8), CLLE dynamics becomes We derive CLLE dynamics under control input constraints. Let du ¼ u À V R be the saturation term of through-water velocity. We subtract equation (7) from the combination of equations (2) and (3). CLLE dynamics becomes where du can be viewed as an additional disturbance to CLLE dynamics. We assume that du is bounded by du max . Then, since k C c k¼ 1, the term duC c is bounded above as k duC c k du max . Equation (11) is used for the proposed updating rules that ensure CLLE to be ultimately bounded in spite of saturation of through-water velocity. The learning algorithm updates parameters xðtÞ and V L ðtÞ using CLLE dynamics so that CLLE converges to zero. Let x, q, and e 2 R 2N be column vectors. That is, > , qðtÞ ¼ ½q 1 1 ðtÞ; Á Á Á ; q N 1 ðtÞ; q 1 2 ðtÞ; Á Á Á ; q N 2 ðtÞ > , and e ¼ ½e 1 1 ; Á Á Á ; e 1 N ; e 2 1 ; Á Á Á ; e 2 N > , where is the Kronecker product. We design the updating rules for estimating the parameters as follows where the parameter g is the parameter for learning rate, which is a positive constant.

Anomaly detection
With the updating rules represented by equations (12) and (13), we obtained the estimated flow velocity and throughwater speed simultaneously. The through-water speed estimate is used for a critical measure that decides whether or not abnormal vehicle motion occurs.
Assumption 3. We assume that the maximum V max and minimum V min through-water speed are known beforehand.
If the through-water speed estimate is within the range between the maximum and the minimum through-water speeds, we determine that the robot is normally operated without abnormal motion. However, when the throughwater speed estimate is out of the normal range, we need to check whether the flow estimate is accurate or not to avoid false alarm.
We introduce the flow estimate F M ðtÞ as the estimated flow when the vehicle is working in normal conditions. Since we assume that anomaly only occurs occasionally, we can let F M ðtÞ ¼ F L ðtÞ if the estimated vehicle speed is within the normal range. When the estimated vehicle speed is out of the normal range, F M ðtÞ can be generated from the prediction based on the parameters obtained in normal conditions. In practice, there might be prior information, such as ocean models, or measurements from other sensors, available to help us generate the F M ðtÞ needed.
The prediction F M ðtÞ will be compared with the F L ðtÞ to judge whether flow estimation is accurate or not. Thus, we define the flow estimation error k F M ðtÞ À F L ðtÞ k as the difference between estimated flow velocity and modeled flow velocity generated from available flow models (e.g. literature 22,23 ).
t2½0;t Þ be the maximum value of modeled flow speed until time t. We can compute a measure for the flow estimation error as When we compare the maximum value of estimated flow speed until time t to that of modeled flow speed until time t, we select the larger value between the two maximum values to avoid numerator near zero. The value 2 in the denominator is a scale factor that makes the measure be 1 when the difference between estimated and modeled flows is maximum.
Algorithm 2 uses p E and the through-water speed to decide whether the robot is in normal condition or not. A threshold g f is selected to determine whether the error measure p E is too large. If p E is above the threshold, then the through-water speed estimate of the robot should not be trusted. If p E is below the threshold, then the algorithm checks whether the through-water speed is with the normal range or not.

Theoretical justification
The algorithm given by equations (9), (12), and (13) can be justified theoretically using adaptive control theory. 24 In particular, we can prove that the algorithm achieves error convergence, parameter convergence, and robustness against bounded uncertainties. Error convergence indicates that the identified trajectory converges to the estimated trajectory. Parameter convergence indicates that the estimated flow field and through-water speed converge to the assumed true values. Robustness indicates that the inaccuracy in these estimates is bounded if the uncertainties are bounded. The related theorems and lemmas needed for the proofs are provided in "Review of adaptive control" section.

Persistent excitation assumption
. We can construct a matrix W ðtÞ 2 R ð2N þ1ÞÂð2N þ1Þ as follows For parameter convergence, we need an assumption on w as follows: Assumption 4. The w is persistently exciting. In other words, there exist positive k 1 , k 2 , and T such that W ðtÞ This persistent excitation assumption is critical to prove the convergence of parameters. 25 When W ðtÞ is singular, the estimation errors of parameters may not converge to zero. The persistent excitation condition requires that the trajectories are traveled by the robot to spread over the area of operation. This may not be easily satisfied in practice. Hence, the parameters may not be accurately identified. We will further address this condition in the simulation and experiment sections.

Convergence proof
The convergence of CLLE using Lemma 4 is proved as follows.
Then, using equations (12) and (13) where _ V is negative semidefinite and this implies that e, xðtÞ, and V L ðtÞ are bounded. In addition, the second-order time derivative of V satisfies Because C c is bounded, € V is bounded, and hence, _ V is uniformly continuous. By Lemma 4, lim t!1 _ V ðtÞ ¼ 0. Since K is the diagonal matrix, eðtÞ !0 as t ! 1.
Even if CLLE convergence is shown, the learning algorithm may not identify actual flow because multiple parameters that represent flow are identified from one type of information, which is the estimated trajectory. Thus, we prove parameter convergence to declare that the vehicle motion is accurately identified.
Theorem 2. Under the same setting of Theorem 1, xðtÞ and V L ðtÞ converge to q and V R , respectively, that is, xðtÞ ! q, and V L ðtÞ ! V R as t ! 1.
Proof. Let h 1 , h 2 , and h 3 be q 1 À x 1 ðtÞ ð Þ , q 2 À x 2 ðtÞ ð Þ , and V R À V L ðtÞ ð Þ , respectively. We rewrite equation (10) using notations h 1 , h 2 , and h 3 as follows We augment e, h 1 , h 2 , and h 3 to new state variable X. Then where 0 is the zero matrix with proper dimensions according to the components of the first row matrix of A. Our goal is to show that the origin of _ X ¼ AðtÞX is uniformly asymptotically stable, which implies that xðtÞ converges to q, and V L ðtÞ converges to V R when time goes to infinity. By Theorem 5, we need to show that P exists and ðC; AÞ is uniformly completely observable. Let Let V 1 be X > PX . Then, _ Thus, there exists a symmetric matrix P(t) and positive constants c 1 and c 2 such that c 1 I PðtÞ c 2 I and AðtÞ > PðtÞ þ PðtÞAðtÞ þ _ PðtÞþ nCðtÞ > CðtÞ 0. Now, we will prove ðC; AÞ is a uniformly completely observable. Because it is difficult to prove the observability of time varying system matrix A, we will instead show ðC; A þ LCÞ is uniformly completely observable with some bounded matrix L called output injection by Lemma 1. Let L ¼ . Thus Let η ¼ ½h 1 ; h 2 ; h 3 > . We have the following equation corresponding to equation (23) By Assumption 4, w is persistently exciting. Let FðtÞ ¼ ð t t exp ÀKðtÀsÞ wðsÞds be the output of equation (24) given the input w. By Lemma 2, FðtÞ satisfies persistently exciting conditions because wðsÞ is persistently exciting, and the transfer function of equation (24), ðsI 2Â2 þ KÞ À1 , is a stable, minimum phase, proper rational transfer function. Therefore, there exists constant r 1 , r 2 , T 0 > 0 such that FðtÞF > ðtÞdt ! r 1 I 8t ! 0. By applying Lemma 1 to the system of equation (24), ðC; A þ LCÞ is uniformly completely observable; hence, the system of equation (21) is uniformly completely observable. Therefore, the origin of _ X ¼ AðtÞX is uniformly asymptotically stable; that is, X !0 as t ! 1. This means that h 1 , h 2 , and h 3 go to zeros individually. Thus, xðtÞ and V L ðtÞ converge to q and V R , respectively.

Input constraints
The marine robots have limited power to control their motions. The control power is saturated by the maximum capacity of hardware such as motors and thrusters. This induces constraints to robot control in the ocean. Since equation (11) includes one saturated term represented by duC c , which shows the discrepancy between input and output of the saturator, we reject additional disturbance duC c from saturation in equation (11) using a scheme in the literature. 26 We generate additional signal e d governed by a differential equation as follows Let ε ¼ e À e d be the difference between CLLE and the additional signal. When subtracting equation (25) from equation (11), we have To make e go to zero, we replace the updating rules for time-varying parameters x and V L in equations (12) and (13) by the following two equations The corresponding equations (lines 3 and 4) in Algorithm 1 will also be changed to use the error signal e and e d Theorem 3. Under the update rules (27) and (28), CLLE is ultimately bounded where the positive constant q < 1.
Then, _ V 2 Àð1 À qÞ k e d k 2 À q k e d k 2 þ k e d k du max . When k e d k! du max q given positive constant q < 1, _ V 2 Àð1 À qÞ k e d k 2 . This means _ V 2 is not positive. Thus, k e d k du max q . We will show e goes to zero when time goes infinity by the following candidate Lyapunov function By using equations (27) and (28), _ V 3 ¼ Àε > Kε 0. _ V 3 is negative semidefinite and this implies that ε, x, and V L are bounded. In addition, This implies that x is bounded. In addition, x and V L are bounded. Thus, € V 3 is bounded, and then, _ V 3 is uniformly continuous. By Lemma 4, lim t!1 _ V 3 ðtÞ ¼ 0. Since K is the diagonal matrix, ε !0 when t ! 1; e ! e d when t ! 1. Thus, CLLE is ultimately bounded.

Inaccuracy in flow modeling
Although the spatial basis function well captures the spatial variability of actual flows in a specific region, the function still includes deterministic errors induced by the variability out of the region. In this section, we address the robustness of the proposed adaptive learning algorithm.
To show that the proposed algorithm is robust to disturbance in the flows, we prove the boundedness of CLLE when the actual flow model has unknown disturbances. We The theorem of robustness is proved below. Theorem 4. Under the same setting of Theorem 1 and F R ðx; tÞ ¼ qðx; tÞ þ D, CLLE is ultimately bounded where the positive constant u < l min ðKÞ and k D k is bounded by D max .
Proof. Let V 4 be the Lyapunov function represented by equation (16). Using equation (31), the derivate of V 4 is We plug the updating rules represented by equations (12) and (13) into equation (33). Then Àl min ðKÞe > e þ e > D Àl min ðKÞ k ek 2 þ k e kk D k À l min ðKÞ À u ð Þke k 2 þ k e kk D k Àu k e k 2

Algorithm 2. Anomaly detection algorithm
When k e k! 1 u k D k given positive constant u < l min ðKÞ, _ V 4 À l min ðKÞ À u ð Þke k 2 , which means _ V 4 is negative definite. Thus, CLLE is ultimately bounded. The bound of CLLE is k e k 1 u k D k max .

Simulations
This section describes simulation results for the anomaly detection algorithms in the section of anomaly detection. For the presentation of 2D ocean flow, q i 1 is selected as the true flow parameter along the horizontal direction and q i 2 is the true flow parameter along the vertical direction, where i ¼ 1; 2; 3. The three combined basis functions are composed of center c i , width s i , harmonic frequency ! i , and harmonic phase n i , where i ¼ 1; 2; 3. Those harmonic periods are chosen by major tidal components M 2 , N 2 , and S 2 . Harmonic phases are zeros. For the anomaly detection algorithm, positive constant K in the learning parameter injection term is the identity matrix. The learning rate g is 0.8. In the prevention scheme of false alarm, the factor g f is 0.07. Figure 1 shows trajectories of a marine robot when the direction of the marine robot in the horizontal plane is controlled by heading angle command C c ¼ p 2 t 20 . Every 20 s, the heading angle will increase 90 . In Figure 1, the simulated true trajectory represented by the black line would follow one square if there was no flow. However, because flow with spatial and temporal variabilities affects vehicle motion, the true trajectory has multiple squares. The vehicle trajectory satisfies the persistent excitation condition.
The flow estimate F L , which is xðtÞðzðtÞ; tÞ, is generated by Algorithm 1. When x and x are all (0,0) at t ¼ 0 in Figure 1, Algorithm 1 starts to update the flow estimate with initial conditions of xðtÞ, as given in Table 1. Figure 2 shows simulation results of through-water speed and anomaly detection. In Figure 2(a), two green lines represent the upper and lower bound of normal through-water speed, respectively. When actual throughwater speed is reduced to 0.5 m/s after 200 s due to abnormal motion, the learning algorithm keeps tracking actual through-water speed until 300 s.
The anomaly detection algorithm changes the value of flag to indicate the status of the simulated robot. The flag value is 2 within the first 10 s, which indicates that a false alarm may happen due to the inaccuracy of identified flow in the initial transient period. The flag value changes to 0 after 10 s because the flow identification error has decreased significantly, as shown in Figure 3, and the identified through-water speed is within the normal range, as shown in Figure 2(a). The flag value switches from 0 to 1 at 200 s because the identified through-water speed is out of the normal range, while the flow identification error is small in Figure 3.

Experiments and results
The verification of anomaly detection algorithms on marine robots operating in the ocean typically requires significant effort and resource. In addition, generating faults True on operational marine robots will induce risk of vehicle loss. Therefore, there is a need for an indoor testbed so that experiments can be carried under controlled conditions with reduced cost and risk. For this purpose, we develop the GT-MAB and the GT-WMR, which are used to collect experimental data on anomaly detection proposed in this article.

Indoor testbed development
The GT-MAB 27 has dynamics that are similar to the dynamics of underwater vehicles. [28][29][30][31] The lighter gas in the GT-MAB induces buoyancy, which plays the same role in restoring force and moment of the GT-MAB as underwater vehicles. The GT-MAB is subjected to significant air dynamic influences, which can be leveraged to emulate flow influences on underwater vehicles. To generate flow that affects the motion of the GT-MAB, a Dyson fan is used as an artificial wind source. The Dyson fan creates more consistent flows along the direction of blowing wind than rotating fans that produce inconsistent flows. Utilizing the GT-MAB and the Dyson fan, we establish an indoor testbed shown in Figure 4.
Measuring flow generated from the Dyson fan is necessary for algorithm verification. We develop a wind measuring robot (WMR) to measure the wind field of the indoor environment. The GT-WMR collects low wind speed measurements ranged from 0 m/s to 4 m/s in all directions at each location autonomously. As shown in Figure 5, the GT-WMR integrates three wind speed sensors, each with different range and accuracy, on an omnidirectional robot. The GT-WMR autonomously moves along predetermined waypoints, and then, the GT-WMR collects wind measurements at an altitude, where wind sensors are fixed on the omnidirectional robot. These wind measurements enable us to identify the flow field of the Dyson fan.

GT-WMR data
To densely collect wind measurements in the indoor testbed, we determine multiple waypoints that can generate the GT-WMR path having a type of lawnmower pattern. Figure 6 shows the waypoints and the GT-WMR's path, and Figure 7 shows measured wind velocity at each waypoint.
When the GT-WMR controlled by a waypoint controller accurately reaches one waypoint shown in Figure 6, the GT-WMR stays at the waypoint and changes its orientation with 30 increment starting from 0 to 360 . The wind speed sensors will collect measurements for each of the orientations. The direction where the wind speed is the maximum is chosen as the direction of the wind. Then, the GT-WMR moves to the next waypoint and repeats the measurement process. The measured wind field is plotted in Figure 7. The largest measurement of wind speed is acquired near the wind source. In addition, the width of the area with strong wind is around 0.2 m. This value is similar to the diameter of the Dyson fan, which is 0.254 m. These measurements are consistent with the Dyson fan.

GT-MAB data
We can measure the through-air speed of the GT-MAB, where there is no wind, as 0.0185 m/s. When the Dyson Fan is on, we use the adaptive learning algorithm to identify airflow along the GT-MAB trajectory using the adaptive learning algorithm. Comparing the wind speed measurements with the GR-WMR data will validate the learning algorithm.
When GT-MAB is operating in normal conditions, the adaptive learning algorithm is applied to identify the flow field. Figure 8 shows measured and identified trajectories of the GT-MAB. At the individual starting point represented by one black square, we select one waypoint along the Y-axis for the forward or backward motion of the GT-MAB. The blue arrows, which represent wind identified by the adaptive learning algorithm, move away from the wind source. The direction of an identified flow corresponds to the wind direction generated from the wind source. Figures 9 and 10 show measured and identified trajectories of the GT-MAB from different starting positions. The magnitude of the blue arrows at the place closing   to the wind source is larger than at other places; this tendency corresponds to the fact that strong wind is generated at positions close to the wind source.
Verifying the adaptive learning algorithm is significantly difficult by simply comparing Figures 8 to 10 with Figure 7. Although wind velocities are identified in the entire space of the testbed, as shown in Figures 8 to 10, the accuracy of the wind velocities is not consistent. Because using constant heading angle command and constant spatial basis functions does not satisfy persistent excitation condition in equation (15), flow parameters for the identified flow may be inaccurately identified. But, nevertheless, this identification is necessary for anomaly detection.

Anomaly detection
The flow estimate F L , which is xðtÞðzðtÞ; tÞ, is generated by Algorithm 1. This algorithm updates xðtÞ with its zero initial condition. In addition, we use the flow field measured by the GT-WMR to generate F M ðtÞ for anomaly detection algorithms. We intentionally introduced errors in F M ðtÞ to hide the ground truth from the algorithm to test its robustness.
To generate the anomaly, we intentionally disabled a thruster on the GT-MAB to generate a fault and applied the anomaly detection algorithms. The flow parameters are identified by the learning algorithm at the same time. The fault occurs at time t ¼ 4 s in Figure 11, which plots the through-air speed (Figure 11(a)) and the flags generated by the algorithm (Figure 11(b)). The normal speed range is represented by two green lines. We see that after t ¼ 4:43 s, the through-air speed estimate escapes from the range. Flag 0 is maintained until 4.43 s showing no anomaly is detected. Flag 1 indicates that anomaly occurs because the through-air speed estimate is out of the