## Abstract

The aerodynamic performance of vehicles and animals, as well as the productivity of turbines and energy harvesters, depends on the turbulence intensity of the incoming flow. Previous studies have pointed at the potential benefits of active closed-loop turbulence control. However, it is unclear what the minimal sensory and algorithmic requirements are for realizing this control. Here we show that very low-bandwidth anemometers record sufficient information for an adaptive control algorithm to converge quickly. Our online Newton–Raphson algorithm tunes the turbulence in a recirculating wind tunnel by taking readings from an anemometer in the test section. After starting at 9% turbulence intensity, the algorithm converges on values ranging from 10% to 45% in less than 12 iterations within 1% accuracy. By down-sampling our measurements, we show that very-low-bandwidth anemometers record sufficient information for convergence. Furthermore, down-sampling accelerates convergence by smoothing gradients in turbulence intensity. Our results explain why low-bandwidth anemometers in engineering and mechanoreceptors in biology may be sufficient for adaptive control of turbulence intensity. Finally, our analysis suggests that, if certain turbulent eddy sizes are more important to control than others, frugal adaptive control schemes can be particularly computationally effective for improving performance.

## 1. Introduction

The performance of animals, vehicles, wind turbines and energy harvesters are all affected by turbulence in the incoming flow. Animal trajectories are disrupted by turbulence over a wide range of scales: from microscopic larvae [1–3] to gliding tree frogs [4] and hovering hummingbirds [5,6]. Turbulence decreases the maximum airspeed of bees [7,8] and moths [9], and decreases the swimming speed of perch [10] and creek chubs [11]. Locomotion costs in turbulence are thought to be higher across a wide range of swimming and flying taxa [12,13], a hypothesis that has been confirmed for hummingbirds [6] and salmon [14]. Like similarly sized animals, micro-aerial vehicles are susceptible to turbulent flows because of their small size and slow speeds [15,16]. As a result, turbulence places significant constraints on vehicle controllers that have yet to be overcome [16]. Turbulence also affects the potential for capturing energy from incoming flows. Wind turbines in turbulent flows can have higher fluctuations in power [17–19] and produce less power overall [20]. At much smaller scales, piezoelectric harvesters rely on the energy contained in turbulence, so their performance depends on the intensity and frequency content of the incoming turbulent flow [21–23]. The dynamical system properties of turbulence are still poorly understood, and it is unclear which algorithms can control turbulence with minimal information [24].

One solution for controlling complex processes such as turbulence without a model of the system dynamics is adaptive control. The goal of adaptive control is to tune the parameters of a working open-loop controller over time scales longer than those natural to the system being controlled [24]. A biological analogue to adaptive control is the concept of motor learning, where learners perfect movement solutions over many trials without *a priori* knowledge of the system dynamics [25]. Adaptive control has found success over a diverse set of optimization problems: suppressing flow separation over wings and diffusers [26–29], reducing power consumption in formation flight [30], attenuating noise in nozzles [31–33], reducing drag on bluff bodies [34] and maximizing the lift or efficiency of oscillating plates, panels, aerofoils and hydrofoils [35–37]. Adaptive control is also used to tune controllers that then make decisions in real time [38] and can even guide the learning of bipedal robots [39].

In many cases, the design and effective operation of an adaptive controller in turbulence might only require sensing flow fluctuations over a narrow frequency band. Animals and vehicles, for example, are more destabilized by turbulent eddies of a similar scale to the body length [4,6,11,40,41]. Energy harvesters gain the most energy from turbulent eddies that are tuned to their structural resonant frequency [22,23]. When implementing noise attenuation, certain frequencies of noise may carry higher penalties than others [33]. Motivated by the importance of narrow frequency bands, we studied the effect of sensor bandwidth on the performance of an adaptive controller that operated in a turbulent environment. Specifically, our controller tuned the turbulence intensity in a wind tunnel. To test the effects of bandwidth on controller performance, we first developed an adaptive control algorithm for automatically tailoring the turbulence intensity in the tunnel. The algorithm controlled an active grid of spinning vanes based on information from a high-frequency anemometer. We varied the sensor bandwidth *in silico* by resampling airspeed data from the anemometer. We then used simulations to study how the number of anemometers and their sampling characteristics influence adaptive control of turbulence. The robustness of the adaptive controller implies that it is not only a novel way to automatically tune turbulence in a wind tunnel, but also a key starting point for hypotheses about flying vehicles and animals learning to cope with turbulence.

