Processing math: 100%
Wind Measurement and Simulation Techniques in Multi-Rotor Small Unmanned Aerial Vehicles | IEEE Journals & Magazine | IEEE Xplore

Wind Measurement and Simulation Techniques in Multi-Rotor Small Unmanned Aerial Vehicles


: FT-205 wind sensor mounted on the DJI Matrice 100 sUAV to collect wind data during flight test.

Abstract:

Wind disturbance presents a formidable challenge to the flight performance of multi-rotor small unmanned aerial vehicles (sUAVs). This paper presents a comprehensive revi...Show More

Abstract:

Wind disturbance presents a formidable challenge to the flight performance of multi-rotor small unmanned aerial vehicles (sUAVs). This paper presents a comprehensive review of techniques for measuring wind speed and airspeed for multi-rotor sUAVs. Three categories of sensing techniques are reviewed: flow sensors, anemometers, and tilt-angle based approaches. We also review techniques for generating wind disturbances in simulation. Wind simulation techniques that use power spectral density (PSD) functions, computational fluid dynamics (CFD), and probabilistic models are examined. Finally, we provide an open-source Python implementation of the Dryden wind turbulence model and embedded code to interface with an ultrasonic anemometer.
: FT-205 wind sensor mounted on the DJI Matrice 100 sUAV to collect wind data during flight test.
Published in: IEEE Access ( Volume: 8)
Page(s): 54910 - 54927
Date of Publication: 02 March 2020
Electronic ISSN: 2169-3536

CCBY - IEEE is not the copyright holder of this material. Please follow the instructions via https://creativecommons.org/licenses/by/4.0/ to obtain full-text articles and stipulations in the API documentation.
SECTION I.

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 \alpha from its desired trajectory. The motion of the quadrotor is described using three vector quantities in the Inertial Reference Frame (IRF) \mathbb {E} . These three vectors are:

  1. Quadrotor ground velocity ^{\mathbb {E}}u_{quad-ground} . 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. \Psi _{quad-ground} represents the track angle of the quadrotor after it has drifted off course due to wind.

  2. Quadrotor air velocity ^{\mathbb {E}}u_{quad-air} . The velocity of the quadrotor relative to the surrounding air. It is described by true airspeed and true heading of the aircraft \Psi _{quad-air} . ^{\mathbb {E}}u_{quad-air} estimates are obtained via on-board sensor data or flow sensors using techniques described in Section II.

  3. Wind velocity ^{\mathbb {E}}u_{wind} . 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_{quad-ground} and ^{\mathbb {E}}u_{quad-air} estimates are available, ^{\mathbb {E}}u_{wind} is obtained as \begin{equation*} ^{\mathbb {E}}u_{wind} = ^{\mathbb {E}}u_{quad-ground} - ^{\mathbb {E}}u_{quad-air}\tag{1}\end{equation*}

    View SourceRight-click on figure for MathML and additional features.

FIGURE 1. - Wind causes the quadrotor sUAV to drift leading to a difference in ground velocity and air velocity.
FIGURE 1.

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.

SECTION II.

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:

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

  2. Measurements using ultrasonic anemometer: The speed of ultrasonic pulses in the air is used to infer wind speed and direction directly.

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

TABLE 1 Summary of Wind and Airspeed Measurement Techniques
Table 1- 
Summary of Wind and Airspeed Measurement Techniques

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 ^{\mathbb {E}}u_{quad-air} . This airspeed estimate can then be used to derive the components of wind velocity, using the WTR. Fig. 2 depicts various sUAV platforms fitted with flow sensors.

FIGURE 2. - Top Left: Pitot tube attached to octorotor [22] Top Right: MHPP flow sensor attached to a quadrotor [16] Bottom: Differential pressure sensors attached to quadrotor [42], [43].
FIGURE 2.

Top Left: Pitot tube attached to octorotor [22] Top Right: MHPP flow sensor attached to a quadrotor [16] Bottom: Differential pressure sensors attached to quadrotor [42], [43].

1) Working Principle of Pitot Tubes

