Sensitivity to Time Delays in VDM-Based Navigation

A recently proposed navigation methodology for aerial platforms based on the vehicle dynamic model (VDM) has shown promising results in terms of navigation autonomy. Its practical realization requires that control inputs are related to the same absolute time frame as inertial measurement unit (IMU) data and all other observations when available (e.g., global navigation satellite system (GNSS) position, barometric altitude, etc.). This study analyzes the (non-) tolerances of possible delays in control-input command with respect to navigation performance on a fixed-wing unmanned aerial vehicle (UAV). Multiple simulations using two emulated trajectories based on real flights reveal the vital importance of correct time-tagging of servo data while that of motor data turned out to be tolerable to a considerably large extent.


Introduction
Inertial navigation system/global navigation satellite system (INS/GNSS) integration is currently the dominant navigation system used to provide satisfactory short-term and long-term accuracy for unmanned aerial robots.Problems emerge when outage occurs in GNSS signal reception, which can happen as a result of loss of line of sight with satellites, by suffering interference caused by nearby high-power transmitters or by the electronics on board the unmanned aerial vehicle (UAV) itself, or because of spoofing or intentional jamming.In this situation, the GNSS measurements become either untrustworthy or unavailable and the navigation solution is based only on INS in a dead-reckoning fashion.Its accuracy is directly determined by the quality of the inertial measurement units (IMUs), which has consequently become considerably lower.After only a few seconds of GNSS outage, the position uncertainty for small UAVs using low-cost IMUs goes beyond practical use, in the order of hundreds of meters or more [1].
Recently, there have been some research activities aimed at mitigating the problems of navigation during GNSS outages using vehicle dynamic models (VDM) [1][2][3][4][5].In such navigation systems, the platform dependent dynamic model of the UAV is used in navigation as opposed to the platform-independent approach in INS-based navigation.The VDM is fed by the control input to the UAV and predicts the linear and rotational accelerations.The control input can be provided by different sources, such as the autopilot or the microcontrollers commanding the servos, depending on the architecture of the platform.

Motivation
It would be unrealistic to assume that the control input data are available for the navigation at the exact time they are emitted.In the navigation filter, these data need to be time-tagged to be attributed to a specific execution time, and there is always an inherent delay between subsystems that possess input and output signals.Such delays can be caused by the computational load, buffering mechanism, and signal propagation, to name only a few.Although the source(s) of such delays is not the topic of this study, it is nevertheless considered in the form of incorrect time-tagging of the control input data that is necessary to compute the VDM-based navigation solution.The impact of such time-tagging errors on navigation performance needs therefore to be investigated to confirm the feasibility of (or requirements on) the real-time implementation.To the best of the authors' knowledge, such investigations have never been reported.The goal of this study is to assess quantitatively the influence of imperfect time-tagging on VDM-based navigation performance, and hence understand the limitations that those errors can impose on real implementation.

Proposed Approach
In order to assess the effects of imperfect time-tagging, the control input was artificially corrupted by different time delays along an emulated UAV-trajectory.Then, the position error of autonomous navigation was compared to the case with perfect (unperturbed) time-tagging.The VDM-based navigation system in this research follows from Reference [1].The corruptions were made in a controlled way, and multiple simulations were performed with different noise realizations and then were averaged over all of the runs to gain statistical confidence on the conclusions.
Section 2 covers the background material necessary to describe the principle of the employed VDM-based navigation technique.Section 3 presents the methodology of this study by explaining each step of the simulation process.The findings and discussion are presented in Section 4, and Section 5 presents the conclusion.

VDM (Vehicle Dynamic Model
) is a mathematical model describing the motion dynamics for any particular UAV.At its core, VDM includes an aerodynamic model of forces and moments applied to the flying UAV.Based on that, VDM provides linear and rotational accelerations of the UAV, further used in the navigation.This applies the physical constraints on the motion of the UAV in navigation, and therefore improves the accuracy and reliability.VDM requires no extra sensors with respect to conventional navigation setup.It exploits the knowledge on platform dynamics and the UAV control inputs, which are normally available from the autopilot.Such a free source of information that is not benefited from in conventional navigation systems, is being utilized in VDM-based navigation to estimate trajectory parameters with a higher quality within the already available sensor setup.While the essentials of VDM-based navigation system is presented here shortly, more details can be found in [1].