## 2. Material and methods

To study how an adaptive controller operates in turbulence, we studied the ability of an active grid of spinning vanes to control the turbulence intensity in a closed-loop wind tunnel (figure 1*a*) [47]. Using a hotwire anemometer in the test section, we measured the turbulence intensity produced by the grid. This turbulence intensity was relayed to an algorithm which adapted the motions of the spinning vanes until a target turbulence intensity was achieved. To explore the effect of anemometer type, we simulated the algorithm *in silico* using anemometers with varying bandwidths. We also simulated the use of multiple anemometers. Using these simulations, we tested the effect of anemometer type and number on the convergence properties of our adaptive control algorithm.

### 2.1. Turbulence generation

An active grid of spinning vanes upstream of the test section injected vorticity into the flow by rotating 15 aluminium shafts (seven horizontal, eight vertical, 2 cm diameter, 10 cm spacing), each actuated independently by a motor-encoder assembly (Maxon RE 40 + GP 42 + HEDL 5540). Affixed to each shaft were diamond-shaped aluminium vanes (10 cm diagonal, 10 cm spacing, 2 mm thickness): nine vanes on each horizontal shaft and six vanes on each vertical shaft. The vertical vanes generated constant blockage by remaining stationary at a specified angle, *α*, relative to the zero position (parallel to the flow). By contrast, the angle of the horizontal vanes oscillated around the zero position with a given maximum angular velocity, *v*, and amplitude, *θ*. The design of the grid and its generalized motion patterns were based on a similar grid using open-loop control developed by Cekli *et al*. [48,49].

### 2.2. Adaptive control algorithm

To measure turbulence levels produced by the grid, we placed a hotwire anemometer (Dantec 55P16; CTA module Dantec 54T42; 10 kHz; sensitivity length ≈ 800 µm) 1 m downstream of the grid in the test section (0.8 × 1.0 × 1.7 m) to measure the turbulence spectrum. Further details on the measurement set-up can be found in the electronic supplementary material, SM1.1. What differentiates our active grid set-up from others [48,49] is that the anemometer relays the streamwise flow speed, *u*(*t*), to our model-free adaptive control algorithm (programmed in LabVIEW 2015 SP1) with a time delay of approximately 0.1 ms. The measured turbulence intensity is used to iterate and execute motion commands (*v*, *θ*, *α*) for the active grid with an additional time delay of approximately 0.02 ms. The goal of the algorithm is to seek out a prescribed streamwise turbulence intensity, , where and are the root-mean-square and time-averaged streamwise speeds, respectively.

We chose to demonstrate the robustness of our technique by using a simple, well-established adaptive control algorithm. The algorithm is a multi-dimensional variant of the linear model-free Newton–Raphson method [50] (figure 2*a*). The method seeks zeros of a scalar function, *f*, defined as the difference between the measured turbulence intensity, *q*, and the desired turbulence intensity, *q*_{0},
where is a vector describing the current state in *v*–*θ*–*α* space. The measured intensity at state *X _{i}*,

*q*(

*X*), is based on 15 s of data sampled at 10 kHz by the anemometer. The accuracy provided after a certain sampling time depends on wind speed and turbulence levels; we chose 15 s because it ensured that the variation in mean intensity was reduced below measurement noise for all the speeds and turbulence levels we considered. At each iteration of the algorithm, a new state

_{i}*X*

_{i}_{+}

_{1}is determined from the current state

*X*using the relation where

_{i}*β*is a prescribed relaxation parameter. To decrease convergence time, we estimated with a first-order forward finite-difference scheme with constant step sizes. For example, the first component of , that is, the

*v*-derivative of

*f*, is approximated as and the

*θ*- and

*α*-derivatives are approximated in an analogous way. The search continues until the measured turbulence intensity meets the convergence criterion, where is a prescribed tolerance that sets the precision of the intensity to which the algorithm converges.

### 2.3. Tuning the adaptive control algorithm

