Enhanced Drone Navigation in GNSS Denied Environment Using VDM and Hall Effect Sensor

The last decade has witnessed a wide spread of small drones in many civil and military applications. With the massive advancement in the manufacture of small and lightweight Inertial Navigation System (INS), navigation in challenging environments became feasible. Navigation of these small drones mainly depends on the integration of Global Navigation Satellite Systems (GNSS) and INS. However, the navigation performance of these small drones deteriorates quickly when the GNSS signals are lost, due to accumulated errors of the low-cost INS that is typically used in these drones. During GNSS signal outages, another aiding sensor is required to bound the drift exhibited by the INS. Before adding any additional sensor on-board the drones, there are some limitations that must be taken into considerations. These limitations include limited availability of power, space, weight, and size. This paper presents a novel unconventional method, to enhance the navigation of autonomous drones in GNSS denied environment, through a new utilization of hall effect sensor to act as flying odometer “Air-Odo” and vehicle dynamic model (VDM) for heading estimation. The proposed approach enhances the navigational solution by estimating the unmanned aerial vehicle (UAV) velocity, and heading and fusing these measurements in the Extended Kalman Filter (EKF) of the integrated system.


Introduction
Without GNSS signals, the navigation system of small unmanned aerial vehicles (UAVs) deteriorates rapidly because of the utilized low-cost microelectromechanical sensor (MEMS)-based INS.These MEMS-based INSs exhibit large sensors errors, which deteriorates the navigation system performance during GNSS signals outages [1].Due to the rapid increase in the applications employing drones in our daily life, to save time, effort, cost, and perform dangerous tasks, the requirement for a versatile drone that can fulfill its task in different condition/situations is essential.Relying on GNSS alone to bound the INS drift is not an adequate solution, as GNSS signals are susceptible to jamming, spoofing, multipath, or blockage.Other aiding sensors must be utilized so substitute GNSS during its unavailability periods.Different sensors and methods can be used, e.g., single or multiple cameras [2][3][4][5][6][7][8][9], Light Detection and Ranging (LIDAR) [10][11][12][13][14][15], and Radio Detection and Ranging (RADAR) [16][17][18][19].Due to major technological advancement, the ability to manufacture small radar that's adequate to be mounted on small UAVs is now feasible.In [18] they made an experimental flight (hex copter drone) to assess the ability of small radar systems (e.g., PulsON 440) to provide useful information that can be utilized in different aspects (e.g., localization, navigation, obstacle avoidance, imagery, and surveillance).Their experimental results showed the ability of the radar system to speed measurements, and proximity sensors [35][36][37][38], to estimate the forwarded drone speed "Air-Odo" (act as a flying odometer) and (b) the second approach utilizes the VDM as a constraint to estimate the heading of the drone.The information from these two approaches (velocity and heading) are fused with INS through EKF.The proposed approach was verified through a hardware experiment, with 3DR quadcopter, equipped with a low-cost MEMS-based Inertial Measurement Unit (IMU).

System Overview
Unlike fixed-wing drones, quadcopters cannot benefit from pitot tube to estimate their velocity, due to its sensitivity to the direction of the air flow, and the requirement of a significant change in differential pressure which cannot be achieved with such drones [39].So, other means to estimate the velocity of the quadcopter is crucial not only to enhance the position estimation, but also to enhance the attitude estimation because of Schuller effect.The "Air-Odo", presented in this paper, is a technique to estimate the forward velocity of the quadcopter based on Hall effect magnetic sensor.

Air-Odo
Air-Odo is composed of a resisting plate, rotating part (two-opposite rotating magnet), and a stationary part (Hall effect contactless 360 degrees angle position sensor), as shown in Figure 1.Its working principle is based on the law of lifting force imposed over immersed bodies in the air.As the resisting plate is hinged to a freely rotating rod, and at the edge of this rod the rotating part (two opposite magnet) is attached, when the quadcopter starts to move, there is induced air flow in the opposite direction of the movement.This causes the resisting plate to rotate due to the lifting force imposed over the resisting plate from the air (1).This rotation will cause the two opposite magnets to rotate, according to the position of these two peaks, the amount of rotation caused from this quadcopter movement is measured by the 360 degrees hall effect angle sensor.Then this angle is used to estimate the velocity of the quadcopter through a simple least-square (LS) method.
where L is the drag force, ρ is the air density, V is the velocity of flow, A is the area of the resisting plate (immersed body), and C D is the drag coefficient.
ISPRS Int.J. Geo-Inf.2019, 8, x FOR PEER REVIEW 3 of 18 constraint to estimate the heading of the drone.The information from these two approaches (velocity and heading) are fused with INS through EKF.The proposed approach was verified through a hardware experiment, with 3DR quadcopter, equipped with a low-cost MEMS-based Inertial Measurement Unit (IMU).