Frames Definition
Five reference frames considered in this research are: "inertial", "Earth", "local level", "body", and "wind" frames.The inertial frame (x i , y i , z i ) is an Earth centered inertial (ECI) frame, while the Earth frame (x e , y e , z e ) is an Earth centered Earth fixed (ECEF) frame.The local-level frame is oriented in north, east, and down directions denoted by (x l , y l , z l ) or (x N , x E , x D ) with respect to the tangent plane on a reference ellipsoid [6].Definitions of body frame (x b , y b , z b ) and wind frame (x w , y w , z w ) can be perceived from Figure 1.The wind frame has its first axis in the direction of airspeed V, and is defined by two angles with respect to body frame, angle of attack α, and sideslip angle β.The velocity of airflow caused by the UAV's inertial velocity v and wind velocity w is denoted by airspeed vector V as The rotation matrix C w b from body frame to wind frame is defined as a function of angle of attack α and sideslip angle β as where R i denotes the elementary rotation matrix around the i-th axis.

Vehicle Dynamic Model (VDM)
Contrary to References [2][3][4][5], Earth rotation and curvature are considered in this paper as in Reference [1].Quaternions are used for attitude representation instead of Euler angles to avoid singularities.The VDM kinematics is presented in state space form, the model of which is where is the velocity, q l b T = [q 0 , ..., q 4 ] is the attitude, and ) where the skew-symmetric matrix representation of any ω r pq = ω 1 ω 2 ω 3 T vector is represented by Ω r pq as The matrix D −1 in Equation ( 4) is defined as where R P and R M represent the prime vertical radius of curvature and meridian radius of curvature, respectively.The rotation matrix C l b in Equation ( 5) is a function of the quaternion q l b as 2 −q 2 3 2(q 1 q 2 − q 0 q 3 ) 2(q 1 q 3 + q 0 q 2 ) 2(q 1 q 2 + q 0 q 3 ) q 2 0 −q 2 1 +q 2 2 −q 2 3 2(q 2 q 3 − q 0 q 1 ) 2(q 1 q 3 − q 0 q 2 ) 2(q 2 q 3 + q 0 q 1 ) q and g l represents the gravity vector.The ω b lb vector in Equation ( 6) is calculated as where ω l ie and ω l el are defined as follows: The matrix I b in Equation ( 7) denotes the moments of the inertia matrix.The presented model is the general dynamic model for any rigid body affected by external specific force f, external moment M, and Earth gravity g.For a specific type of UAV, fixed-wing for example, an aerodynamic model defines specific force vector f and the moments vector M as follows, with m denoting the mass of the UAV: Thrust, drag, lateral, and lift forces (F T , F w x , F w y , and F w z , respectively) are the four components of aerodynamic forces.Roll, pitch, and yaw moments (M b x , M b y , and M b z , respectively) are the three components of aerodynamic moments.While thrust force (along x b -axis) and all moment components are expressed in body frame, lift, lateral, and drag forces are expressed in wind frame: where b, S, c, and D are geometric measures of the UAV representing wing span, wing surface, mean aerodynamic chord, and propeller diameter, respectively.Air density is denoted by ρ, while q is dynamic pressure defined as ρV 2 /2, and J is defined as V/(Dπn) with n denoting propeller speed.Dimensionless angular velocities are defined as ωx = bω x /(2V), ωy = cω y /(2V), and ωz = bω z /(2V).
The aerodynamic coefficients for the particular UAV at hand are represented by C ... 's, and deflections of aileron, elevator, and rudder are denoted by δ a , δ e , and δ r , respectively.The required inputs for the aerodynamic model are dynamic (navigation) states, wind velocity, control inputs, and physical parameters of the UAV.As depicted schematically in Figure 1, the UAV type considered in this paper has a single propeller, as well as aileron, elevator, and rudder control surfaces.The aerodynamic model for this UAV type is borrowed from Reference [8], while adapting the physical parameters.