A pitot-static tube, also called Prandtl tube, is used to measure the dynamic pressure P_{d} of a moving fluid (air) [44], [45]. As depicted in Fig. 3, a pitot-static tube consists of a probe that faces the direction of the oncoming wind. The tube has an opening along its central axis that allows the oncoming wind to pass through the main channel and into Chamber 1. The two openings on the outer surface of the tube (outer tube openings) are connected to a set of channels leading to Chamber 2. The channels leading to Chamber 2 (shown in blue) are kept separate from the main channel. The incoming air is brought to rest in Chamber 1 since there is no outlet and holds the total pressure of the fluid P_{t} .

FIGURE 3. - Working of a pitot tube.
FIGURE 3.

Working of a pitot tube.

Static pressure P_{s} refers to the pressure of the fluid surrounding the tube. The openings connected to Chamber 2 are perpendicular to the direction of oncoming wind flow. As such, Chamber 2 holds air at static pressure. A transducer element placed between Chamber 1 and Chamber 2 measures the pressure difference between total pressure P_{t} and static pressure P_{s} . This pressure difference is the dynamic pressure of air, P_{d} . The dynamic pressure P_{d} measured is then used to estimate the air speed of the pitot tube mounted on the aerial vehicle. This estimation is accomplished through Bernouli’s equation which states that total pressure is the sum of dynamic pressure and static pressure. Bernoulli’s principle also provides for the dynamic pressure experienced by the pitot tube as one half the density of air (\rho ) times the square of the tube’s speed u_{pitot} .\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*}

View SourceRight-click on figure for MathML and additional features. where K is a correction factor determined at the time of calibration of the tube to account for measurement sensitivity to air temperature and pressure. Pitot sensors require calibration to account for their sensitivity to the atmospheric temperature, atmospheric pressure, moisture in the air, flow angle, angle of attack, and angle of sideslip. Procedures and data required for such calibration are described in [46], [47], and references therein. Several modern pitot tube sensors come fully calibrated and temperature-compensated from the factory [48].

The relationship between u_{pitot} and the airspeed of a sUAV is described in [32] as \begin{equation*} ^{\mathbb {E}}u_{quad-air}^{2} = \frac {|u_{pitot}|^{2}}{\cos {\alpha }\cos {\beta }}\tag{3}\end{equation*}

View SourceRight-click on figure for MathML and additional features. where \alpha and \beta are angle-of-attack and angle-of-sideslip respectively of the aerial vehicle. In case of fixed-wing sUAVs, the angle-of-attack and angle-of-sideslip information is obtained by mounting dedicated sensors on the tail and nose of the vehicle. By contrast, due to their multi-rotor aerodynamics and physical construction geometry, multi-rotor sUAVs do not exhibit high angle-of-attack and angle-of-sideslip. To account for this, the authors in [22] use a small angle approximation for angle-of-attack and angle-of-sideslip (\alpha \approx 0 and \beta \approx 0 ). This approximation leads to the following relationship \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*}
View SourceRight-click on figure for MathML and additional features.
where sf is a scaling factor. This scaling factor is experimentally determined at the time of mounting the pitot tube to the multi-rotor sUAV [22].

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.

TABLE 2 Representative Studies on Wind and Airspeed Estimation Using Pressure Flow Sensors in Multi-Rotor sUAVs
Table 2- 
Representative Studies on Wind and Airspeed Estimation Using Pressure Flow Sensors in Multi-Rotor sUAVs

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.

FIGURE 4. - Top Left: Tri-Sonica ultrasonic anemometer attached to quadrotor [14]. Top Right: FT702 ultrasonic anemometer attached to hexarotor [15]. Bottom Left: DS-2 ultrasonic anemometer attached to hexarotor [12]. Bottom Right: FT205 ultrasonic anemometer attached to octorotor [49].
FIGURE 4.

Top Left: Tri-Sonica ultrasonic anemometer attached to quadrotor [14]. Top Right: FT702 ultrasonic anemometer attached to hexarotor [15]. Bottom Left: DS-2 ultrasonic anemometer attached to hexarotor [12]. Bottom Right: FT205 ultrasonic anemometer attached to octorotor [49].

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 L . As depicted in Fig. 5, each transducer has a Transmitter (Tx) and a Receiver (Rx) component. The ultrasonic anemometer first sends an ultrasonic pulse from the Tx of Transducer 1 to the Rx of Transducer 2. The time between the transmission from Tx-Transducer 1 to Rx-Transducer 2 is measured. Next, a second pulse is transmitted from Tx-Transducer 2 to Rx-Transducer 1, and the time between this transmission and reception is measured.