System Overview
Unlike fixed-wing drones, quadcopters cannot benefit from pitot tube to estimate their velocity, due to its sensitivity to the direction of the air flow, and the requirement of a significant change in differential pressure which cannot be achieved with such drones [40].So, other means to estimate the velocity of the quadcopter is crucial not only to enhance the position estimation, but also to enhance the attitude estimation because of Schuller effect.The "Air-Odo", presented in this paper, is a technique to estimate the forward velocity of the quadcopter based on Hall effect magnetic sensor.

Air-Odo
Air-Odo is composed of a resisting plate, rotating part (two-opposite rotating magnet), and a stationary part (Hall effect contactless 360 degrees angle position sensor), as shown in Figure 1.Its working principle is based on the law of lifting force imposed over immersed bodies in the air.As the resisting plate is hinged to a freely rotating rod, and at the edge of this rod the rotating part (two opposite magnet) is attached, when the quadcopter starts to move, there is induced air flow in the opposite direction of the movement.This causes the resisting plate to rotate due to the lifting force imposed over the resisting plate from the air (1).This rotation will cause the two opposite magnets to rotate, according to the position of these two peaks, the amount of rotation caused from this quadcopter movement is measured by the 360 degrees hall effect angle sensor.Then this angle is used to estimate the velocity of the quadcopter through a simple least-square (LS) method.
where L is the drag force, ρ is the air density, V is the velocity of flow, A is the area of the resisting plate (immersed body), and C D is the drag coefficient.The motion of the quadcopter will cause airflow opposite to the direction of motion, and this airflow will cause the resisting plate to deviate from its initial position, as shown in Figure 2, due to The motion of the quadcopter will cause airflow opposite to the direction of motion, and this airflow will cause the resisting plate to deviate from its initial position, as shown in Figure 2, due to the drag force imposed over the resisting plate from the airflow.According to the resisting plate deviation angle, the velocity of the quadcopter can be estimated.However, the relation between the drone velocity and the measured angle is not a 1:1 relation, but it can be derived according to the mathematical model shown in Equations ( 2)- (7).
where, L is the drag force from the airflow.m is the resisting plate mass.g is the gravity constant.
θ is the deflection angle made by the resisting plate due to drag force.the drag force imposed over the resisting plate from the airflow.According to the resisting plate deviation angle, the velocity of the quadcopter can be estimated.However, the relation between the drone velocity and the measured angle is not a 1:1 relation, but it can be derived according to the mathematical model shown in Equations ( 2)-( 7).
where, L is the drag force from the airflow.m is the resisting plate mass.g is the gravity constant.

𝜃
is the deflection angle made by the resisting plate due to drag force.
A relation between  and V can be achieved if we substitute the drag force term (L) in Equation (3) by its definition in Equation (1) as follows.
Since the mass of the resisting plate (m), gravity constant (g), the area of the resisting plate (A), A relation between θ and V can be achieved if we substitute the drag force term (L) in Equation ( 3) by its definition in Equation (1) as follows.
Since the mass of the resisting plate (m), gravity constant (g), the area of the resisting plate (A), air density (ρ), and the drag coefficient (C D ) can be considered as constants, so Equation (5) can be rewritten as shown in (6).

Vehicle Dynamic Model
The drone utilized in this work is quadcopter drone, which is composed of four brushless dc motors that control the drone motions, according to their speeds.Typically, the quadcopter employs one of two configurations, either plus or X configuration (X configuration is used in this work), as shown in Figure 4.There are three main motions for the quadcopter, pitch, roll, and yaw.For the X-configuration, to achieve pitch motion, the speeds of motors 1 and 2 increase, while the speeds of motors 4 and 3 decrease (or vice versa), while the roll motion is achieved by increasing motors 3 and 2 RPMs, while decreasing the RPMs of motors 4 and 1 (or vice versa), and yaw motion is realized by increasing motor 2 and 4 RPMs, while decreasing motors 3 and 1 RPMS (or vice versa).
The Quadcopter mathematical model can be expressed as follows: 2.2.1.Thrust Thrust () is the force normal to the X-Y plane, which is responsible for the quadcopter ability to do maneuvers and can be calculated as follows. where, is the motor thrust coefficient which depends on the geometry of the motor.

