Introduction
Unmanned Aerial Vehicles (UAVs) are classified into two broad categories: fixed-wing UAVs and multi-rotor UAVs. Over the past two decades, multi-rotor UAVs have emerged as an aerial platform of choice in commercial, research, and defense markets due to some distinct advantages over their fixed-wing counterparts. These advantages include their ability to perform vertical take-off and landing (VTOL), hover at a spot, and yaw at a zero-turn radius. Several market studies provide insight into the 50B+ USD (and growing) global market size of UAVs. A majority of modern applications use small multi-rotor aerial vehicles, also classified as small unmanned aerial vehicles (sUAVs) [1]–[5]. This growth in market adoption of multi-rotor sUAVs is primarily due to their affordable cost and strict government regulations across most nations on the use of large UAVs for non-military applications.
Multi-rotor sUAVs are used for several tasks such as agricultural yield monitoring, land surveying, photography, air quality assessment, search and rescue operations, formation control, target tracking, payload transportation, and military operations [6]–[10]. Additional uses of these sUAVs are found in meteorological and atmospheric studies [11]–[15] and in flow mapping [16]–[18].
Despite significant growth in their adoption and relatively friendlier regulatory environment, a key challenge in the use of multi-rotor sUAVs is their high sensitivity to wind disturbances. Multi-rotor sUAVs are known to be susceptible to degradation of flight stability and performance due to wind gusts [19]–[21]. Estimating such wind disturbances and using them to inform flight controls can improve safety and overall flight-plan implementation [22]–[25]. As such, an increasing amount of research is dedicated to the study and mitigation of wind effects on multi-rotor sUAVs. Towards this end, this study presents a comprehensive review of wind measurement and simulations for multi-rotor small UAVs.
A. The Wind Triangle Relationship
The wind triangle relationship (WTR) is a foundational topic in aviation that encapsulates the relationship between an aircraft’s motion and wind velocity [22], [26]–[35]. Specifically, the WTR is a vector relationship between an aircraft’s ground velocity, air velocity, and wind velocity. By determining two of the three velocity vectors, it is possible to estimate the third velocity vector.
Illustrated in Fig. 1, a quadrotor sUAV is heading towards its destination in an open airspace. During transit, this quadrotor experiences windy conditions and drifts off-course by an angle of
Quadrotor ground velocity
. The velocity of the quadrotor in the IRF. It is the horizontal velocity of the quadrotor relative to ground. A GPS module is used to obtain the magnitude and direction of^{\mathbb {E}}u_{quad-ground} . In aviation theory, the actual path on which a quadrotor travels over the ground is called its track.^{\mathbb {E}}u_{quad-ground} represents the track angle of the quadrotor after it has drifted off course due to wind.\Psi _{quad-ground} Quadrotor air velocity
. The velocity of the quadrotor relative to the surrounding air. It is described by true airspeed and true heading of the aircraft^{\mathbb {E}}u_{quad-air} .\Psi _{quad-air} estimates are obtained via on-board sensor data or flow sensors using techniques described in Section II.^{\mathbb {E}}u_{quad-air} Wind velocity
. The velocity of wind in the IRF.^{\mathbb {E}}u_{wind} can be estimated using a dedicated wind sensor as described in Section II. Alternatively, once^{\mathbb {E}}u_{wind} and^{\mathbb {E}}u_{quad-ground} estimates are available,^{\mathbb {E}}u_{quad-air} is obtained as^{\mathbb {E}}u_{wind} \begin{equation*} ^{\mathbb {E}}u_{wind} = ^{\mathbb {E}}u_{quad-ground} - ^{\mathbb {E}}u_{quad-air}\tag{1}\end{equation*} View Source\begin{equation*} ^{\mathbb {E}}u_{wind} = ^{\mathbb {E}}u_{quad-ground} - ^{\mathbb {E}}u_{quad-air}\tag{1}\end{equation*}
Wind causes the quadrotor sUAV to drift leading to a difference in ground velocity and air velocity.
B. Wind Speed and Airspeed Estimation in Fixed-Wing sUAVs
A considerable amount of effort has been invested in studying wind and airspeed estimation in fixed-wing sUAVs [19], [32], [33], [36]–[38]. In general, these studies make use of measurements from flow sensors such as pitot tubes (discussed in Section II-A) and the (non-linear) dynamic model of a fixed-wing sUAV to perform estimation of wind speed and sUAV airspeed.
In [32], the authors proposed an extended Kalman filter (EKF) based method using the WTR to estimate horizontal wind speed and direction simultaneously and used a scaling factor for pitot tube measurements to determine airspeed. In [33], the authors proposed a two-cascaded EKFs based architecture that fused measurements from the GPS, IMU, and the aircraft dynamic model to provide estimates of airspeed, angle of attack, and sideslip angle without the need for a pitot tube pressure sensor. In [36], the authors proposed an attitude, heading, and wind estimation algorithm that incorporated measurements from an air data system (ADS) to predict attitude and airspeed of a fixed-wing UAV effectively. The body axis velocity components were incorporated in the WTR to estimate horizontal and vertical components of the wind velocity. The ADS was comprised of a pitot tube attached along the length of the fixed-wing UAV to measure airspeed and wind vanes to measure the angle of attack and sideslip angle. The estimation algorithm used ADS measurements in the state equations of an unscented Kalman filter (UKF) to produce smooth estimates of airspeed and attitude of the aircraft [39]. In a later work [19], the same authors compared their proposed method with other state-space formulations for wind estimation in fixed-wing sUAV that used a Kalman filter algorithm. The UKF-based method of [36] showed the best match in simulations with the weather reference data collected experimentally. In [30], an optical flow sensor was used to estimate the angle of attack and sideslip angle to estimate the correct heading of the aircraft. In [40], a nonlinear wind observer provided estimates of wind speed and airspeed. The wind observer combined the model of the fixed-wing aircraft with measurements from a GPS, IMU, and a pitot tube. In [38], a nonlinear state estimator was used, based on multiplicative Kalman filtering [41], to provide real-time estimates of orientation, velocity, and position of the flying vehicle along with 3D wind velocity components. In addition to the fixed-wing sensor suite, the method also used measurements from an angle-of-attack and angle-of-sideslip sensors attached to the aircraft.
C. Key Differences Between Fixed-Wing and Multi-Rotors
A fixed-wing sUAV has a fixed heading in the direction of its motion due to its construction and a non-zero turning radius. Due to the fact that the fixed-wing sUAV is always pointing in its direction of motion, measuring airspeed using external sensors is relatively easy. The physical frame of a fixed-wing sUAV allows for easy mounting of sensors without significant rotor turbulence. These sensors are commonly mounted on the nose or the wings of the aircraft.
For a multi-rotor sUAV, on the other hand, mounting an external airspeed wind speed sensor is challenging due to a physical frame design that does not provide enough mounting surface area. Secondly, airspeed and wind speed measurements are significantly affected by interference from rotor turbulence and other aerodynamic effects caused by rotors. Lastly, the sensor systems used to estimate airspeed and wind speed need to account for the fact that a multi-rotor sUAV has non-zero turning radius and can rapidly move in any direction.
D. Organization
Section II discusses wind and airspeed measurement techniques. These techniques are classified based on the wind sensors they use. Flow-sensing based techniques are discussed in II-A; ultrasonic anemometer-based sensing techniques in II-B; the tilt-angle based approach which relies on measurements from the on-board IMU and requires flight testing the sUAV in a wind tunnel is described in Section II-C. For each of these techniques, we provide a list of representative studies and detail the sensors used, primary applications, experimental results, and description of the multi-rotor platforms. For the benefit of readers and practitioners, open-source Arduino and Python code to interface with an FT-205 ultrasonic anemometer is provided.
Section III presents an exposition on the simulation models used to describe wind turbulence. These include Dryden and von Karman turbulence models described in Section III-A, computational fluid dynamics (CFD) models in Section III-C and, discrete gust models described in Section III-B. For the benefit of readers and practitioners, open source Python code to incorporate the Dryden wind turbulence model in simulations is provided.
Wind and Airspeed Measurement Techniques for Multi-Rotor sUAV
This section discusses the sensor hardware and associated estimation techniques used to estimate airspeed, wind speed, and wind direction for a multi-rotor sUAV platform. From existing literature, the measurement approaches used for wind speed and airspeed can be categorized based on the hardware used, as depicted in Table 1. These categories are:
Measurements using flow sensor: The difference between static air pressure and dynamic air pressure experienced by the sUAV is used to infer airspeed of the sUAV.
Measurements using ultrasonic anemometer: The speed of ultrasonic pulses in the air is used to infer wind speed and direction directly.
Measurements using IMU and global position sensor: used to measure acceleration and attitude measurements of the sUAV, which are then used to estimate airspeed and wind speed of the sUAV.
A. Flow Sensors
Wind estimation using pressure flow sensors is a widely used approach in fixed-wing sUAVs [30], [31], [34], [36]. The most common type of flow sensors is pitot-static tubes. These flow sensors are lightweight and relatively inexpensive. Pitot-static tubes are mounted on the nose of the aircraft to provide estimates of airspeed
1) Working Principle of Pitot Tubes
A pitot-static tube, also called Prandtl tube, is used to measure the dynamic pressure
Static pressure \begin{align*} P_{t}=&P_{s} +P_{d}, \\ P_{t}=&P_{s} + \underbrace {\rho \frac {u_{pitot}^{2}}{2}}_{P_{d}}, \\ u_{pitot}^{2}=&K{\frac {2(P_{t} - P_{s})}{\rho }}\tag{2}\end{align*}
The relationship between \begin{equation*} ^{\mathbb {E}}u_{quad-air}^{2} = \frac {|u_{pitot}|^{2}}{\cos {\alpha }\cos {\beta }}\tag{3}\end{equation*}
\begin{equation*} ^{\mathbb {E}}u_{quad-air}^{2} = \frac {P_{t} - P_{s}}{\big (\rho \cos {\alpha }\cos {\beta }\big)/(2K)} \equiv \frac {P_{t} - P_{s}}{sf}\tag{4}\end{equation*}
2) Pitot Tubes for Multi-Rotor sUAVs
Airspeed measurements using a pitot tube are for the direction in which the tube is pointing. Multi-directional airspeed detection in case of multi-rotor sUAVs, accounting for multiple movement directions, would require the use of several pitot tubes, thereby increasing the weight and complexity of the vehicle. Additionally, compared to fixed-wing sUAVs, the use of flow sensors in multi-rotor vehicles is limited by interference from the rotors (rotor wash) [16], [22]. An approach to address this interference is to find experimentally, or by dynamic flow modeling, the location of minimum rotor interference on the body of a multi-rotor vehicle.
Table 2 summarizes representative studies on wind and airspeed measuring techniques using pressure flow sensors mounted on multi-rotor sUAV. The table lists the sensor type and sUAV platform used in the studies. The studies use flow sensor to improve flight performance or to enable the multi-rotor sUAV as a wind sensing platform.
3) Remarks on Air Flow Sensors
Pressure flow sensors are the most common devices used to measure airspeed of large aircraft or small fixed-wing sUAVs. These sensors are lightweight and relatively inexpensive devices compared to other airspeed sensors (such as anemometers). As multi-rotor sUAVs are being increasingly used for a wide variety of applications, pressure flow sensors serve as an inexpensive option to measure airspeed of a multi-rotor sUAV.
On the other hand, the working of a pressure flow sensor is dependent on the flow of oncoming wind into the opening of its channel. This dependence can be a problem in case of multi-rotor sUAVs since the rotors can disturb the oncoming airflow and result in inaccurate airspeed measurements. It is thus crucial to select a suitable location on the multi-rotor sUAV that receives minimum interference from the rotors. Another limitation of pressure flow sensors is that they cannot measure wind direction simultaneously with wind speed. Heading and attitude measurements of the multi-rotor vehicle need to be considered to estimate wind direction. Pressure flow sensors measure airspeed by measuring the pressure difference through their tube. A multi-rotor sUAV due to its 6-degree of freedom would require the use of multiple pressure sensors to measure wind speed in all directions. This adds complexity to the mounting of these sensors and limits the payload carrying capacity of a multi-rotor sUAV.
B. Ultrasonic Anemometers
An ultrasonic anemometer is a small, lightweight sensor without any moving parts. It can provide estimates of wind speed and direction. The durability and longevity of the ultrasonic anemometer make it a popular sensor for use in multi-rotor vehicles. The ultrasonic sensor is especially useful in meteorological applications [12], [14], [15]. Fig. 4 depicts various sUAVs fitted with ultrasonic anemometers.
1) Working Principle
An ultrasonic anemometer measures wind speed using the time taken by an ultrasonic pulse to travel from a transmitter to a receiver. The working of this sensor is based on the time of flight principle (TOF) [50], [51]. The sensor system emits an ultrasonic pulse using a transmitter or emitter and is able to measure the distance to a solid object (also referred to as the reflector) based on the time taken for the pulse to echo back to the emitter. The ultrasonic wavefield is affected by the fluid field.
An ultrasonic anemometer features multiple pairs of ultrasonic transducers located at a known distance
In the absence of wind, these two time periods would be the same for the path from Tx-Transducer 1 to Rx-Transducer 2 and Tx-Transducer 2 to Rx-Transducer 1. However, in presence of wind, both these time measurements are different and the pulse traveling opposite to the direction of wind will take longer to reach the Rx component [51]. This time difference is then used to estimate the wind speed and direction.
2) Acoustic Resonance Anemometer (AcuRes)
Another type of ultrasonic anemometer uses acoustic resonance to measure wind speed and direction independent of variations in air temperature and pressure. Acoustic resonance occurs when the frequency of a wave produced by a transducer matches the natural frequency of an acoustic cavity, resulting in a wave with increased amplitude. This technology was patented by Kapartis in 1999 [52].
Fig. 6 depicts an acoustic resonance anemometer. The sensor consists of upper and lower reflector plates that house the ultrasonic transducer pairs. The gap between reflector plates is called the region of resonance. Fig. 6 also shows the position of the transducers labeled here as A, B, and C mounted on the upper reflector.
Left Image: Alignment of transducers on the upper reflector for an acoustic resonance ultrasonic anemometer. Right Image: Side view of the FT205 acoustic resonance ultrasonic anemometer.
Transducer A generates an acoustical standing wave at an eigenfrequency of the cavity to excite an acoustic resonance. Transducer B senses the transmitted acoustical signal. The phase difference between the transmitted and received acoustical signals is proportional to the velocity of the airflow along the line adjoining the two transducers A and B. The triangular orientation of the transducers enables the resolution of the wind vector components along the lines adjoining the transducer pairs A - B and B - C. The linear relationship between phase and wind speed is independent of the ambient air pressure and temperature as it is accounted for at the time of calibration. In addition, operating at resonance improves signal to noise ratio [53].
3) Ultrasonic Anemometer for Multi-Rotor sUAVs
Table 3 summarizes representative studies on wind measurement using ultrasonic anemometers mounted on a multi-rotor sUAV [12], [14], [15], [49]. All these studies used the sUAV for atmospheric and meteorological measurements. The mobility options offered by multi-rotor sUAV make them a suitable platform for collecting wind measurements and measuring the vertical profile of wind [15]. The accuracy of ultrasonic anemometer measurements in these studies was cross-checked in outdoor flight tests by piloting the sUAVs near a benchmarking wind measuring device attached to a ground-based tower. Wind measurements collected from the sUAV were compared with the measurements from the ground tower, and root mean square error (RMSE) values were calculated. The RMSE calculations documented in these studies are applicable in situations where the multi-rotor sUAV is hovering at the same height as the wind measuring device on the ground-based tower. Differences in the altitudes between a multi-rotor sUAV and the reference wind measuring device should be accounted for in other situations. The RMSE values of wind speed and direction are shown in Table 3.
A common approach to mounting the ultrasonic wind sensor is using a pipe mount atop the multi-rotor vehicle along the center of the rotor-body frame. In [14], particle image velocimetry (PIV) measurements were performed to examine the flow field around the multi-rotor frame to determine the ideal placement for the wind sensors. The best placement of wind sensors was found to be along the body centerline furthest away from the downwash of the rotors. The study, however, did not consider inflow effects caused by the rotor, which can affect placement consideration. In [14], the authors equipped a 3DR solo quadrotor with the Tri-Sonica Mini ultrasonic anemometer at the height of 25 cm above the rotor plane. The Tri-Sonica Mini ultrasonic anemometer weighs less than 50 grams, and has a length of 5.2 cm [54]. In [15], a 2D ultrasonic anemometer FT702 from FT Technologies [55] was attached to a SPIDER CS6 hexarotor. The ultrasonic anemometer is 16.1 cm long and weighs 350 grams. This sensor was placed at the height of 47.5 cm above the rotor plane using an aluminum pole. Three-wire stays were used to support the wind sensor to reduce vibrations. In [12], a 2D sonic anemometer, DS-2 from Decagon Devices [56], was attached on top of a DJI Flame Wheel F550 hexarotor using a 30 cm pole mount. The ultrasonic anemometer weighed 500 grams with a length of 7.5 cm.
4) Remarks on Ultrasonic Anemometers
Ultrasonic anemometers are mostly used for wind surveying, wind profiling in urban environments, and surveying wind in topographically cluttered areas. These sensors, when mounted on a multi-rotor sUAVs, provide relatively inexpensive option compared to setting up a meteorological observation tower. Their compact form factor makes them suitable for physically mounting on a multi-rotor sUAV. In contrast to standard flow sensors, an ultrasonic anemometer can estimate wind speed and direction simultaneously.
On the other hand, their weight and pole-mounting requirement limits the overall payload carrying capacity of the sUAV. Ultrasonic transducer readings are sensitive to precipitation, where rain drops may vary the speed of sound. As such, these sensors should be calibrated to reduce the errors caused by environmental factors such as changing temperature, precipitation, and ambient pressure. As is seen in Fig 4, different studies have mounted these sensors in different manners, and there is a need for a more rigorous understanding of optimal placements of these sensors to account for wind disturbances due to rotors.
5) Open-Source Code for Real-Time Ultrasonic Wind Sensor Data Acquisition
For the benefit of the readers, open-source code to interface with an FT205 ultrasonic sensor with an embedded computer using universal asynchronous receive and transmit (UART) is provided in [57]. We conducted flight tests with this sensor by mounting it on a DJI M100 quadrotor sUAV. As shown in Fig. 7, the sensor was mounted on the quadrotor using 20 inches long 3D printed pole. The FT205 was sampled at a frequency of 2 Hz. The test was conducted with the DJI M100 quadrotor hovering in an open field for 5 minutes. Fig. 8 is a windrose plot of wind data from the FT-205 wind sensor. The plot depicts the frequency of winds blowing from particular directions. The color bands correspond to the wind speed ranges in meters per second. The direction of the longest spoke shows the wind direction with the highest frequency.
FT-205 wind sensor mounted on the DJI Matrice 100 sUAV to collect wind data during flight test.
Windrose plot for wind speed and direction data recorded from a FT-205 wind sensor mounted on the DJI Matrice 100 sUAV.
C. IMU and GPS Based Airspeed Estimation Using Tilt-Angle Approach
An Inertial Measurement Unit (comprised of a 3-axis accelerometer, 3-axis gyroscope, and magnetometer) and a GPS module are part of the standard configuration onboard sensor suite of almost all sUAVs operating in outdoor environments. Several studies have shown the use of this sensor suite (IMU and GPS) to estimate airspeed
This section describes the tilt angle approach used to estimate
In Fig. 10a, a quadrotor’s body frame of reference [
1) Measuring Quadrotor Air Speed From Quadrotor Tilt-Angle
When a quadrotor is hovering at a position in space, it experiences a drag force due to wind that causes the quadrotor to tilt [12], [14], [26], [58]. This drag force and other forces acting on a quadrotor during hovering are illustrated in Fig. 9.
The tilt angle \begin{equation*} \lambda = cos{^{-1}} \left({\frac {-n_{b_{x} - b_{y}} \cdot {(b_{y} \times b_{x})}}{|n_{b_{x} - b_{y}}| \cdot |{b_{y}} \times {b_{x}}|} }\right),\tag{5}\end{equation*}
Under steady-state conditions (quadrotor hovering or vehicle operating under slow varying wind fields), the attitude of the quadrotor will likely remain unchanged. In turbulent environments or fast-moving translational motion of the quadrotor, steady-state assumptions do not hold [59]. Fig. 9 shows the relationship between quadrotor tilt and the drag force. The drag force \begin{equation*} {^{\mathbb {B}}}F{_{drag}} = g \cdot m \cdot tan(\lambda)\tag{6}\end{equation*}
As described in [12], [14], [26], [59], the magnitude of airspeed of the quadrotor (\begin{equation*} |u_{quad-air}| = \sqrt {\frac {2\cdot {^{\mathbb {B}}}F{_{drag}}}{\rho A{_{proj}(\lambda)} C{^{D}}(\lambda)}}\tag{7}\end{equation*}
Here,
2) Measuring Quadrotor Heading Direction
Fig. 11 shows the top view of a projection of the vector \begin{equation*} \gamma = cos{^{-1}}\left({\frac {{n_{b_{y}-b_{z}}}\cdot ({b{_{y}}\times {b{_{x}}}})}{|{n_{b_{y}-b_{z}}}|\cdot |({b{_{y}}\times {b{_{x}}}})|}}\right)\tag{8}\end{equation*}
The viewing direction considered here is the normal vector \begin{equation*} n{_{b_{x}-b_{z}}}\cdot {({b{_{y}}\times {b{_{x}}}})} = \begin{cases} < 0, & {\text{if}} ({b{_{y}}\times {b{_{x}}}}) {\text{is left side}}\\ > 0, & {\text{if}} ({b{_{y}}\times {b{_{x}}}}) {\text{is right side}} \\ \: = 0, & {\text{otherwise}} \end{cases}\tag{9}\end{equation*}
\begin{equation*} \Psi {_{quad-air}} = \begin{cases} 360{^\circ } - \gamma, & {\text{if}} ~\big (n{_{b_{x}-b_{z}}}\cdot {({b{_{y}}\times {b{_{x}}}})} \big) < 0 \\ \gamma, & {\text{otherwise}}\qquad \end{cases}\tag{10}\end{equation*}
3) Calculating Wind Velocity ^{\mathbb{E}}u_{wind}
The wind speed \begin{align*} |^{\mathbb {E}}u_{wind}|=&\biggl \{ {|^{\mathbb {E}}u_{quad-air}|}^{2} + |{^{\mathbb {E}}u_{quad-ground}}|^{2} \\&-2\cdot {|^{\mathbb {E}}u_{quad-air}}|\cdot {|{^{\mathbb {E}}u_{quad-ground}}|}\cdot {cos(\alpha)} \biggr \}^{\!1/2} \\ {}\tag{11}\end{align*}
The wind direction
Equations (11) and (13) calculate the wind speed \begin{align*} \beta=&cos{^{-1}}\left({\!\frac {|u_{quad-air}|^{2} \!-\! |{^{\mathbb {E}}u_{quad-ground}}|^{2} \!-\! {|{^{\mathbb {E}}u_{wind}}|^{2}}}{-2{|{^{\mathbb {E}}u_{quad-ground}}|\cdot |{^{\mathbb {E}}u_{wind}}|}}\!}\right) \\ \tag{12}\\ \Psi _{wind}=&\big (\Psi _{quad-ground} + 180{^\circ } \pm \beta \big)\tag{13}\end{align*}
4) Experimental Results of the Tilt Angle Approach
A list of representative studies that describe the tilt-angle based approach for wind and airspeed measurement is provided in Table 4. The relationship between multi-rotor tilt angle and the drag force it experiences is dependent on the construction of the aerial vehicle. Extensive wind tunnel tests need to be carried out to collect data required to determine the tilt-angle and drag force relation that is specific to the multi-rotor vehicle [14], [26], [62]. The experimental results summarized in Table 4 represent the RMSE values for wind speed and direction.
In [26], the quadrotor used in outdoor flight tests was the AirRobot AR100-B quadrotor. A Young 81000 ultrasonic anemometer mounted on a tower at the height of approximately 2 meters provided a reference to the measurements from the quadrotor. Two outdoor flight tests were conducted to validate the proposed estimation technique. In the first flight test, the quadrotor was hovering at a horizontal distance of 2 meters to 5 meters from the anemometer at an Above Ground Level (AGL) height of 2 meters for 20 minutes. In the second flight test, the estimation technique was validated under moving flight conditions where the quadrotor was made to move around the anemometer tracing a square of size 30 meters
meters. The RMSE for wind speed and direction when the quadrotor was hovering was\times30 and 14.02°, respectively. The RMSE for wind speed and direction when the quadrotor was moving was0.6ms^{-1} and 14.77°, respectively. The authors posit these RMSE values could be attributed to inaccuracies in the GPS sensor. The changing position of the quadrotor about the anemometer could also result in deviations in measurements.0.36ms^{-1} In [59], outdoor flight tests were performed using a DJI Matrice 100 quadrotor. Validation of the wind measurements was performed using the HoldPeak HP866b digital anemometer mounted on a mast of unspecified height. Two flight-test were conducted to verify the estimation technique under hover and forward flight. The wind measurements when the quadrotor was in forward flight condition were found to be inaccurate. The authors attributed this inaccuracy to the use of a quadrotor dynamic model that did not take into account inflow effects. The results from the hovering flight showed an RMSE of
with respect to the reference anemometer measurements.0.6ms^{-1} In [28], the outdoor flight test was performed using the DJI 550 Flame Wheel quadrotor equipped with a PixHawk flight controller. Validation of wind measurements from the quadrotor was achieved using a uSonic 3D ultrasonic anemometer from Metek GmbH mounted on a
tower. The quadrotor was made to hover for 5 minutes at a distance of approximately9m . This height was the same as the observation tower. A 10-seconds long moving average filter was applied to the measurements from the quadrotor and the anemometer. The resulting RMSE values for wind speed and direction were5m and 14.5°, respectively. The authors note that the larger volume of the quadrotor compared to the anemometer meant that it could not react to small, turbulent wind gusts (eddies) and therefore could not capture the full range of wind speeds.0.7ms^{-1}
5) Remarks on the Tilt Angle Approach
An advantage of the tilt-angle approach to wind estimation is that it does not rely on measurements from augmented sensors to estimate wind speed and direction. This method solely relies on the IMU and position sensors equipped on-board a multi-rotor sUAV. The tilt-angle approach enables the multi-rotor platform to become a wind measuring device without compromising the payload carrying capacity of the aerial vehicle. The multi-rotor sUAV using the tilt-angle approach can aid in wind profiling for wind farms, atmospheric and meteorological study, and gas source localization.
A limitation to this approach is the hover model assumption for wind speed estimation, which makes this model unsuitable for wind speed estimates under fast-moving conditions. Another limitation to this approach is the requirement of wind tunnel tests to determine the drag force and tilt angle relationship. The relationship established is unique to that specific multi-rotor vehicle. A wind tunnel to perform tests may not be available to everyone, thereby limiting the usability of this technique.
D. Comparison and Future Directions
Three wind and airspeed measurement techniques were discussed. In the following, we compare these three techniques and discuss future directions.
Cost of sensors: Of the three methods discussed here, the tilt angle approach uses sensors onboard the flight controller of the multi-rotor sUAV. As such, there is no cost of additional sensors. The pressure flow sensors are found to be less expensive than ultrasonic anemometers [63]–[65]. It is expected that the cost of these sensors will continue to drop as their adoption increases.
Speed and direction data: Pressure flow sensors provide only wind speed data in the direction they are facing. 3D ultrasonic anemometers provide wind speed and direction measurements simultaneously in all directions [49]. The tilt angle approach is also able to provide wind speed and direction measurements simultaneously. However, unlike 3D ultrasonic anemometers, the tilt angle approach cannot be used to obtain wind measurements in the vertical direction.
Sensor resolution: The pressure flow sensors provide airspeed based on the measured differences in pressure. This pressure difference can become challenging to resolve when the sUAV is hovering, or the magnitude of affecting wind is too small. As such, pressure flow sensors exhibit relatively lower resolution in these situations. On the other hand, modern ultrasonic anemometers feature relatively higher resolution. For example, the FT 205 sensor has a wind speed resolution of
. It is expected that manufacturers and researchers will continue to invest efforts in creating higher resolution sensors.0.1\,\,ms^{-1} Physical mounting: Both pressure flow sensors and ultrasonic anemometers are required to be mounted on the multi-rotor sUAV. In [14], an optimal location for the ultrasonic anemometer was determined to be along the center of the multi-rotor sUAV. Despite this, a bias was observed in the wind measurements from the ultrasonic anemometer mounted at this location. Mounting these sensors on the vehicle such that they experience minimum rotor disturbance or do not affect the stability of the vehicle is still an ongoing area of research.
Simulation Models for Wind Generation
In the previous section, sensor-based wind speed and direction measurement/estimation techniques were discussed. In several studies, wind needs to be generated using physical or simulation techniques. In this section, techniques used to model wind in a simulation environment are presented.
These simulation models are used for evaluation of flight dynamics and performance of the multi-rotor sUAV in presence of wind and can be embedded in a variety of simulation scenarios. In the following discussions,
To study the wind effects on quadrotors, it is first necessary to generate realistic wind disturbances likely to be encountered by the quadrotor. Wind can be described, classified, and modeled in a variety of ways. The type of wind relevant to the study of quadrotor performance under wind disturbances is called a gust. A wind gust (also known as turbulence) is described by brief changes of wind velocity from a steady value caused by changes in atmospheric pressure and temperature. Table 5 depicts 3 techniques to generate wind in simulation along with their associated benefits and challenges.
A. Continuous Gust Modeling
Continuous gusts models are used to simulate smooth variations in wind gust behavior. They are specified in terms of a continuous probability distribution. In [73] and [74], the authors make the following assumptions to simplify the mathematical description of continuous gusts:
The probability distribution of gust velocities is Gaussian.
The statistics of gust velocities do not vary with time i.e. the statistics are stationary.
The statistics of gust velocities do not depend on the location of the quadrotor in space or path flown by the quadrotor i.e. the statistics are homogeneous with respect to quadrotor motion.
Ensemble averages of gust velocities equal single sample time averages i.e. gusts are ergodic random processes.
The spatially varying gust velocity field is frozen i.e. does not vary with time.
For high altitude gusts, the statistics do not depend on the orientation of the coordinate axes and are independent of quadrotor direction i.e the statistics are isotropic.
Dryden and von Kármán are the two most commonly used models for continuous wind gusts. They are also referred to as turbulence models. Traditionally, these models have been used to study the wind effects on aircrafts. However, taking into consideration the size of the quadrotor, these models are simplified by making appropriate approximations [17]. In [75], the authors implemented the Dryden models to study the effect of turbulence on miniature aerial vehicles.
Functionally, both these models are pulse shaping filters as shown in Fig. 12. A unit variance, band-limited white noise signal is passed through a shaping function to generate an output signal with spectral properties defined by the shaping function [75]. The filter uses specific shaping functions that output a wind gust velocity signal with desired spectral properties [17], [31], [76]. Both of these turbulence models specify a power spectral density (PSD) function to define the turbulence spectra for along-wind, crosswind, and vertical wind directions.
As shown in Fig. 13, along-wind direction is wind flowing along the path of the quadrotor movement either in the direction of the quadrotor (tailwind) or against it (headwind). Crosswind is the wind flowing across the path of the quadrotor movement. Vertical-wind is the wind flowing in the direction perpendicular to the plane of the quadrotor movement. The three wind directions are orthonormal to each other and the relevant variables are modeled as independent.
Orthonormal along-wind, cross-wind, and vertical-wind directions for a quadrotor sUAV.
Both these models are standardized with their PSD functions specified in design and simulation studies published by the U.S. Federal Aviation Administration (FAA) and the U.S. Department of Defense [77], [78]. MIL-F-8785 is another military standard with its specifications for the Dryden and von Kármán PSD functions. Readers are referred to [78] and references therein for more details on the PSD functions.
Appendix provides a detailed mathematical background for Dryden and von Kármán continuous gust turbulence models. The (PSD) functions for these models as defined by US MIL-HDBK-1797 are listed in Table 7. Additionally, open-source Python code for the Dryden model is hosted on our Github repository (Appendix A).
Fig. 14 shows two important parameters of wind gust behavior as described by the Dryden and von Kármán models. The first is the scale length
Illustration of quadrotor flying into sine-type turbulence field with scale length
Since the general flight altitudes for quadrotors does not exceed 1000 feet mean sea level (MSL), they are classified as low altitude aerial vehicles according to the US military standards [78], [79]. The approximate scale lengths and turbulence intensities in the spectral forms have been defined for an altitude less than 1000 feet MSL as (14), (15), (16) and (17), respectively. \begin{align*} L_{a-w}=2L_{c-w}=&\frac {h}{0.177 + 0.000823h^{1.2}}\tag{14}\\ L_{v-w}=&\frac {h}{2}\tag{15}\\ \sigma _{a-w}=&\sigma _{c-w} = \frac {\sigma _{v-w}}{0.177 + 0.000823h^{0.4}}\quad \tag{16}\\ \sigma _{v-w}=&0.1|u_{wind-20}|\tag{17}\end{align*}
In [17], these approximations were used to generate the turbulence wind profile for their study of wind effects on quadrotors. In [43], the turbulence intensities and scale lengths for height less than 300 meters obtained from [80] were used.
The Dryden model is used with translational velocity components. The effect of the rotational velocity disturbance components from the Dryden model is small enough to be neglected [81]. The wind gusts are limited to the translational components
1) Remarks on Dryden or Von Kármán Models
The shaping functions are obtained from the square root of the PSD functions
The Dryden and von Kármán turbulence models are generalized to open skies, and do not account for the presence of urban structures, where airflow around such structures is described with significant degrees of circulation and sheer [70]. These models rely on spatial and temporal scales larger than what is encountered in urban settings. The turbulence spectrum statistics are assumed to be stationary in time and space, which implies that the disturbances are induced only when the quadrotor is in motion relative to the turbulent field. The open skies and stationary assumption works well for fixed-wing aircraft. However, as is observed in [17], [43], [66], [67], several modeling assumptions need to be made for simulating multi-rotor sUAVs in urban environments or hover flight. Wind fields in urban environments pose a challenge to the operation of multi-rotor sUAV given the complexity of wind fields generated around buildings.
2) Open-Source Python Implementation of Dryden Model
The Python implementation of the Dryden wind turbulence model can be found in [57]. The inputs to the Dryden model are altitude and airspeed of the sUAV. As an example, the turbulence wind field was generated for 10 seconds of flight time of an sUAV. The sampling rate for this particular dataset was 43Hz. Users can specify their sampling rate in the code. Fig. 15a depicts the wind turbulence field generated for 0–3 seconds duration of flight time. The sUAV was operating at
B. Discrete Wind Gust Modeling
Discrete gusts are isolated changes in wind velocity and are modeled as a step function or a pulse. In [60], the authors provide a discrete gust model that considers wind as a random vector, and use it to study wind effects on quadrotors. In [68], the authors use this model to evaluate the performance of the quadrotor with tilted rotors. The discrete gust model defined in [60] takes into consideration the following factors:
The effect of wind speed change: the discrete gust model accounts for a mean wind speed value before the discrete gust (step) and also accounts for the decrease in wind speed after the discrete gust (step). Step refers to the sudden increase/decrease in wind speed from its mean value.
Gust duration: The duration of the gust is defined as a discrete random variable
.d_{ni} Change in wind speed with respect to altitude: The relation between the change in altitude and wind speed is described in (18).
is the mean wind speed at altitude|u{_{h}}| .h is mean reference wind speed at altitude|u{_{ref}}| .h{_{ref}} is an empirically derived exponent that depends on atmospheric conditions.p \begin{equation*} |u_{h}| = |u_{ref}|\left({\frac {h}{h_{ref}}}\right)^{p} \tag{18}\end{equation*} View Source\begin{equation*} |u_{h}| = |u_{ref}|\left({\frac {h}{h_{ref}}}\right)^{p} \tag{18}\end{equation*}
Change in wind direction: The azimuth
defines the direction from which the wind blows. It is measured from the north point through the east. Wind direction changes at each velocity step. The wind direction values are computed at each discrete time step\psi _{wind} . They are obtained by adding a random variablen to\Delta \Psi _{wind} as shown in (19).\Psi _{wind(n)} \begin{equation*} \Psi _{wind(n + 1)} = \Psi _{wind(n)} \pm \Delta \Psi _{wind} \tag{19}\end{equation*} View Source\begin{equation*} \Psi _{wind(n + 1)} = \Psi _{wind(n)} \pm \Delta \Psi _{wind} \tag{19}\end{equation*}
The gust speed \begin{align*}&\hspace {-1.2pc}|u_{wind}| \\=&\begin{cases} |u_{wind{0}}|, n\leq t{_{0}} \\ |u_{wind{0}}| \!+\! \dfrac {| u_{wind{M}} \!-\! u_{wind{0}}|}{2}\left({1 - cos\left({\dfrac {\pi (n - t{_{0}})}{t{_{ni}}- t{_{0}}}}\right)}\right), \\ \text {where } t{_{0}} < t \leq t{_{ni}} {~\text {and }} |u_{wind{M}}|\geq |u_{wind{0}}| \\ |u_{wind{0}}| \!+\! \dfrac {| u_{wind{M}} - u_{wind{0}}|}{2}\left({cos \left({\dfrac {\pi (n - t{_{0}}}{t{_{ni}}- t{_{0}}}}\right) - 1}\right),\\ \text {where } t{_{0}} < t \leq t{_{ni}}, |u_{wind{M}}| < |u_{wind{0}}|, t\leq t_{max} \end{cases}\!\!\!\! \\ {}\tag{20}\end{align*}
Using (20) and (19), the discrete gust speed and direction can be calculated at each discrete time instant, respectively. The model was implemented using MATLAB [60]. For more detailed discussed on how this model is applied to a quadrotor, readers are referred to [60] and its references.
C. Computational Fluid Dynamics Modelling
Wind fields are defined by the boundary layers, which is the thin layer of fluid close to the body surface. The boundary layers for urban wind fields are defined by the building structures and terrain features and are called the urban canopy layers [69], [72], [84], [85]. The wind field in this region is dependent on the geometry of the surface roughness as created by building size and pattern [86], [87]. The wind profile around urban structures is variable in time and space and, therefore, difficult to accurately estimate using only local measurements.
Computational fluid dynamics (CFD) has been used to determine the wind field and turbulence generated around urban buildings [88]. The approach to use CFD analysis in the urban canopy layer has been extensively applied in the field of pollutant/chemical dispersion within urban settings to determine wind loads on buildings and assess pedestrian comfort [89]–[94]. CFD equations can calculate the wind speed and direction at each instance of time and space and are thus able to accurately account for the complexity derived from wind flow around urban structures. The methods used to solve the CFD equations fall into three categories. They are Large Eddy Simulation (LES), Reynolds Averaged Navier Stokes (RANS) and, Direct numerical simulation [69].
In general, due to the high computational complexity of generating wind field using CFD methods, it is challenging to generate wind field model in parallel with the flight simulation [95]. As such, CFD solvers are used to generate wind speed and heading values and store them in a database. The wind velocities stored in the database can then be used as inputs to the flight simulation setup to simulate wind turbulence experienced by sUAVs [69]–[71], [95].
In [72], the authors use a CFD equation solver presented in [96] called QUIC-CFD. This solver is a lightweight implementation of the Navier Stokes equation solver and is capable of generating wind field estimates of large, complex, urban environments. The wind field data generated by this solver was used to simulate wind disturbances in a multi-rotor sUAV flying in the urban canopy layer. The authors in [72] noted that wind fields around urban structures are governed by environmental features that are defined by a length scale of less than
In [71], the authors generated a wind field model around a twin building configuration to study the wind effects on a multi-rotor based sUAV. The CFD solver used the RANS method implemented in CFD software ANSYS FLUENT and STAR-CCM+. The dynamics of the multi-rotor sUAV was shown to be affected by the turbulent wind conditions. It was observed that a spike in the wind speed value could cause a sudden increase or decrease in the thrust of the aerial vehicle.
The authors in [69] used the Large Eddy Simulation (LES) technique to develop their CFD model for wind turbulence around a single square body. The square body was representative of a building around which the wind flow was analyzed. Two essential features captured by their wind model were vortex shedding and flow instabilities. Vortex shedding is the property of wind to produce an oscillatory flow with symmetric vortexes when flowing around a body opposing its flow. At higher wind speed, the vortexes lose their symmetry and create flow instabilities. The LES technique is a time-dependent three-dimensional technique that also allows for the visualization of the wind wake behind a body (vortex shedding and flow instability), which is not possible with the RANS technique [97]. An open-source CFD software Open-FOAM (Open-Field Operation and Manipulation) was used to implement the LES technique to build the wind model around a square building. The wind profile generated using the LES technique was compared with wind data as obtained through outdoor experiments carried out in [98]. In [98] wind profile measurements were obtained around a square building at 4 locations. The average error was computed through the mean of errors between experimentally obtained data and numerical value at the same spatial location. The average error for each location was found to be 12.9%, 17.6%, 9.7%, and 17.4% respectively.
1) Remarks on CFD Based Models
The time required for CFD based numerical computation of the wind model depends on the resolution and domain (geographical area) size needed. A large domain size combined with higher resolution could result in a simulation time in the order of days to weeks. At the same time, with the rising use of multi-rotor sUAVs, it is evident that such vehicles are being increasingly used in urban settings and that CFD based wind generation models are capable of generating real-world urban wind conditions.
D. Comparison and Future Directions
Three approaches to modeling wind for simulation purposes are discussed. In the following, we compare these methods and provide future directions.
Mission type: Simulation mission type: The discrete gust model offers a limited scope to simulate wind disturbances as it only considers intermittent wind gusts and does not account for the continuous variation in wind speed and direction. The Dryden and von Kármán turbulence models are suitable for simulating multi-rotor sUAV missions in large open areas as they do not account for infrastructure such as buildings and trees. Additionally, in the Dryden and von Kármán turbulence models, wind disturbances are assumed to be stationary in time and space. The disturbances are applied when the sUAV is in motion relative to the simulated wind field. Thus, under hovering conditions, the Dryden and von Kármán turbulence models are not applicable. For simulations in urban or cluttered environments, CFD based simulations should be used as these can capture circular wind flow with varying shear around trees and urban structures.
Simulation complexity: CFD based simulations are time-consuming and require higher computational resources relative to the Dryden and von Kármán turbulence models. As noted earlier, CFD based simulations have been implemented using specialized numerical solvers, whereas the Dryden and von Kármán turbulence models can be implemented using accessible programming languages such as Python and MATLAB. For both techniques, wind speed and direction data for each instance of time and space are first generated and stored in a database. This data is then used in multi-rotor sUAV flight simulation. It is expected that CFD based simulation solvers will be optimized to use the computational power of graphical processing units (GPUs) to reduce simulation times required for generating high-quality wind data.
E. Note About Physical Wind Generation
From a physical wind generation perspective, a low-cost and relatively easier method to generate wind in physical testing is using electric fans. In [99], [100], different brands and configurations (numbers, positions) of electric fans have been used to generate wind disturbances. In several studies, wind tunnels have also been used to evaluate flight performance in multi-rotor sUAVs [61], [101], [102]. Wind tunnels provide strong controls over the experiment. At the same time, they are relatively expensive and require significant instrumentation. In some studies, outdoor flight tests expose the multi-rotor sUAV to environmental wind disturbances, which provide flight performance results without the need for expensive wind tunnels or industrial grade fans [29], [62].
Conclusion
As multi-rotor sUAVs continue to gain popularity, research to study and mitigate wind effects on their flight performance continues to grow. In this paper, we presented a systematic review of two important dimensions of wind research in multi-rotor sUAVs viz. measurement/estimation and simulation.
For wind measurement/estimation, a review of three key techniques was presented. The first technique uses flow sensors, the second technique uses ultrasonic anemometers, and the third technique, called the ”tilt angle method,” uses the on-board IMU. For wind simulation, a review of three modeling techniques was presented. The first technique adapts the popular Dryden wind turbulence model for multi-rotor sUAV operational regimes in open and uncluttered environments. The second technique uses computational fluid dynamics (CFD) for simulating wind behavior in urban and cluttered environments. The third technique uses a probabilistic approach to generate wind gusts.
Each of these techniques was presented in terms of their operating principles, representative studies, key benefits, and operating challenges. Open-source Arduino code to interface with the FT205 ultrasonic anemometer was provided for readers to prototype quadrotor applications quickly. Open-source Python code to simulate the Dryden wind gusts was provided for readers to incorporate in their simulations. We anticipate that the review presented in this paper will provide important information for researchers and practitioners in their efforts.
AppendixDryden and Von Karman Models
Dryden and Von Karman Models
In Table 7,
The PSDs given in Table 7 are in terms of the spatial frequency (radian/meter or radian/feet). To obtain the shaping functions from these PSDs they are expressed in terms of their temporal frequency (radian/sec) [81], [82]. The time taken by the quadrotor to traverse turbulence of scale length \begin{align*} T=&\frac {L_{a-w}}{^{\mathbb {B}}u} \tag{21}\\ f_{\omega }=&\frac {2\pi }{T} \tag{22}\\ {f}=&\frac {f_{\omega }}{^{\mathbb {B}}u} \tag{23}\\ S(f_{\omega })=&\frac {S(f)}{^{\mathbb {B}}u}\tag{24}\end{align*}
The transfer function of the shaping filter in Fig. 12 is obtained by calculating the square roots of the power spectral density (PSD) functions expressed in terms of their temporal frequency [75], [81]. The relationship between the PSD of the input signal to this shaping filter and the PSD of the output signal of this shaping filter is given by (25).\begin{equation*} S_{out}(f_{\omega }) = {| H (s) |^{2}}_{s= j f_{\omega }} S_{in}(f_{\omega }) \tag{25}\end{equation*}
Here,
The conversion of the shaping functions from the frequency to state-space model follows (26) (27), (28), where \begin{align*} |u_{a-w}|(s)=&S_{a-w}(s) \eta _{a-w} \tag{26}\\ |u_{c-w}|(s)=&S_{c-w}(s) \eta _{c-w} \tag{27}\\ |u_{v-w}|(s)=&S_{v-w}(s) \eta _{v-w}\tag{28}\end{align*}
The state space representations of the shaping filters are described in equations (29), (29) and (30) as derived in [43].\begin{equation*} \dot {u_{a-w}}(s) =-\frac {^{\mathbb {B}}u}{L_{a-w}}u_{a-w}\big (s\big) + \sigma _{a-w}\sqrt {{\frac {3^{\mathbb {B}}u}{L_{a-w}}}}\eta _{a-w}, \tag{29}\end{equation*}
\begin{align*}\begin{bmatrix} \dot {u_{c-w}}\big (s\big)\\ {\dot {u_{c-w}}{^\ast }\big (s\big)} \end{bmatrix} &= \begin{bmatrix} 0 & 1 \\ -\frac {^{\mathbb {B}}u{^{2}}}{L{_{c-w}}^{2}} & -2\frac {^{\mathbb {B}}u}{L{_{c-w}}} \end{bmatrix} \begin{bmatrix} u_{c-w}\big (s\big) \\ {{u_{c-w}{^\ast }}\big (s\big)} \end{bmatrix} \\& \quad \,\, + \begin{bmatrix} \sigma {_{c-w}} \sqrt {{\frac {3^{\mathbb {B}}u}{L{_{c-w}}}}} \\ \big (1 - 2\sqrt {3}\big)\sigma {_{c-w}}\sqrt {{\left({\frac {^{\mathbb {B}}u}{L_{c-w}}}\right)^{3}}} \end{bmatrix} \eta _{c-w} \tag{30}\end{align*}
\begin{align*}\begin{bmatrix} \dot {{u_{v-w}}}\big (s\big) \\ \dot {u_{v-w}}{^\ast }\big (s\big) \end{bmatrix} &= \begin{bmatrix} 0 & 1 \\ -\frac {^{\mathbb {B}}u{^{2}}}{L_{v-w}^{2}} & -2\frac {^{\mathbb {B}}u}{L_{v-w}} \end{bmatrix} \begin{bmatrix} u_{v-w}\big (s\big) \\ {{u_{v-w}{^\ast }}\big (s\big)} \end{bmatrix} \\& \quad \,\, +\begin{bmatrix} \sigma _{v-w} \sqrt {{\frac {3^{\mathbb {B}}u}{L_{v-w}}} }\\ \big (1 - 2\sqrt {3}\big)\sigma _{v-w}\sqrt {{\left({\frac {^{\mathbb {B}}u}{L_{v-w}}}\right)^{3}}} \end{bmatrix} \eta _{v-w} \tag{31}\end{align*}
Wind velocities obtained in the along-wind, crosswind, and vertical-wind directions are applied to the quadrotor vehicle in the BFF using a rotation matrix given in (34). \begin{equation*} \begin{bmatrix} u_{wind(x)} \\ u_{wind(y)} \\ u_{wind(z)} \end{bmatrix} = \begin{bmatrix} \cos (\Psi _{wind}) & -{\sin (\Psi _{wind})} & 0 \\ \sin (\Psi _{wind}) & \cos (\Psi _{wind}) & 0 \\ 0 & 0 & 1 \end{bmatrix} \begin{bmatrix} u_{a-w} \\ u_{c-w} \\ u_{v-w} \end{bmatrix}\qquad \tag{32}\end{equation*}