FIGURE 5. - Working of an ultrasonic anemometer.
FIGURE 5.

Working of an ultrasonic anemometer.

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.

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

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.

TABLE 3 Representative Studies on Wind Speed and Direction Measurements Using Ultrasonic Anemometers Mounted on Multi-Rotor sUAVs
Table 3- 
Representative Studies on Wind Speed and Direction Measurements Using Ultrasonic Anemometers Mounted on Multi-Rotor sUAVs

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.

FIGURE 7. - FT-205 wind sensor mounted on the DJI Matrice 100 sUAV to collect wind data during flight test.
FIGURE 7.

FT-205 wind sensor mounted on the DJI Matrice 100 sUAV to collect wind data during flight test.

FIGURE 8. - Windrose plot for wind speed and direction data recorded from a FT-205 wind sensor mounted on the DJI Matrice 100 sUAV.
FIGURE 8.

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 ^{\mathbb {E}}u_{quad-air} of a quadrotor.

This section describes the tilt angle approach used to estimate ^{\mathbb {E}}u_{quad-air} using IMU and GPS found onboard a quadrotor [26]. This approach is valid under steady state conditions when the quadrotor is hovering.

In Fig. 10a, a quadrotor’s body frame of reference [^{\mathbb {B}}e_{x}, ^{\mathbb {B}}e_{y}, ^{\mathbb {B}}e_{z} ] is defined. The axes of this reference frame are aligned with the inertial frame of reference (IRF) [^{\mathbb {E}}e_{x}, ^{\mathbb {E}}e_{y}, ^{\mathbb {E}}e_{z} ] with the origin fixed at the center of gravity (CG) of the quadrotor. The GPS provides sUAV ground speed measurements in IRF, and the IMU provides body velocity components and attitude measurements in the body frame described by unit vectors ^{\mathbb {B}}e_{x}, ^{\mathbb {B}}e_{y}, ^{\mathbb {B}}e_{z} .

FIGURE 9. - Relation between tilt angle and drag force.
FIGURE 9.

Relation between tilt angle and drag force.

FIGURE 10. - Relation between roll(
$\phi $
) and pitch(
$\theta $
) angles with tilt angle 
$\lambda $
.
FIGURE 10.

Relation between roll(\phi ) and pitch(\theta ) angles with tilt angle \lambda .

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 \lambda shown in Fig. 9 is a combination of roll(\phi) and pitch(\theta) angles. The roll and pitch angles are measured from the vertical -^{\mathbb {B}}e_{z} as shown in Fig. 10a. The unit vector that represents the roll angle is b_{y} = \big [0 \quad cos(\phi) \quad sin(\phi)\big]{^{T}} . The unit vector that represents the pitch angle is b_{x} = \big [cos(\theta) \quad 0 \quad -sin(\theta)\big]{^{T}} . The tilt angle \lambda is used to estimate the attitude of the quadrotor and estimate the magnitude of quadrotor air speed (|^{\mathbb {E}}u_{quad-air}| ). The tilt angle \lambda is calculated as \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*}

View SourceRight-click on figure for MathML and additional features. where -n_{b_{x} - b_{y}} is the unit vector normal to the plane formed by b{_{x}}-b{_{y}} as illustrated in Fig. 10b. n_{b_{x} - b_{y}} = [{0,0,1 }]{^{T}} .

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 D{_{b}} due to wind can be calculated using the following relationship:\begin{equation*} {^{\mathbb {B}}}F{_{drag}} = g \cdot m \cdot tan(\lambda)\tag{6}\end{equation*}

View SourceRight-click on figure for MathML and additional features.

As described in [12], [14], [26], [59], the magnitude of airspeed of the quadrotor (|u_{quad-air}| ) can then be calculated using the principle of conservation of energy for a fluid in motion, namely \begin{equation*} |u_{quad-air}| = \sqrt {\frac {2\cdot {^{\mathbb {B}}}F{_{drag}}}{\rho A{_{proj}(\lambda)} C{^{D}}(\lambda)}}\tag{7}\end{equation*}

View SourceRight-click on figure for MathML and additional features.