Vehicle Dynamic Model
The drone utilized in this work is quadcopter drone, which is composed of four brushless dc motors that control the drone motions, according to their speeds.Typically, the quadcopter employs one of two configurations, either plus or X configuration (X configuration is used in this work), as shown in Figure 4.

Vehicle Dynamic Model
The drone utilized in this work is quadcopter drone, which is composed of four brushless dc motors that control the drone motions, according to their speeds.Typically, the quadcopter employs one of two configurations, either plus or X configuration (X configuration is used in this work), as shown in Figure 4.There are three main motions for the quadcopter, pitch, roll, and yaw.For the X-configuration, to achieve pitch motion, the speeds of motors 1 and 2 increase, while the speeds of motors 4 and 3 decrease (or vice versa), while the roll motion is achieved by increasing motors 3 and 2 RPMs, while decreasing the RPMs of motors 4 and 1 (or vice versa), and yaw motion is realized by increasing motor 2 and 4 RPMs, while decreasing motors 3 and 1 RPMS (or vice versa).
The Quadcopter mathematical model can be expressed as follows:

Thrust
Thrust () is the force normal to the X-Y plane, which is responsible for the quadcopter ability to do maneuvers and can be calculated as follows. where, is the motor thrust coefficient which depends on the geometry of the motor.There are three main motions for the quadcopter, pitch, roll, and yaw.For the X-configuration, to achieve pitch motion, the speeds of motors 1 and 2 increase, while the speeds of motors 4 and 3 decrease (or vice versa), while the roll motion is achieved by increasing motors 3 and 2 RPMs, while decreasing the RPMs of motors 4 and 1 (or vice versa), and yaw motion is realized by increasing motor 2 and 4 RPMs, while decreasing motors 3 and 1 RPMS (or vice versa).
The Quadcopter mathematical model can be expressed as follows: 2.2.1.Thrust Thrust (T) is the force normal to the X-Y plane, which is responsible for the quadcopter ability to do maneuvers and can be calculated as follows.
where, C T is the motor thrust coefficient which depends on the geometry of the motor.
ρ is air density.A r is the propellers cross section area.r is the motor radius.w r is the motor angular velocity.
Since the air density, propellers cross-section area and the motor radius can be considered as constant for a given motor, so Equation ( 9) can be simplified to be

Torque
Motors thrust cause a torque, which is responsible for quadcopter roll, pitch, and yaw motion (rotation around X, Y, and Z axes), and can be calculated as shown in Equation (10). where, For the X configuration, equation (11) shows the torques and moments in matrix form.
where, d represents the distance between the quadcopter center and the motor.

Quadcopter Dynamic Model Equation of Motion
The quadcopter dynamic equation of motions can be divided into four parts, angular velocities state Equations ( 12)-( 14) which describes the angular rates of quadcopter pitch, roll, and yaw.The kinematic Euler Equation (15), which describes the rate of change of Euler angles (θ, φ, and .ψ ); velocity state Equation ( 16), which account for the acceleration of the rigid body center of mass, resulting from the acting forces; and position state Equation (17), which define the quadcopter body frame linear velocities. .
where, I b is 3 × 3 matrix defining the inertia of the quadcopter in the body frame as shown in Equation (13).M b A,T represent the moments produced by the aerodynamic thrusts and torques on the body frame.Ω b is the body angular rates skew symmetric form as given in equation.
W b is the body rotational rate (angular velocity).
where, G x and G y are the gyroscopic forces X and Y directions, respectively. . . where, V b is the velocity of the quadcopter in the body frame (X, Y, and Z).m is the quadcopter total mass.F b A,T represents the force acting on the body due to the motors thrust.g b is the gravitational force acting on the body frame. .
where, R i b is the rotation from the body frame to inertial the frame.