The domains for *v*, *θ* and *α* are limited by the physical properties of the servomotors and the maximum allowable blockage in the wind tunnel, leading to a bounded domain of [*v*, *θ*, *α*] [100, 1500] r.p.m. × [0, 35]° × [0, 90]°. The step sizes were chosen to be roughly one-tenth of the full domain length in each direction: Δ*v* = 150 r.p.m., Δ*θ* = 4° and Δ*α* = 10°. The domain for *v* excludes 0 r.p.m. to prevent the algorithm from getting stuck at [*v*, *θ*, *α*] = [0 r.p.m., 0°, 0°]. When a forward difference scheme requires values outside the boundary, a backward finite-difference scheme with the same step sizes is used instead. If the algorithm outputs a value of *v*, *θ* or *α* outside its domain, that value is coerced to the nearest boundary value.

A relaxation parameter *β* = 1/3 and tolerance were chosen based on experimental data. For the Newton–Raphson method to converge, the relaxation parameter *β* must be tuned such that over the search domain, where is the minimum value of [51]. To guide our tuning process, we measured turbulence intensity over a 5 × 5 × 5 grid of *v*, *θ* and *α* values that spanned the full domain (figure 2*b*) using 120 s of data sampled at 10 kHz. The measured turbulence intensity was stable after 15 s, but we used 120 s to provide extra data for simulating lower bandwidth sensors and arrays of sensors later. We wanted to simulate five decades of sampling time (0.001 s up to 100 s), so we chose 120 s of sampling to give us sufficient data. To estimate the gradient in , we used a slower but more accurate fourth-order compact finite-difference scheme [52] (electronic supplementary material, SM1.3), and we found that *β* = 1/3 was sufficient for ensuring . This relaxation parameter also ensured that coercion to boundary values was rare (approximately once every 1000 steps). A tolerance of = 0.005 was found to be roughly the minimum tolerance possible based on the standard deviations of turbulence intensity at each grid point. Further details on the algorithm can be found in the electronic supplementary material, SM1.2.

To demonstrate the effectiveness and robustness of the adaptive control algorithm, we ran the algorithm 12 times, starting from three different initial conditions ([*v* (r.p.m.), *θ* (°), *α* (°)] = [100, 8.3, 0], [500, 20.7, 30], [900, 33.2, 60]) and searching for four different turbulence intensities (*q*_{0} = 0.1, 0.2, 0.3, 0.4). These initial and target conditions were chosen to span the full domain.

### 2.4. Simulating the adaptive control algorithm

While turbulent velocity fluctuations can be non-Gaussian, their average—and, therefore, the turbulence intensity—should be Gaussian by the central limit theorem [53]. We confirmed this prediction by checking distributions of our turbulence intensity measurements (figure 1*d*). This result motivated us to simulate searches *in silico* (Mathematica 11) in order to overcome the prohibitive time constraints of experimental searches. To simulate measurements, we used a linear interpolation of our 5 × 5 × 5 grid data (figure 2*b*) as a simulated function that returned a turbulence intensity for any given grid motion *X _{i}*. Perturbations,

*σ*, were added to each simulated measurement to model experimental noise. The perturbations were randomly selected (RandomVariate function in Mathematica) from a normal distribution with a mean and relative standard deviation modelled after experimental observations (0% and 10%, respectively; figure 1

_{q}*d*). The

*in silico*algorithm used the same routine as the experimental algorithm but used simulated measurements of turbulence intensity based on our experimental measurements, that is, it used in place of

*q*(

*X*). This same perturbation method was applied to all our

_{i}*in silico*searches. We verified the accuracy of our

*in silico*search by simulating the same initial and target conditions that were tested experimentally. Each of the 12 experimental trials was simulated 100 000 times with different random seeds, which showed that the number of steps until convergence was similar between experimental and simulated trials (electronic supplementary material, table S1). Once the effectiveness of the simulations had been verified, we used the simulations to explore the effect of anemometer type on the performance of our algorithm.

### 2.5. Simulating low-bandwidth anemometers

Low-bandwidth anemometers may be sufficient for controlling systems such as flying animals or vehicles, where certain eddy sizes are more destabilizing than others [4,6,11,40,41]. For illustration, we will highlight two particular bandwidths corresponding to the most destabilizing eddy sizes for a pigeon and a blowfly, as well as two aerial robots of similar size. Following Fung's statistical aircraft stability analysis [40], we estimated destabilizing intensity, *I*, for the chord length of a pigeon (wing chord ≈ 110 mm [43]) and the similarly sized AeroVironment's WASP III [44], as well as a blowfly (wing chord ≈ 4 mm [45]) and Harvard's RoboBee [46] (figure 1*c*). The destabilizing intensity represents the average dimensionless amplitude of a vehicle's plunging response to turbulent gusts with wavenumber *k* [40]. The two sample bandwidths were chosen to span the eddies with destabilizing intensities > 50% of the peak intensity based on Fung's analysis (pigeon: 0.57 m^{−1} < *k* < 51 m^{−1}; blowfly: 16 m^{−1} < *k* < 1400 m^{−1}).