Here, \rho is the density of the fluid (air in this case), A{_{proj}} is the area of the quadrotor frame exposed to the wind which is a function of tilt angle \lambda and is also referred to as the projected area. C^{D} is the drag coefficient of the quadrotor body. The projected area (A_{proj} ) and drag coefficient (C^{D} ) both vary as a function of the tilt angle. Under hover condition, |u_{quad-air}| is equal to the wind speed |^{\mathbb {E}}u_{wind}| experienced by the quadrotor [12], [58], [59]. In [26], [58], the projected area was obtained by constructing a 3D model of the quadrotor body. Then, using image processing, the reference area at each inclination angle as a count of pixels was calculated. In [60], the quadrotor frame was modeled as a cylinder. The area exposed to wind was calculated as the sum of the lateral surface area and the area of bases. The roll and pitch angles were included in the area calculation to get an estimate of the effective influence area of wind. The drag coefficient was computed by wind tunnel experiments, as discussed in [14], [26], [61], or indoor tests, as reported in [43].

2) Measuring Quadrotor Heading Direction

Fig. 11 shows the top view of a projection of the vector b_{y} \times b_{x} on ^{\mathbb {B}}e_{x}-^{\mathbb {B}}e_{y} plane. To calculate the quadrotor heading direction \Psi {_{quad-air}} , the angle \gamma between the heading direction of the quadrotor and the projection of b_{y} \times b_{x} on the ^{\mathbb {B}}e_{x}-^{\mathbb {B}}e_{y} plane needs to be calculated using (8).\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*}

View SourceRight-click on figure for MathML and additional features.

FIGURE 11. - Top view of 
$^{\mathbb {B}}e_{x}-^{\mathbb {B}}e_{y}$
 plane.
FIGURE 11.

Top view of ^{\mathbb {B}}e_{x}-^{\mathbb {B}}e_{y} plane.

The viewing direction considered here is the normal vector n_{b_{y}-b_{z}} = [{1, 0, 0}] normal to the plane of ^{\mathbb {B}}e_{y}-^{\mathbb {B}}e_{z} . To determine which side of the quadrotor the projection of b_{y} \times b_{x} lies, (9) needs to be solved. The result of (8) lies in the interval [0°, 180°].\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*}

View SourceRight-click on figure for MathML and additional features. The heading direction \Psi {_{quad-air}} can be calculated using (10).\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*}
View SourceRight-click on figure for MathML and additional features.

3) Calculating Wind Velocity ^{\mathbb{E}}u_{wind}

The wind speed ^{\mathbb {E}}u_{wind} is calculated using the WTR described in (1) and the law of cosines. The drift angle (\alpha ) shown in Fig. 1 is equal to the difference between the track angle \Psi _{quad-ground} and aircraft heading \Psi _{quad-air} . The magnitude of wind speed |^{\mathbb {E}}u_{wind}| is calculated based on the relationship expressed in (11).\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*}

View SourceRight-click on figure for MathML and additional features.

The wind direction \Psi _{wind} is calculated by solving (12) and (13). Here \beta is the angle between the wind speed vector ^{\mathbb {E}}u_{wind} and ground speed vector ^{\mathbb {E}}u_{quad-ground} .

Equations (11) and (13) calculate the wind speed |^{\mathbb {E}}u_{wind}| and direction \Psi _{wind} for 0 < \alpha < 180{^\circ } . The cases \alpha = 0{^\circ } and 180° are considered separately. The sign of \beta depends on the quadrotor heading direction \Psi _{quad-air} . If the heading direction is within the interval \big [\Psi _{quad-ground} + 180{^\circ }, \Psi _{quad-ground} \big] then the angle is positive (+\beta ), otherwise it is negative (-\beta ).\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*}