Sensor Integration
The overall workflow of the sensor integration is shown in Figure 5.The workflow composed of two parts; first, the quadcopter velocity estimation which is achieved with the aid of Air-Odo.To estimate the velocity of the quadcopter, Air-Odo measurements (angles) pass through a least-square method, during Global Navigation Satellite Systems (GNSS) signal availability, to calculate the constant in Equation (7).As there are unmodeled parameters such as friction at point O, which are not taken into consideration, this constant is used to calculate the velocity of the quadcopter with the aid of Equation ( 6).The second part is quadcopter heading estimation with the aid of VDM.As shown in Equation (11), the yaw movement is achieved when there is a change in the RPMs of motors 1 and 3, opposite to the change of motor 2 and 4 RPMs.The output of this motor relation is compared against the experimental threshold as shown in Figure 6.If the result is within the threshold bound then the previous heading value is used as an update to KF (as in this case the VDM indicates that there is no change in heading), while if the result of the yaw VDM relation is greater than this threshold (this means that VDM indicates that there is a change in the heading angle), the heading from the mechanization is considered as an update to the KF.

Extended Kalman Filter Framework
All the sensors measurements are fused through a loosely coupled EKF scheme.The used error state vector is composed of 21 states as shown in Equation ( 18) where, r , v ,  are the position, velocity, and attitude error vector, respectively.b , and d are the accelerometers bias and gyros drift, respectively.  and   are the accelerometers and gyros scale factor, respectively.
The EKF starts with states and uncertainties initialization, followed by prediction equation as shown in Equation (19) to predict the sates, then Equation (20) to propagate their associated uncertainties.

Extended Kalman Filter Framework
All the sensors measurements are fused through a loosely coupled EKF scheme.The used error state vector is composed of 21 states as shown in Equation ( 18) where, r , v ,  are the position, velocity, and attitude error vector, respectively.b , and d are the accelerometers bias and gyros drift, respectively.  and   are the accelerometers and gyros scale factor, respectively.
The EKF starts with states and uncertainties initialization, followed by prediction equation as shown in Equation (19) to predict the sates, then Equation (20) to propagate their associated uncertainties.

Extended Kalman Filter Framework
All the sensors measurements are fused through a loosely coupled EKF scheme.The used error state vector is composed of 21 states as shown in Equation ( 18) where, δr n , δv n , ε n are the position, velocity, and attitude error vector, respectively.b, and d are the accelerometers bias and gyros drift, respectively.s a and s g are the accelerometers and gyros scale factor, respectively.
The EKF starts with states and uncertainties initialization, followed by prediction equation as shown in Equation (19) to predict the sates, then Equation (20) to propagate their associated uncertainties. x where, ISPRS Int.J. Geo-Inf.2019, 8, 169 9 of 18 Φ k is the state transition matrix.
x k is the error states.G k is the noise coefficient matrix.P − k+1 is the predicted covariance matrix.w k is the system noise.Q k is the covariance matrix of system noise.
It's worth noting that the stochastic errors of the inertial sensor were modeled as a first-order Gauss-Markov.
The prediction step is followed by an update step as shown in Equations ( 21)-( 23), to interpret the data from the aiding sensors when it's available, e.g., GNSS, Air-Odo (velocity), and heading (VDM). where, H k is the design matrix.K k is the Kalman gain.x+ k is the updated states.P + k is the updated covariance matrix δz k is the innovation sequence

Hardware Setup
To verify the proposed approach in aiding the navigation solution during GNSS signal outages, an experimental flight was carried out.The experiment uses the 3DR Solo quadcopter equipped with MEMS-based low-cost IMU (MPU-9250) and U-Blox GNSS receiver.Air-Odo was attached to the top of the quadcopter as shown in Figure 7.
ISPRS Int.J. Geo-Inf.2019, 8, x FOR PEER REVIEW 9 of 18   is the state transition matrix.  is the error states.  is the noise coefficient matrix. is the predicted covariance matrix.  is the system noise.  is the covariance matrix of system noise.
It's worth noting that the stochastic errors of the inertial sensor were modeled as a first-order Gauss-Markov.The prediction step is followed by an update step as shown in Equations (21)(22)(23), to interpret the data from the aiding sensors when it's available, e.g., GNSS, Air-Odo (velocity), and heading (VDM).

𝐾 = 𝑃 𝐻 𝐻 𝑃 𝐻 + 𝑅
where, is the design matrix. is the Kalman gain. is the updated states. is the updated covariance matrix  is the innovation sequence