To simulate low-bandwidth anemometers, we resampled our anemometer data *in silico* (Mathematica 11). Specifically, we down-sampled our hot wire signal to frequency *f* and sampling time *τ* such that the anemometer was most sensitive to wavelengths between and (wavenumbers to ). We call our down-sampled anemometers ‘low bandwidth’ because they can only detect a subset of the measured turbulence spectrum. We first estimated the error that such anemometers would introduce in a representative turbulence intensity measurement. For this test, we down-sampled data for the grid motion [*v, θ*, *α*] = [800 r.p.m., 34°, 65°]. That grid motion was chosen because it yielded the highest turbulence intensity attainable (*q* = 0.34) with no noticeable differences between commanded and executed motion, and, therefore, demonstrates the highest quantifiable expected errors. Our unfiltered datasets (*τ* = 120 s at *f* = 10 kHz) represent the maximum fidelity of our set-up. To explore the effect of reducing bandwidth, we explored sampling times and frequencies ranging from these maximum values all the way down to nearly zero (0.001 s and 1 Hz). We chose a 100 × 100 log-spaced grid over the domain [0.001, 100] s × [1, 10 000] Hz to give high resolution at both low and high sampling times/frequencies.

### 2.6. Testing adaptive control with low-bandwidth anemometers

We used our down-sampling approach to test our adaptive control algorithm with input from low-bandwidth anemometers. First, we down-sampled the 5 × 5 × 5 grid data to simulate data taken by low-bandwidth anemometers. For every bandwidth we tested, we used a linear interpolation of the down-sampled grid data as the function that returns turbulence intensity for a given grid motion . As with all our *in silico* searches, we added perturbations to each simulated turbulence intensity measurement with a mean of zero and a relative standard deviation of 10%.

We performed two sets of simulations to test the effect of anemometer type on the adaptive control algorithm: one to test the conditions for convergence and one to test convergence time. The first set was designed to investigate the per cent error required for convergence and the effect of initial condition. For this set we used sampling times and frequencies spanning a 1000 × 1000 log-spaced grid over the domain [0.001, 100] s × [1, 10 000] Hz. The bounds and spacing of these sampling rates were chosen to match those used for our earlier per cent error tests of simulated anemometers. For each *τ*–*f* pairing, we simulated 125 searches, each starting at a different point in the 5 × 5 × 5 grid and each targeting the maximum turbulence condition ([*v*, *θ*, *α*] = [800 r.p.m., 34°, 65°]). The second set of tests was designed to investigate the effect of anemometer bandwidth on convergence time. For this set we explored wavenumber bandwidths ( to ) with five different sizes (50, 100, 500, 1400 m^{−1}, and ‘’ (no resampling)) and centred on 126 different wavenumbers evenly spaced between 1 and 1000 m^{−1}. The bounds and spacing of these bandwidths were chosen to span the full range of possible bandwidths and to resolve the most noticeable trends in convergence time. From the first set of tests, we found that algorithm convergence was insensitive to initial condition. Therefore, for this second set, we started all trials at the minimum turbulence condition ([*v*, *θ*, *α*] = [100 r.p.m., 0°, 0°]) and targeted the maximum turbulence condition ([*v*, *θ*, *α*] = [800 r.p.m., 34°, 65°]). Each bandwidth was tested 10 000 times using a different random seed.

### 2.7. Testing adaptive control with anemometer arrays

Low sampling times lead to significant losses in accuracy, not only because larger turbulent structures can no longer be measured, but also because fewer samples are available to produce accurate averages. To overcome this second source of inaccuracy, one solution is to keep the short sampling times but increase the number of samples by averaging the results of multiple anemometers. We explored this solution by simulating multiple anemometers *in silico*. To simulate *n* anemometers, we selected *n* random samples from the 120 s of experimental data taken at each point in the 5 × 5 × 5 grid. The duration of each sample was the simulated sampling time *τ*. We ensured that there was no overlap between the samples by segmenting the 120 s before selecting the random samples. Note that our method assumes the frozen turbulence hypothesis [54], that is, that the energy spectrum of spatial velocity fluctuations is directly proportional to the energy spectrum of temporal velocity fluctuations. The *n* samples were averaged to create a new 5 × 5 × 5 grid of turbulence intensities. To predict the turbulence intensity for an arbitrary grid motion , we used a linear interpolation of the sample-averaged 5 × 5 × 5 grid of intensities. As with all our *in silico* searches, we added perturbations to each simulated turbulence intensity measurement with a mean of zero and a relative standard deviation of 10%. For every simulated trial of the algorithm, we compared the performance of one anemometer (*n* = 1) with the performance of 10 anemometers (*n* = 10).