View SourceRight-click on figure for MathML and additional features.

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 \times30 meters. The RMSE for wind speed and direction when the quadrotor was hovering was 0.6ms^{-1} and 14.02°, respectively. The RMSE for wind speed and direction when the quadrotor was moving was 0.36ms^{-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.

  • 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 0.6ms^{-1} with respect to the reference anemometer measurements.

  • 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 9m tower. The quadrotor was made to hover for 5 minutes at a distance of approximately 5m . 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 were 0.7ms^{-1} 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.

TABLE 4 Representative Studies on Wind and Airspeed Measurement for Multi-Rotor sUAVs Using the Tilt-Angle Approach
Table 4- 
Representative Studies on Wind and Airspeed Measurement for Multi-Rotor sUAVs Using the Tilt-Angle Approach

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 0.1\,\,ms^{-1} . It is expected that manufacturers and researchers will continue to invest efforts in creating higher resolution sensors.

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

SECTION III.

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, u_{wind} = [u_{wind-x}, u_{wind-y}, u_{wind-z}] is the wind vector with magnitude |u_{wind}| and azimuth angle \Psi _{wind} .

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.

TABLE 5 Summary of Wind Generation Techniques
Table 5- 
Summary of Wind Generation Techniques

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.

FIGURE 12. - Filtering process for Dryden and von Kármán wind generation models.
FIGURE 12.

Filtering process for Dryden and von Kármán wind generation models.

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.

FIGURE 13. - Orthonormal along-wind, cross-wind, and vertical-wind directions for a quadrotor sUAV.
FIGURE 13.

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

TABLE 6 Use of Dryden Models for Multi-Rotor sUAV Based Simulations
Table 6- 
Use of Dryden Models for Multi-Rotor sUAV Based Simulations
TABLE 7 Power Spectral Density (PSD) Functions for the Dryden Continuous Gust Turbulence Model
Table 7- 
Power Spectral Density (PSD) Functions for the Dryden Continuous Gust Turbulence Model

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 L_{along-wind} of the wind turbulence in the along-wind (headwind/tailwind) direction of motion. u_{a-w} is the along-wind gust speed. u_{c-w} is the crosswind gust speed, and u_{v-w} is the vertical wind gust speed. Additionally, \sigma _{a-w} , \sigma _{c-w} , \sigma _{v-w} are the RMS gust speeds (also called turbulence intensities) in the along-wind, crosswind, and vertical directions, respectively.

FIGURE 14. - Illustration of quadrotor flying into sine-type turbulence field with scale length 
$L_{along-wind}$
.
FIGURE 14.

Illustration of quadrotor flying into sine-type turbulence field with scale length L_{along-wind} .

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. h is the altitude from sea level (in feet). The wind speed at 20 feet AGL |u_{wind-20}| is set to 15, 30, and 45 knots for light, moderate and severe turbulence conditions, respectively. These values were experimentally determined in [80].\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*}

View SourceRight-click on figure for MathML and additional features.

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 [u_{a-w}, u_{c-w}, u_{v-w}] .

1) Remarks on Dryden or Von Kármán Models

The shaping functions are obtained from the square root of the PSD functions S_{a-w}(f), S_{c-w}(f), and, S_{v-w}(f) of the model used (Dryden or von Kármán). As such, these must be factorizable. The Dryden PSD functions are rational and hence exactly factorizable. On the other hand, the von Kármán PSD functions are irrational and can only be approximated, with an exact factorization requiring a filter of infinite order [73], [75], [81], [82]. However, the von Kármán PSD matches real wind gust turbulences found in nature more closely than the Dryden model. Thus the choice between Dryden and von Kármán models depends on the choice between engineering convenience and physical correctness. Table 6 notes representative studies that use the Dryden model to study several aspects of multi-rotor sUAVs. To the best of our knowledge, the von Kármán model has not been used yet to study the wind effect on quadrotors. For more information about the von Kármán model, readers are referred to [75], [82], [83].

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 5m height and moving at an airspeed of 0.5m/s . The quiver plot displays the magnitude and direction of the wind velocity vectors generated by the model. Fig. 15b depicts the magnitude of wind velocity in m/s generated in the along-wind (head-wind and tail-wind depending on +/− sign), cross-wind, and vertical-wind for a flight duration of 10 seconds.

FIGURE 15. - Wind turbulence field generated by Dryden model in Python.
FIGURE 15.

Wind turbulence field generated by Dryden model in Python.

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). |u{_{h}}| is the mean wind speed at altitude h . |u{_{ref}}| is mean reference wind speed at altitude h{_{ref}} . p is an empirically derived exponent that depends on atmospheric conditions.\begin{equation*} |u_{h}| = |u_{ref}|\left({\frac {h}{h_{ref}}}\right)^{p} \tag{18}\end{equation*}

    View SourceRight-click on figure for MathML and additional features.

  • Change in wind direction: The azimuth \psi _{wind} 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 n . They are obtained by adding a random variable \Delta \Psi _{wind} to \Psi _{wind(n)} as shown in (19).\begin{equation*} \Psi _{wind(n + 1)} = \Psi _{wind(n)} \pm \Delta \Psi _{wind} \tag{19}\end{equation*}

    View SourceRight-click on figure for MathML and additional features.