Hardware Setup
To verify the proposed approach in aiding the navigation solution during GNSS signal outages, an experimental flight was carried out.The experiment uses the 3DR Solo quadcopter equipped with MEMS-based low-cost IMU (MPU-9250) and U-Blox GNSS receiver.Air-Odo was attached to the top of the quadcopter as shown in Figure 7.

Indoor Experiment
Before conducting the outdoor flight experiment, the relation between the angles and the velocities that were driven mathematically needs to be verified.In order to verify this relationship, an indoor experiment was conducted in a wind tunnel as shown in Figure 8.

Indoor Experiment
Before conducting the outdoor flight experiment, the relation between the angles and the velocities that were driven mathematically needs to be verified.In order to verify this relationship, an indoor experiment was conducted in a wind tunnel as shown in Figure 8.The measurement from pitot (wind tunnel velocities) was compared to the angle measurements from the Air-Odo, and the relation between them is shown in Figure 9. Figure 9, verified the relationship between the angles of the Air-Odo and the wind velocities which is shown before in Figure 3 based on theoretical model.Also, this experiment shows that the dynamic range of the Air-Odo design starts from 0.65 m/s to 6 m/s.However, it is not preferred to account for the velocity from Air-Odo after 80 degrees, as the angle increments did not represent the velocities increments.

Outdoor Experiment
This autonomus flight is composed of 21 waypoints as shown in Figure 10, with different velocities varying between 3 and 5 m/s for a total time of 350 s.The measurement from pitot (wind tunnel velocities) was compared to the angle measurements from the Air-Odo, and the relation between them is shown in Figure 9.The measurement from pitot (wind tunnel velocities) was compared to the angle measurements from the Air-Odo, and the relation between them is shown in Figure 9. Figure 9, verified the relationship between the angles of the Air-Odo and the wind velocities which is shown before in Figure 3 based on theoretical model.Also, this experiment shows that the dynamic range of the Air-Odo design starts from 0.65 m/s to 6 m/s.However, it is not preferred to account for the velocity from Air-Odo after 80 degrees, as the angle increments did not represent the velocities increments.

Outdoor Experiment
This autonomus flight is composed of 21 waypoints as shown in Figure 10, with different velocities varying between 3 and 5 m/s for a total time of 350 s.Experimental relationship between wind velocities and Air-Odo angles and theoretical relation.
Figure 9, verified the relationship between the angles of the Air-Odo and the wind velocities which is shown before in Figure 3 based on theoretical model.Also, this experiment shows that the dynamic range of the Air-Odo design starts from 0.65 m/s to 6 m/s.However, it is not preferred to account for the velocity from Air-Odo after 80 degrees, as the angle increments did not represent the velocities increments.

Outdoor Experiment
This autonomus flight is composed of 21 waypoints as shown in Figure 10, with different velocities varying between 3 and 5 m/s for a total time of 350 s.

Air-Odo/VDM/INS integration
During the outdoor flight, the measuerments of the Air-Odo represents the velocity of the UAV contaminated by any existing wind.To be able to estimate the UAV velocity alone, four intended stops have been carried out during GNSS signal availability.During these stops, the measuerments of the Air-Odo have been collected (which represents the wind velocity only).During GNSS signal outage, the previously collected wind speed measurements are then used to adjust the Air-Odo measuerments in attempt to estimate the UAV velocity only.Figure 12 shows the velocity of the vehicle estimated from the Air-Odo (after removing the effect of wind) compared to the reference velocity of the drone.

Air-Odo/VDM/INS integration
During the outdoor flight, the measuerments of the Air-Odo represents the velocity of the UAV contaminated by any existing wind.To be able to estimate the UAV velocity alone, four intended stops have been carried out during GNSS signal availability.During these stops, the measuerments of the Air-Odo have been collected (which represents the wind velocity only).During GNSS signal outage, the previously collected wind speed measurements are then used to adjust the Air-Odo measuerments in attempt to estimate the UAV velocity only.Figure 12 shows the velocity of the vehicle estimated from the Air-Odo (after removing the effect of wind) compared to the reference velocity of the drone.The previous figure showed that Air-Odo was able to estimate the velocity of the UAV with RMSE of ~0.6 m/s.Also, the figure shows that there are differences between the reference velocity and the estimated velocity in some parts resulting from the existence of wind gust.