## 3. Results and discussion

Our adaptive control algorithm successfully tunes the turbulence intensity in a wind tunnel using input from a hot wire anemometer. The algorithm is sufficiently repeatable that it can be modelled *in silico*. The simulations demonstrate that low-bandwidth anemometers not only are sufficient for convergence, but also can accelerate convergence due to smoother gradients in the turbulence intensity function. Systems where low-bandwidth sensors may be sufficient, such as flying vehicles or animals, may benefit from accelerated convergence when using adaptive control.

### 3.1. The adaptive control algorithm converges experimentally and can be modelled

Our adaptive control algorithm is able to converge on prescribed turbulence intensities robustly. The 12 experimental trials, which targeted intensities ranging from 10% to 40%, all converged in 12 decision cycles or less to within 1% accuracy (figure 2*c*). The algorithm is model-free and uses no prior information besides the tuned step sizes (Δ*v*, Δ*θ* and Δ*α*) and relaxation parameter (*β*). While the raw anemometer data are highly nonlinear, the statistics of the anemometer data are sufficiently smooth for a linear algorithm to ensure convergence. The implication is that turbulence intensity can be automatically tuned by using a computationally cheap algorithm combined with a turbulence-generating system. Such an approach would simplify wind and water tunnel experiments that require prescribed turbulence intensities. While adaptive control has been used to tune processes involving turbulence [24], our set-up is the first to demonstrate an archetypal adaptive control algorithm tuning statistical properties of turbulence such as the turbulence intensity. Because turbulence intensity is constant over surfaces in *v*–*θ*–*α* space (figure 2*b*), our algorithm converged to a point on a surface of constant turbulence intensity. Further optimization of *v*, *θ* and *α* within this surface could potentially tune other properties of statistically steady turbulence in addition to intensity (e.g. mean flow speed, the energy spectrum, velocity correlations or structure functions [54]) if desired.

Our *in silico* algorithm and experimental algorithm showed similar convergence properties. From the same initial conditions, the two algorithms took somewhat different routes to the target turbulence intensity (figure 2*c,d*) but ended on the same surfaces of constant turbulence intensity in *v*–*θ*–*α* space. The average convergence speeds of the two algorithms were very similar for the 12 cases tested, with the *in silico* algorithm averaging 5.7 decision cycles compared with 5.8 decision cycles for the experimental algorithm (electronic supplementary material, table S1). The turbulence statistics are smooth enough that the convergence of the algorithm can be modelled by treating turbulence intensity measurements as normal distributions around a mean value. This numerical convergence model allows us to study the convergence properties of the algorithm without testing every configuration experimentally, which would require an unfeasible amount of experimental time.

### 3.2. The adaptive control algorithm also converges with low-bandwidth anemometers

In some systems, such as flying animals or vehicles, the most destabilizing eddies are contained in a subset of the turbulence energy spectrum [4,6,11,40,41]. We, therefore, explored the effect of simulating low-bandwidth anemometers, that is, those with reduced sampling frequencies and times that can only resolve certain wavelengths of disturbance. First we consider estimates of the expected per cent errors introduced by low-bandwidth anemometers (figure 3). The per cent error is defined as , where *q* is the actual intensity and *q*_{s} is the intensity provided by the simulated low-bandwidth anemometer. Surprisingly, even low-grade flow transducers, such as a hobbyist hot element that samples flows at 10 Hz [55], can produce errors below 1%. For sampling times above approximately 1 s, reducing the sampling rate from 10 kHz down to 10 Hz had almost no effect on the per cent error. These results are consistent with the fact that much of the turbulence in our tunnel is contained in large-wavelength eddies (figure 1*b*) that low-frequency probes can still resolve. This claim about eddy size— that the magnitude of the Fourier transform of velocity corresponds to the strength of eddies with wavenumber *k* (wavelength )—is a good approximation so long as , where *L* and *η* represent the largest and smallest scales expected in the flow [54] (tunnel width *L* = 1 m and Kolmogorov scale *η* = 100 µm gives approx. 3 < *k* < 30 000). Most of the bandwidths discussed here lie within this range, so we expect the anemometers we simulate to measure eddy sizes that correspond to the wavelengths they can resolve. Focusing on eddies that contain the bulk of the energy is also the central concept of large-eddy simulation (LES), which is used to accelerate numerical simulation of turbulent flow.