The gust speed |u_{wind}| is described in (20). t_{max} represents the maximum flight time. n discrete random variable to determine the number of wind steps for t_{max} . |u_{wind{0}}| is the wind speed before the gust (step) and |u_{wind{M}}| is the gust speed. t{_{0}} discrete random variable to determine each gust step start. t_{ni} discrete random variable to determine duration of gust.\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*}

View SourceRight-click on figure for MathML and additional features.

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 1 ~km . The general flow pattern of wind is still defined by the prevailing wind in the upper boundary layers. This dependency of wind around urban structures on the upper boundary layers was leveraged as inputs to the QUIC-CFD solver to determine the turbulent wind flow around such structures. The QUIC-CFD solver prioritized solution time over the accuracy and provided quick estimates of the solution to the Reynolds Averaged Navier Stokes equation. The estimates of the QUIC-CFD model were compared to wind data collected around the university campus. The authors noted an error of less than 10% for wind speed errors. Heading errors were observed to be less than 15 degrees for 36% of the readings.

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

SECTION IV.

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.

Appendix

Dryden and Von Karman Models

In Table 7, S_{a-w} , S_{c-w} , and S_{v-w} are power spectral densities of wind gusts for the along-wind, crosswind, and vertical wind directions respectively. It should be noted that S_{a-w} , S_{c-w} , and S_{v-w} specify random variations in spatial properties of wind gusts with respect to shaping filter frequencies. However, any temporal variations in gust characteristics are derived from the quadrotor motion through the gust field.

\sigma _{a-w} , \sigma _{c-w} , \sigma _{v-w} are RMS gust speeds (also called turbulence intensities) in the along-wind, crosswind, and vertical directions, respectively. L_{a-w} , L_{c-w} , L_{v-w} are the scale lengths of the turbulence wind field in the along-wind, crosswind, and vertical directions, respectively. Fig. 14 shows the quadrotor fly into a turbulence field with sine-type vertical velocity distribution with the scale-length of L_{a-w} in along-wind direction.

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 L_{a-w} is provided by (21). The temporal frequency f_{\omega } is given by (22). The relation between spatial frequency and angular frequency is described by (23). The relation in (23) is substituted in each of the PSD functions S_{a-w}(f), S_{c-w}(f), S_{v-w}(f) and the result is divided by ^{\mathbb {B}}u to derive the PSD functions in terms of the temporal frequency S_{a-w}(f_{\omega }) , S_{c-w}(f_{\omega }) , S_{v-w}(f_{\omega }) as expressed in (24).\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*}

View SourceRight-click on figure for MathML and additional features.

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*}

View SourceRight-click on figure for MathML and additional features.

Here, H(s) is the transfer function of the shaping filter defined in the complex plane and S_{in}(f_{\omega }) = 1 is the transfer function of the Gaussian white noise input. To identify H(s) , the PSD functions are spectrally factorized into the product of some H(jf_{\omega }) and its complex conjugate H^{\ast }(jf_{\omega }) . The procedure is to choose the factors of H(s) from the factors of S(f_{\omega }) to have zeros and poles on the left side of the complex plane. This is the stable minimum phase transfer function [81].

The conversion of the shaping functions from the frequency to state-space model follows (26) (27), (28), where \eta is the Gaussian white noise [\eta _{a-w} , \eta _{c-w} , \eta _{v-w}] driving the Dryden/Von Karman transfer function. (|u_{a-w}| , |u_{c-w}| , |u_{v-w}| ) are the components of the wind vector (wind speeds) along the three wind directions.\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*}

View SourceRight-click on figure for MathML and additional features.

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*}

View SourceRight-click on figure for MathML and additional features. where a-w represents along-wind.\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*}
View SourceRight-click on figure for MathML and additional features.
where c-w represents crosswind.\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*}
View SourceRight-click on figure for MathML and additional features.
where v-w represents vertical-wind.

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). \Psi _{wind} indicates wind direction and can be specified for simulation.\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*}

View SourceRight-click on figure for MathML and additional features.

References

References is not available for this document.