•
Proposed approach performance (65 seconds GNSS outage) Figure 13 and Table 1 show the performance of the proposed approach (Air-Odo /INS integration) without the VDM heading update during an artificial GNSS signal loss of 65 sec.
Table 1.This table shows the root mean square error (RMSE) and the max errors for the Air-Odo/INS integration performance during 65 sec of Global Navigation Satellite Systems (GNSS) outage.This experiment showed the ability of the Air-Odo to enhance the navigation solution and bound the drift exhibited by the INS during GNSS signal outage.It also showed that regardless of the large enhancement in the navigation solution, the solution still suffers from heading drift as the heading is not strongly observable during velocity updates.The previous figure showed that Air-Odo was able to estimate the velocity of the UAV with RMSE of ~0.6 m/s.Also, the figure shows that there are differences between the reference velocity and the estimated velocity in some parts resulting from the existence of wind gust.

RMSE Max Error
Proposed approach performance (65 s GNSS outage) Figure 13 and Table 1 show the performance of the proposed approach (Air-Odo /INS integration) without the VDM heading update during an artificial GNSS signal loss of 65 s.This experiment showed the ability of the Air-Odo to enhance the navigation solution and bound the drift exhibited by the INS during GNSS signal outage.It also showed that regardless of the large enhancement in the navigation solution, the solution still suffers from heading drift as the heading is not strongly observable during velocity updates.Figure 14 shows the performance of the Air-Odo for the same period of GNSS outage when adding the VDM as a constraint to heading update.Table 2 and Figure 14 show the effectiveness of utilizing the VDM as heading constraint, in addition to the Air-Odo for velocity estimation.Figure 14 shows the performance of the Air-Odo for the same period of GNSS outage when adding the VDM as a constraint to heading update.Figure 14 shows the performance of the Air-Odo for the same period of GNSS outage when adding the VDM as a constraint to heading update.Table 2 and Figure 14 show the effectiveness of utilizing the VDM as heading constraint, in addition to the Air-Odo for velocity estimation.Table 2 and Figure 14 show the effectiveness of utilizing the VDM as heading constraint, in addition to the Air-Odo for velocity estimation.Performance during long GNSS signal outages.
The performance of the proposed approach is shown in Figure 15 and Table 3, for longer (2 min) of GNSS signal outage.
The performance of the proposed approach is shown in Figure 15 and Table 3, for longer (2 minutes) of GNSS signal outage.Figure 15 clearly show the ability of the proposed approach to bound the drift exhibited by the INS for longer GNSS outage period (125 sec).Also, Figure 16 shows the effect of the wind gust, which causes the UAV to drift in the 4th link.Figure 15 clearly show the ability of the proposed approach to bound the drift exhibited by the INS for longer GNSS outage period (125 s).Also, Figure 16 shows the effect of the wind gust, which causes the UAV to drift in the 4th link.
The performance of the proposed approach is shown in Figure 15 and Table 3, for longer (2 minutes) of GNSS signal outage.Figure 15 clearly show the ability of the proposed approach to bound the drift exhibited by the INS for longer GNSS outage period (125 sec).Also, Figure 16 shows the effect of the wind gust, which causes the UAV to drift in the 4th link.4 shows the performance of the proposed system as an aiding system.
for a 185 seconds GNSS signal outage period.The figure shows the effectiveness of the proposed approach to bound the drift of the INS system, also Table 4 shows the performance of the proposed system as an aiding system.Table 5 provide a summary of the proposed approach during different artificial GNSS signal outages ranging from 60 to 185 seconds.These experiments showed that utilizing the Air-Odo system to estimate the velocity of the drone and VDM to constrain the UAV heading greatly enhanced the navigation performance of the UAV during GNSS signals outages.Although the presence of wind gust caused errors in UAV velocity estimation, but the Air-Odo performance as a velocity update system offers a superior navigation solution when compared to the INS standalone solution during short wind anomolly.Table 5 provide a summary of the proposed approach during different artificial GNSS signal outages ranging from 60 to 185 s.These experiments showed that utilizing the Air-Odo system to estimate the velocity of the drone and VDM to constrain the UAV heading greatly enhanced the navigation performance of the UAV during GNSS signals outages.Although the presence of wind gust caused errors in UAV velocity estimation, but the Air-Odo performance as a velocity update system offers a superior navigation solution when compared to the INS standalone solution during short wind anomolly.