The low errors introduced by low bandwidths suggest that our algorithm may still be able to converge using low-bandwidth anemometers. Indeed, the algorithm converges for most of the bandwidths tested (see the convergence line in figure 3). Even a single anemometer using sampling times as low as 0.1 s leads to convergence. At shorter sampling times, the errors introduced are too great and the algorithm does not converge. For example, the algorithm does not converge when using the bandwidth tuned to measure wavelengths most relevant to blowflies. However, when the algorithm is simulated with 10 anemometers (*n* = 10), convergence persists down to sampling times just under 0.01 s. Using 10 anemometers allows more anemometer types to produce convergence, including the one tuned for a blowfly. Turbulence can thus be tuned with a frugal adaptive control algorithm based on information from a frugal anemometer, especially if multiple anemometers are used.

### 3.3. Convergence is accelerated by multiple low-bandwidth anemometers

Not only are low-bandwidth anemometers sufficient for convergence, but in some cases they actually accelerate convergence. To explore this result, we consider anemometers spanning the full range of possible bandwidths based on our sampling rates and times. Figure 4*a* shows the number of steps required for convergence for all the anemometers we simulated. When using one anemometer, our adaptive control algorithm tends to take longer when using lower bandwidth anemometers. For example, when starting from minimum intensity and seeking maximum intensity, the anemometer tuned for pigeon wavelengths requires approximately 38 decision cycles compared with 25 decision cycles for the full bandwidth anemometer. When using 10 anemometers, however, we see the reverse effect: lower bandwidth anemometers lead to faster convergence times. All the bandwidths we simulated led to fewer required decision cycles when 10 anemometers were simulated. For those simulated bandwidths that introduce low errors (figure 3), the algorithm thus converges to the correct intensity in less time. In many cases, simulating multiple low-bandwidth anemometers can decrease the convergence time of the turbulence tuning process.

The fact that resampling leads to accelerated convergence can be explained by the convergence properties of adaptive control. In general, extremum-seeking control algorithms like ours are guaranteed to converge due to a separation of time scales between the optimization loop and the system dynamics [57]. Following Berinde [56], we note that our search algorithm in particular converges because our error function *f* is (1) monotonic, (2) locally differentiable, and (3) sufficiently smooth, which we ensured by tuning our relaxation parameter *β*. Furthermore, the speed of our convergence should be proportional to , where is the minimum value of over the search domain [56]. Because *f* is proportional to the turbulence intensity (), values of should scale with convergence speed over the search domain. The average value of , and thus the expected convergence time, decreases for lower bandwidth anemometers when multiple anemometers are used (figure 4*b*). While adaptive control has led to most of the ‘success stories’ in closed-loop turbulence control [24], its reason for being successful has not been fully explained. Our results offer new mathematical insight into why adaptive control converges robustly in turbulent processes and why low-bandwidth anemometers can lead to fewer required decision cycles.

### 3.4. Accelerated convergence offers design considerations for adaptive control in turbulent flows

Wind and water tunnels are common tools for studying the effects of turbulence on animals, vehicles, turbines and energy harvesters. The success of our algorithm demonstrates a new method for tuning turbulence in these tunnels with no prior intuition for turbulence production. Traditional passive approaches to turbulence production include routing the upstream flow through a grid [5,7,11,58], mesh [10], or strawbox [59], or over a cylinder [6,8,22,60–62] or an array of cylinders [9,11]. If the goal is to produce a turbulent boundary layer, fences [29] and/or roughness elements [63–65] are often used instead. When using passive elements, changing turbulence levels is time-consuming and can be particularly challenging for a pressurized [66] or cryogenic [67] facility. This can be addressed by injecting vorticity actively using remotely controlled jets [68–71], oscillating aerofoils [71,72], oscillating grids [2,3,51,73] or spinning vanes [48,49,65,74–79]. Active elements allow more degrees of freedom, but require prior intuition and manual tuning to achieve the desired flow conditions. We have shown that combining an active grid with adaptive control provides an easy, systematic and precise method for tuning turbulence intensity automatically.