Navigation System
In the proposed navigation system, the VDM serves as the main process model within the filter.A standard extended Kalman filter (EKF) [9] is chosen in this paper to estimate corrections to the states (∆X) and the associated covariance matrix (P).More detailed description of process models, observation models, and their linearization for proposed VDM-based navigation can be found in Reference [1].
As depicted in Figure 2, the VDM provides the navigation solution (X n ), which gets updated as a part of the augmented state vector X (introduced in Equation (23) based on the available observations.Since IMU data are treated as observations, in case of an IMU failure, the navigation system stops using IMU data and provides the navigation solution using only the VDM and other available observations.Observations from other sensors such as the airspeed sensor, optic flow sensor, and magnetometer can also be integrated within the navigation system.
The VDM is fed with the control input (U) to the UAV as commanded by the autopilot and therefore is always available.Wind velocity (X w ) is also required, which can be estimated within the navigation system, even in the absence of airspeed sensors, which is the case here [10].The required VDM parameters (X p ) can be pre-calibrated and used as fixed values in the navigation system or estimated in-flight/refined from them.The latter option is implemented to increase flexibility and accuracy of the proposed approach while minimizing design effort.
The augmented state vector X includes navigation states X n , VDM parameters X p , and wind velocity components Mass (m) and moments of inertia I b are excluded from X p since they appear as scaling factors in the model, which means they are completely correlated with the already included aerodynamic coefficients [1].Geometric measures are also excluded, because they can be determined a priori with much lower uncertainty compared to aerodynamic coefficients.If IMU data are available, their error, such as their biases, can also be included within the augmented states vector [1].

Methodology
The control input (U), as depicted in Figure 2, is fed to the VDM.In an ideal real-time implementation, the control input data should be read directly from the microcontroller that commands those inputs.For the platform used in this research, the actuators include two servos for the ailerons, one servo for the rudder, one servo for the elevator, and one motor to spin the propeller.The control input (U) is the 5 × 1 vector of the commands setting the defection of aileron (the two combined in a differential manner), elevator, and rudder, as well as the rotational speed of the propeller.In most systems, the control commands can only be accessed from the on-board computer that hosts the autopilot.The latter time-tags the data with its own system time.The data time-tagging operation requires its own processing time and depending on the system computational load, some delays can be expected between the time a control command is emitted t emi 0 and the time when it is time-tagged t tag 0 .This is illustrated in Figure 3.In order to assess the influence of imperfections in data time-tagging on the performance of VDM-based navigation, a simulation scenario was setup.The steps of this simulation are depicted in Figure 4 and are detailed as follows:

Delay Control command period
Reference Flight

Reference and Flight Simulation
The UAV used for this study is a custom made airplane equipped with the open-source autopilot Pixhawk [11].Its operational weight is around 2.5 kg, depending on the payload, and nominal airspeed is around 15 m/s.The geometrical details of the platform are given in Reference [1].The navigation sensors include a MEMS IMU called Navchip [12] on a custom board with a barometer.A geodetic grade GNSS receiver is on board, capable of working in real time kinematic (RTK) mode, although only the stand-alone solution is used in navigation.The sampling frequencies are 100 Hz for the IMU, 10 Hz for the barometer, and 1 Hz for the stand-alone GNSS position and velocity data.
To obtain a realistic stochastic model for IMU errors, an in-house identification was performed, using the novel approach of generalized method of wavelet moments (GMWM) [13].A summary of the IMU error parameters from the GMWM analysis is provided in Table 1.GNSS position and velocity errors are considered as Gaussian white noise with σ = 1 m and σ = 0.03 m/s, respectively, for each horizontal channel and σ = 2 m and σ = 0.04 m/s for the vertical channel.The error in barometric altitude data is also considered as a Gaussian white noise with σ = 0.5 m.This noise level is determined based on experimental data when barometer output was compared to post processed cm-level GNSS position as the reference.Two flights were considered, reference trajectories of which are shown in Figure 5.The first flight, denoted as Flight 1 hereinafter, lasted 425 s; while the second flight, hereinafter referred to as Flight 2, lasted 272 s.Both flights were performed using the custom fixed-wing UAV introduced in Section 3.1.PPK (PPK = Post-Processed Kinematic = carrier-phase differential GNSS) GNSS solution with cm-level accuracy was used to generate way points to emulate the flights in the simulations.
Once the way points were generated from real flight data, the flights were simulated using the model described in Section 2.2, and corresponding error-free sensor data (IMU, GNSS, and barometer) were emulated, as were the control commands.Sensor errors were added to the emulated data afterwards according to the description in Table 1.As this study aims to assess the effects of time-tagging errors in the control input only, emulated sensor readings were introduced to avoid mixing the effects with additional errors.

Time-Tagging Errors
At this point, the time-tagging of control input data was corrupted by adding some stochastic delay to simulate a realistic case.The nature of such delay in real cases depends on the internal properties of the system and is not known exactly.In this study, time delays of control command d cc were modeled as the sum of a constant bias b and a positive random delay w as where w ∼ N (0, σ 2 ).The impact of time-tagging on errors in VDM-based navigation was studied for different values of b and σ.The control commands were separated into two groups: those related to motor propeller speed (rpm) and to the servos (for aileron, elevator, and rudder).The servo and motor rpm commands were assumed to be accessible at 10 Hz, which is the case on the employed UAV.The ideal time-tagging of the data was corrupted by delay d cc for each data set separately.The meaning of the emitted and tagged times is illustrated in Figure 3.
The navigation and filtering in the simulation was set to 100 Hz, but it also ran every time a new control input (with corrupted time-tagging) was available in the process.This guarantees that no additional delay was introduced by the processing scheme as a result of buffering.

VDM-Based Navigation
When the motor and servo time-tagging was corrupted for a particular fixed delay and absolute noise error level, VDM-based navigation was performed on the data.For both flights, 3 min long GNSS outage was considered before the trajectory ended.Maximum position errors were saved for each run with the same added timing error characteristics .For this research, there were 15 runs for every combination of fixed and random delays, each with a different noise realization.

Results and Discussion
This section analyzes the influence of time-tagging errors on VDM-based navigation for the two trajectories presented in Section 3.1.
First, VDM-based navigation with 3 min of GNSS outage without any time-tagging error was performed as the reference and presented as the solid line in Figure 5.Then, cases with different levels of delays were simulated separately for motor and servo commands.The corresponding maximum error in position at the end of 3 minute long autonomous navigation was 83 m for Flight 1 and 42 m for Flight 2. It can be observed that the autonomous VDM-based navigation solution drifted somewhat in both flights, though the resulting trajectory still qualitatively followed the reference one.INS-based navigation was not able to produce a result with nearly as competitive a result for the same level of noise in the inertial data.

Motor Data Time-Tagging Errors
The investigated motor data time-tagging errors range from 0 to 300 ms of fixed delay plus a random noise delay of standard deviation from 0 to 100 ms.The considered values are presented in Table 2. Figure 6 depicts the average of the maximum position error for all runs.The max. error in position for all runs for the larger fixed delay considered (300 ms) are presented as a box-plot In each box, the central mark indicates the median of all runs, and the bottom and top edges of the box indicate the 25th and 75th percentiles, respectively.The motor time-tagging errors seem not to introduce a noticeable deterioration of VDM-based navigation performance compared to the case with perfect time-tagging.A possible reason is the slow dynamic response of the UAV to the propeller speed, which creates the relatively small time-tagging errors (with respect to associated dynamic modes of the UAV) causing very little impact on navigation.Indeed, the absence of wind in the simulation and the nominal and almost constant velocity of the platform during both trajectories imply a very low dynamic in the change of propeller speed, simplifying the model.Larger errors in position are expected if those two conditions are different, i.e., wind is present or added in the simulation and the platform changes its velocity during the flight.

Servos Data Time-Tagging Errors
Considering the high sensitivity of UAV dynamic response to servo data time-tagging errors, the chosen fixed delay and random noise standard deviation were limited within a range from 0 to 20 ms as shown in Table 3.The effect of those errors on max.error in position is plotted in Figure 7.The error growth in position is noticeable when time-tagging error of servo data increases.It is interesting to notice that the evolution of the errors with random delay follows a different trend per fixed delay.This may be due to relatively low number of runs per each (of many) combination.Despite larger delays also being tested, these are not presented as to stay with the main objective: identifying the main tendency of position error growth.A fixed delay of only 10 ms increases the max.error in position more than three times, even with no random delay.This reveals the importance of proper time-tagging of control input data for VDM-based navigation.Figure 8 shows the VDM-based navigation solution both with an introduced fixed and random (standard deviation) delay of 10 ms in the servo data for a particular run.The maximum position error during a GNSS outage for both flights is around 300 m, i.e., about three times larger than the nominal scenario, although the trajectory dependency of dead reckoning methods makes the direct comparison between trajectories less relevant.Note that the magnitude of vertical errors are limited by the barometer measurements.In addition, as explained in Section 2.3, there is an in-flight refinement of the VDM parameters when GNSS data are available.Flight 1 lasted 152 s longer than Flight 2 and experienced more dynamic maneuvers, therefore it is reasonable to expect a finer estimation of the VDM parameters resulting in a slightly better performance in autonomous navigation.
Simulations were also performed combining time-tagging errors for both motor and servo data.However, when compared with servo errors only, the difference with the addition of time-tagging errors for the motor input was almost negligible.Therefore, these results are not presented.

Conclusions and Perspectives
This investigation assessed the influence of time-tagging errors in control input on VDM-based navigation of a fixed-wing UAV.
Two real flights were used to emulate sensor and control input data.The time-tagging of the latter was then corrupted by a combination of fixed (bias) and random (noise) delays and the effects analyzed via averaged simulations.Thereafter, the performance of VDM-based navigation was represented by the maximum position error after 3 min of GNSS outage.For both trajectories, time-tagging errors in the motor data were observed to have negligible influence on the maximum position error for all fixed and random delays considered.On the other hand, the impact of time-tagging errors in the servo data was indisputably higher.A rapid growth in the position error was observed even for delays as small as ten of milliseconds.
The results for both flights reveal a correlation with the trajectory characteristics, which is generally relevant for both kinematic as well as dynamic-based modeling.Therefore, maximum position error is not necessarily the most pertinent criterion to assess the performance of the VDM-based navigation solution.Nevertheless, it provides a bulk estimation for the engineering requirements on time-tagging realization in fixed-wing UAVs.
Further experiments could be run on rotary-wing UAVs.The influence of the motor time-tagging error for rotary-wings is expected to be more pronounced, as the speeds of propellers are the only control input for such platforms and directly affect both translation and rotational dynamics.

Figure 1 .
Figure 1.Local level, body, and wind frames with airspeed V, wind velocity w, and unmanned aerial vehicle (UAV) velocity v [1].

Figure 3 .
Figure 3. Time-tagging of the emitted control commands with delays.

Figure 4 .
Figure 4. Flowchart of simulations to assess effect of time-tagging errors.

Figure 5 .
Figure 5. Reference trajectory and navigation solution with perfect time-tagging.

Figure 6 .
Figure 6.Maximum position error averaged over all runs with motor time-tagging errors.

Figure 7 .
Figure 7. Maximum position error averaged over all runs with servo time-tagging errors.

Figure 8 .
Figure 8. Reference trajectory and navigation solution with sample servos time-tagging error.

Table 2 .
Fixed and random delays for motor data.

Table 3 .
Fixed and random delays for servos data.