4.
Low-cost INSs, which is typically utilized in small and commercial UAVs, suffer from large drift during the absence of GNSS signals.This paper presented a new approach to enhance the navigation solution during the GNSS signal outage based on Hall effect sensor for velocity estimation "Air-Odo", and a vehicle dynamic model approach for heading constraint (update).The Air-Odo system act as an odometer for flying vehicles.It is composed of a stationary and rotating component (resisting plate).During the quadcopter motion, the air flow resulting from this motion will yield the resisting plate to rotate.According to this rotation, the velocity of the quadcopter is estimated, with the aid of least-square approach in a mathematically driven relation between angles and drone velocities.While the VDM which is the relation between the quadcopter motors; its states are utilized to detect if there is a change in the quadcopter heading.According to the output of this relation, the heading of the drone is constrained to the previous heading state or not.The proposed approach was verified with an indoor experiment (wind tunnel), and outdoor environment experiment through a real flight.Different GNSS signal outages, ranging from 60 to 185 s, were carried out, to prove the ability of the proposed system to aid the navigation of the UAV.The results showed that the navigation system 2D RMSE was enhanced by more than 99% when compared to the INS navigation solution (dead-reckoning mode).Also, the proposed approach considers all the limitations imposed over these kind of drones (small UAVs) from power, weight, size, and computation, as the Air-Odo weight is less than 50 grams with a very low power consumption 150 mW/hr, low-cost (~20 dollars and can be cheaper for mass production).While VDM does not require any additional space, cost, or weight as the feedback from the UAV actuators were utilized.

Patents
Air-Odo was filed as a patent on 6 June 2018.The application number is 62681233.

Figure 2 .
Figure 2. Air-Odo theory of operation, showing the effect of wind on the resisting plate.

Figure 2 .
Figure 2. Air-Odo theory of operation, showing the effect of wind on the resisting plate.

Figure 3 , 18 Figure 3 .
Figure 3, shows the relationship between the Air-Odo angle and drone velocity using random values.The figure clearly shows the ability to estimate the vehicle velocity if the constant shown in Equation (7) is calculated.ISPRS Int.J. Geo-Inf.2019, 8, x FOR PEER REVIEW 5 of 18

Figure 4 .
Figure 4.The quadcopter typically employs two configurations either plus or X.

Figure 3 .
Figure 3. Air-Odo theoretical relationship between angle and velocity.

Figure 4 .
Figure 4.The quadcopter typically employs two configurations either plus or X.

Figure 4 .
Figure 4.The quadcopter typically employs two configurations either plus or X.

Figure 5 .
Figure 5. Proposed approach workflow and Air-Odo/vehicle dynamic model/INS integration, through an EKF scheme.

Figure 6 .
Figure 6.Quadcopter Vehicle dynamic model heading RPMs relation and upper and lower heading constraint threshold.Within the heading constraint limits there is no heading change.

Figure 6 .
Figure 6.Quadcopter Vehicle dynamic model heading RPMs relation and upper and lower heading constraint threshold.Within the heading constraint limits there is no heading change.

Figure 6 .
Figure 6.Quadcopter Vehicle dynamic model heading RPMs relation and upper and lower heading constraint threshold.Within the heading constraint limits there is no heading change.

Figure 7 .
Figure 7. Air-Odo System attached to the top of the quadcopter.

Figure 7 .
Figure 7. Air-Odo System attached to the top of the quadcopter.

18 Figure 8 .
Figure 8. Wind tunnel Air-Odo indoor Experiment to show the relationship between the Air-Odo angles and wind velocity.

Figure 9 .
Figure 9. Experimental relationship between wind velocities and Air-Odo angles and theoretical relation.

Figure 8 .
Figure 8. Wind tunnel Air-Odo indoor Experiment to show the relationship between the Air-Odo angles and wind velocity.

18 Figure 8 .
Figure 8. Wind tunnel Air-Odo indoor Experiment to show the relationship between the Air-Odo angles and wind velocity.

Figure 9 .
Figure 9. Experimental relationship between wind velocities and Air-Odo angles and theoretical relation.

Figure 9 .
Figure 9.Experimental relationship between wind velocities and Air-Odo angles and theoretical relation.

18 Figure 10 .
Figure 10.The trajectory of the quadcopter for the experimental flight.

Figure 11 .
Figure 11.INS standalone navigational solution, showing the massive drift exhibited by the INS when there is no aiding sensor to bound the massive accumulation of errors.

Figure 10 .
Figure 10.The trajectory of the quadcopter for the experimental flight.