The robustness of our algorithm suggests that multiple low-bandwidth anemometers could be sufficient for adaptive control in other engineered systems that cope with turbulence. Such anemometers would be particularly effective in systems where body-sized eddies were more important to the system dynamics, such as the case with flying vehicles [40,41]. While the time scales of adaptive control are by definition longer than the dynamical response times of vehicles, adaptive control can be used to tune real-time controllers [38,80,81] and are, therefore, relevant to vehicle learning. Some modern flying vehicles already use arrays of low-bandwidth anemometers for flow sensing [16,82,83]. These sensor arrays can be, for example, shear stress sensors embedded in a flexible skin [84], pressure ports distributed over the body or wings [56,84–86], or hot-film sensors distributed over the wing [87]. Some sensors have narrow frequency responses, like the microelectromechanical system (MEMS) sensor array modelled after cricket hairs (peak response at 75 Hz [88]). Free flights using multiple flow sensors have been demonstrated computationally [89] and experimentally [82], and greater attitude stability was achieved than with traditional inertial sensing. Our results suggest that these low-bandwidth sensor arrays could be used when vehicles require adaptive control algorithms, such as when tuning the gains of their real-time controllers.

Our results also form a basis for new hypotheses about animals that cope with turbulence. Adaptive control is similar to the concepts of motor-learning [25] and reflex evolution [90], where over time learners work to perfect movement solutions that satisfy a set of constraints. Animals have developed sophisticated manoeuvres for coping with turbulence: orchid bees extend their hind legs [7], soaring eagles use wing tucks [91] and hummingbirds stabilize their heads with complex wing and tail movements [6]. These animals often use vast networks of mechanoreceptors [62,92–94], some of which are tuned to particular frequencies [95–98]. Receptors in silkworm moths, for example, have been shown to have peak responses at 50 or 75 Hz [95]. Wind-receptor hairs of crickets show peak responses between 20 and 250 Hz due to the resonance properties of the hairs [96]. Herbst corpuscles, which are found in the follicular wall at the base of bird feathers [99–101], show peak responses to stimuli between 100 and 900 Hz [97,98]. Because stability is affected most by body-sized turbulent eddies [4,6,11,40,41], these low-bandwidth receptors may be sufficient for some motor-learning tasks. In the light of our convergence studies, the redundancy and low bandwidth of these sensors may even accelerate motor learning.

## 4. Conclusion

We demonstrate here a safe, consistent and automatic way to tune turbulence intensity in a wind tunnel without prior expertise. By simulating our adaptive control algorithm, we show that frugal sensing is sufficient for tuning turbulence intensity. Our method of tuning turbulence can, therefore, be applied with cheap, readily available anemometers. When we simulate multiple anemometers, we find that convergence can even be accelerated by frugal sampling. This accelerated convergence can be explained with convergence theories for adaptive control algorithms like Newton–Raphson. While our algorithm is designed for vanes injecting vorticity in a wind tunnel, its robust convergence suggests it could be sufficient for adaptive control of turbulence intensity in other turbulent flows. For example, swimming and flying animals, vehicles, turbines and energy harvesters could potentially use arrays of simple anemometers when applying adaptive control in turbulence. We have thus provided an algorithmic basis for developing hypotheses about biological and engineered systems that cope with turbulence using adaptive control.

## Data accessibility

The datasets supporting this article have been uploaded as part of the electronic supplementary material.

## Authors' contributions

D.Q. and Y.v.H. designed and tested the turbulence grid control system and the adaptive control algorithm. D.Q., Y.v.H. and D.L. planned the experiment, interpreted the results and wrote the manuscript.

## Competing interests

We declare we have no competing interests.

## Funding

This work was funded by Stanford University and the Army Research Laboratory via the MAST Collaborative Technology Alliance (W911NF-08).

## Acknowledgements

The authors thank Willem van de Water for support and sharing his active grid design, and GertJan van Heijst and Barry Koren for their support and encouragement.

## Footnotes

Electronic supplementary material is available online at https://dx.doi.org/10.6084/m9.figshare.c.3917926.

- Received August 25, 2017.
- Accepted October 17, 2017.

- © 2017 The Author(s)

Published by the Royal Society. All rights reserved.