Figure 11 .
Figure 11.INS standalone navigational solution, showing the massive drift exhibited by the INS when there is no aiding sensor to bound the massive accumulation of errors.

Figure 11 .
Figure 11.INS standalone navigational solution, showing the massive drift exhibited by the INS when there is no aiding sensor to bound the massive accumulation of errors.

Figure 12 .
Figure 12.Air-Odo velocity estimate (after compensating for existing wind) compared against reference velocity.

Figure 12 .
Figure 12.Air-Odo velocity estimate (after compensating for existing wind) compared against reference velocity.

Figure 13 .
Figure 13.Air-Odo/INS integration performance during 65 seconds of complete GNSS signal outage.

Figure 14 .
Figure 14.Air-Odo/Vehicle Dynamic Model/INS integration performance during 65 of complete GNSS signal outage, Air-Odo for velocity update, and VDM for heading constraint.

Figure 13 .
Figure 13.Air-Odo/INS integration performance during 65 s of complete GNSS signal outage.

Figure 14 .
Figure 14.Air-Odo/Vehicle Dynamic Model/INS integration performance during 65 of complete GNSS signal outage, Air-Odo for velocity update, and VDM for heading constraint.

Figure 14 .
Figure 14.Air-Odo/Vehicle Dynamic Model/INS integration performance during 65 of complete GNSS signal outage, Air-Odo for velocity update, and VDM for heading constraint.

Figure 15 .
Figure 15.Air-Odo/vehicle dynamic model/INS integration performance during 125 seconds of complete GNSS signal outage.

Figure 16 .
Figure 16.Effect of wind gust on Air-Odo/vehicle dynamic model/INS integration and navigational performance.

Figure 15 .
Figure 15.Air-Odo/vehicle dynamic model/INS integration performance during 125 s of complete GNSS signal outage.

Figure 15 .
Figure 15.Air-Odo/vehicle dynamic model/INS integration performance during 125 seconds of complete GNSS signal outage.

Figure 16 .
Figure 16.Effect of wind gust on Air-Odo/vehicle dynamic model/INS integration and navigational performance.

Figure 16 .
Figure 16.Effect of wind gust on Air-Odo/vehicle dynamic model/INS integration and navigational performance.

Figure 17 ,
Figure 17, shows the performance of the UAV navigation system based on Air-Odo and VDM, for a 185 s GNSS signal outage period.The figure shows the effectiveness of the proposed approach to bound the drift of the INS system, also Table4shows the performance of the proposed system as an aiding system.

Figure 17 .
Figure 17.Air-Odo/vehicle dynamic model/INS integration performance during 185 of complete GNSS signal outage.

Figure 17 .
Figure 17.Air-Odo/vehicle dynamic model/INS integration performance during 185 of complete GNSS signal outage.

Table 1 .
This table shows the root mean square error (RMSE) and the max errors for the Air-Odo/INS integration performance during 65 s of Global Navigation Satellite Systems (GNSS) outage.

Table 2 .
This table shows the RMSE and the max errors for the Air-Odo/VDM/INS integration performance during 65 secs of GNSS outage.

Table 2 .
This table shows the RMSE and the max errors for the Air-Odo/VDM/INS integration performance during 65 secs of GNSS outage.

Table 2 .
This table shows the RMSE and the max errors for the Air-Odo/VDM/INS integration performance during 65 s of GNSS outage.

Table 3 .
This table shows the RMSE and the max errors for the Air-Odo/VDM/INS integration performance during 125 secs of GNSS outage.

Table 3 .
This table shows the RMSE and the max errors for the Air-Odo/VDM/INS integration performance during 125 s of GNSS outage.

Table 3 .
This table shows the RMSE and the max errors for the Air-Odo/VDM/INS integration performance during 125 secs of GNSS outage.

Table 4 .
This table shows the RMSE and the max errors for the Air-Odo/VDM/INS integration performance during 185 secs of GNSS outage.

Table 5 .
This table shows the RMSE and the max errors for the Air-Odo/VDM/INS integration performance compared to INS (DR solution) during different GNSS outage periods.

Table 4 .
This table shows the RMSE and the max errors for the Air-Odo/VDM/INS integration performance during 185 s of GNSS outage.

Table 5 .
This table shows the RMSE and the max errors for the Air-Odo/VDM/INS integration performance compared to INS (DR solution) during different GNSS outage periods.