Autonomous and non-autonomous dynamic model based navigation system for unmanned vehicles
09978285 ยท 2018-05-22
Assignee
Inventors
Cpc classification
G05D1/0088
PHYSICS
International classification
G05D1/10
PHYSICS
G05D1/00
PHYSICS
Abstract
A navigation system including a vehicle dynamic model (VDM) that serves as the main process model within a navigation filter is described. When used in an unmanned aerial vehicle (UAV), the navigation system may work in communication with inertial measurement units (IMUs) and environment dependent sensors such as GNSS receivers. Particularly, the navigation system is beneficial in the case of GNSS signal reception outages, where conventional IMU coasting drifts quickly. Yet, the navigation system may also be employed in other scenarios, for example during GNSS presence for improved positioning, velocity and attitude determination, or in combination with GNSS when no IMU is available by design or due to a failure. In the navigation system, a solution to VDM equations provides an estimate of position, velocity, and attitude, which can be updated within a navigation filter based on available observations, such as IMU data or GNSS measurements.
Claims
1. A navigation platform for autonomous and non-autonomous navigation of an unmanned aerial vehicle, comprising: an inertial measurement unit providing inertial measurements data; a global navigation satellite system device providing at least one of position measurement data, velocity measurement data, or receiver to satellite distance related measurements; at least one of an autopilot or a manual control device providing data of control input to actuators of the unmanned aerial vehicle; and a navigation system including: a self-calibrating vehicle dynamic model component providing linear and rotational accelerations of the unmanned aerial vehicle utilizing control input and previously estimated velocity and attitude, and a navigation filter using the vehicle dynamic model component as a main navigation process model for navigation of the unmanned aerial vehicle, the navigation filter receiving the data of control input to actuators of the unmanned aerial vehicle from the autopilot or the manual control device, the navigation filter receiving the inertial navigation data from the inertial measurement unit and updating an output of the vehicle dynamic model component with at least a portion of the inertial navigation data, the navigation filter receiving the at least one of position or velocity measurement data from the global navigation satellite system device when available and updating the output of the vehicle dynamic model component with the at least one of position or velocity measurement data when available, the navigation filter estimating position, velocity, attitude, and attitude rates of the unmanned aerial vehicle, the navigation filter estimating vehicle dynamic model parameters to calibrate the vehicle dynamic model component, the navigation filter estimating a wind velocity vector to provide the wind velocity to the vehicle dynamic model component, and the navigation filter estimating and compensating for errors in the inertial measurement unit.
2. The navigation platform of claim 1, further comprising at least one autonomous aiding device that provides navigation related data and wherein the navigation filter receives the navigation related data from the at least one autonomous aiding device and updates the output of the vehicle dynamic model component with at least a portion of the navigation related data.
3. The navigation platform of claim 1, further comprising at least one environment dependent aiding device that provides navigation related data, and wherein the navigation filter receives the navigation related data from the at least one environment dependent aiding device and updates the output of the vehicle dynamic model component with at least a portion of the navigation related data.
4. The navigation platform of claim 2, wherein the at least one autonomous aiding device includes at least one of a barometric altimeter, a magnetometer, or a speed sensor.
5. The navigation platform of claim 1, wherein the navigation system further includes at least one of a wind model and an inertial measurement unit error model, and wherein the navigation filter estimates the wind velocity using data provided by at least one of the wind model and the inertial measurement unit error model.
6. The navigation platform of claim 3, wherein the at least one environment dependent aiding device includes at least one of a radio frequency ranging device, a vision based sensor, an ultrasound sensor, or an optical flow sensor.
7. The navigation platform of claim 1, wherein the unmanned aerial vehicle is selected from the group consisting of a fixed-wing unmanned aerial vehicle and a rotary-wing unmanned aerial vehicle.
8. A navigation platform for autonomous and non-autonomous navigation of an unmanned aerial vehicle, comprising: an inertial measurement unit providing inertial navigation data; at least one of an autopilot or a manual control device providing data of control input to actuators of the unmanned aerial vehicle; and a navigation system including: a self-calibrating vehicle dynamic model component providing linear and rotational accelerations of the unmanned aerial vehicle utilizing control input and previously estimated velocity and attitude, and a navigation filter using the vehicle dynamic model component as a main navigation process model for navigation of the unmanned aerial vehicle, the navigation filter receiving the data of control input to actuators of the unmanned aerial vehicle from at least one of the autopilot or the manual control device, the navigation filter receiving the inertial navigation data from the inertial measurement unit and updating an output of the vehicle dynamic model component with at least a portion of the inertial navigation data, the navigation filter estimating position, velocity, attitude, and attitude rates of the unmanned aerial vehicle, the navigation filter estimating vehicle dynamic model parameters to calibrate the vehicle dynamic model component, the navigation filter estimating a wind velocity vector to provide the wind velocity to the vehicle dynamic model component, and the navigation filter estimating and compensating for errors in the inertial measurement unit.
9. The navigation platform of claim 8, further comprising at least one autonomous aiding device that provides navigation related data, and wherein the navigation filter receives the navigation related data from the at least one autonomous aiding device and updates the output of the vehicle dynamic model component with at least a portion of the navigation related data.
10. The navigation platform of claim 8, further comprising at least one environment dependent aiding device that provides navigation related data, and wherein the navigation filter receives the navigation related data from the at least one environment dependent aiding device and updates the output of the vehicle dynamic model component with at least a portion of the navigation related data.
11. The navigation platform of claim 9, wherein the at least one autonomous aiding device includes at least one of a barometric altimeter, a magnetometer, or a speed sensor.
12. The navigation platform of claim 8, wherein the navigation system further includes at least one of a wind model and an inertial measurement unit error model, and wherein the navigation filter estimates the wind velocity using data provided by at least one of the wind model and the inertial measurement unit error model.
13. The navigation platform of claim 10, wherein the at least one environment dependent aiding device including at least one of a radio frequency ranging device, a vision based sensor, an ultrasound sensor, or an optical flow sensor.
14. The navigation platform of claim 8, wherein the unmanned aerial vehicle is selected from the group consisting of a fixed-wing unmanned aerial vehicle and a rotary-wing unmanned aerial vehicle.
15. A navigation platform for autonomous and non-autonomous navigation of an unmanned aerial vehicle, comprising: a global navigation satellite system device providing at least one of position measurement data, velocity measurement data, or receiver to satellite distance related measurements; at least one of an autopilot or a manual control device providing data of control input to actuators of the unmanned aerial vehicle, the data of control input to actuators of the unmanned aerial vehicle; and a navigation system including: a self-calibrating vehicle dynamic model component providing linear and rotational accelerations of the unmanned aerial vehicle utilizing control input and previously estimated velocity and attitude, and a navigation filter using the vehicle dynamic model component as a main navigation process model for navigation of the unmanned aerial vehicle, the navigation filter receiving the data of control input to actuators of the unmanned aerial vehicle from at least one of the autopilot or the manual control device, the navigation filter receiving the at least one of position or velocity measurement data from the global navigation satellite system device when available and updating the output of the vehicle dynamic model component with the at least one of position or velocity measurement data when available, the navigation filter estimating position, velocity, attitude, and attitude rates of the unmanned aerial vehicle, the navigation filter estimating vehicle dynamic model parameters to calibrate the vehicle dynamic model component, and the navigation filter estimating a wind velocity vector to provide the wind velocity to the vehicle dynamic model component.
16. The navigation platform of claim 15, further comprising at least one autonomous aiding device that provides navigation related data, and wherein the navigation filter receives the navigation related data from the at least one autonomous aiding device and updates the output of the vehicle dynamic model component with at least a portion of the navigation related data.
17. The navigation platform of claim 15, further comprising at least one environment dependent aiding device that provides navigation related data and wherein the navigation filter receives the navigation related data from the at least one environment dependent aiding device and updates the output of the vehicle dynamic model component with at least a portion of the navigation related data.
18. The navigation platform of claim 17, wherein the at least one autonomous aiding device includes at least one of a barometric altimeter, a magnetometer, or a speed sensor the radio frequency ranging device is a global navigation satellite system.
19. The navigation platform of claim 15, wherein the navigation system further includes at least one of a wind model and an inertial measurement unit error model, and wherein the navigation filter estimates the wind velocity using data provided by at least one of the wind model and the inertial measurement unit error model.
20. The navigation platform of claim 17, wherein the at least one environment dependent aiding device including at least one of a radio frequency ranging device, a vision based sensor, an ultrasound sensor, or an optical flow sensor.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) Embodiments of devices, systems, and methods are illustrated in the figures of the accompanying drawings, which are meant to be exemplary and non-limiting, in which like references are intended to refer to like or corresponding parts, and in which:
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
(15)
(16)
(17)
(18)
(19)
(20)
DETAILED DESCRIPTION
(21) The present disclosure provides systems, methods, and devices for increasing the accuracy and reliability of autonomous navigation of UAVs by employing a VDM as a main process model for navigation. The VDM may use input from autonomous sensors and environment dependent sensors. Autonomous sensors provide data regardless of environmental features and conditions such as texture, visibility, or signal reception condition. Illustrative autonomous sensors include IMUs, pressure sensors, and the like. On the other hand, environment dependent sensors provide data dependent upon environment features and conditions such as texture, visibility, or signal reception condition. Illustrative environment dependent sensors include radio frequency (RF) ranging sensors, GNSS receivers, and vision based sensors, and the like.
(22)
(23)
(24)
(25) The autopilot 202 may include a guidance system 204 and a controller 206. In an example, data from the guidance system 204 passes through the controller 206 and is fed to the actuator(s) 208 and navigation system 108. In another example, the manual control 210 data is directly fed to the actuator(s) 208 and navigation system 108. In a further example, the manual control 210 data passes through the controller 206 (e.g., for stabilization of the UAV) and is fed to the actuator(s) 208 and navigation system 108, regardless of the guidance system 204 data.
(26) Time stamping of the autopilot 202 or manual control 210 data may be handled inside the respective devices or externally (e.g., by the time stamper 106). While it is illustrated that a single external time stamper 106 stamps all data transmitted to the navigation system 108, it should be appreciated that more than one external time stamper 106 may be used. For example, each data source may have its own dedicated, external time stamper, the sensors 102/104 may have one dedicated time stamper while all other data sources may have a separate dedicated time stamper, etc.
(27) Depending on the specific sensors used by the navigation platform 200 (i.e., implemented on the UAV), there may be certain requirements on the hardware usable within the navigation platform 200. For example, the autopilot/control unit 202 data output to the actuator(s) 208 (i.e., the control input to the navigation platform 200) may need to be accessible by the navigation system 108 (since this information is used by the VDM 212) and time-stamped with respect to other sensory data. For autonomous navigation, an IMU autonomous sensor 102 is usually a minimum sensor setup concern. However, it is possible for the navigation platform 200 to work without an IMU autonomous sensor 102, but a GNSS receiver environment dependent sensor 104 or other sensor setup allowing 3D position fixes may be required for desired results. Since an IMU autonomous sensor 102 is almost always used within a navigation platform for UAVs, omission of the IMU autonomous sensor 102 from the platform may be most beneficial as a backup solution in case of IMU autonomous sensor 102 failure, thereby increasing the reliability of the whole navigation platform. It may be desirable to properly reference the control input and the data from all the sensors to a common time scale in order for the control input and sensor data to be used within the navigation system 108. This may require a hardware/software time stamper 106 to perform data tagging with respect to a common time reference. Depending on the configuration of the sensors 102/104, a partial synchronization may be performed in other manners. For example, in the situation where both an IMU autonomous sensor 102 and a GNSS receiver environment dependent sensor 104 are available, there may be a connection between them in which the GNSS receiver environment dependent sensor 104 time frame is used to tag IMU autonomous sensor 102 data. A synchronization unit may also be available within the control unit 202.
Navigation System Frames
(28) Five frames may be used within the navigation system 108.
(29) An inertial frame (i-frame) is a non-accelerating and non-rotating reference frame that is at rest or subject to a uniform translational motion. In such a frame, the laws of Newtonian mechanics are valid. An i-frame is a celestial frame with an origin at the center of mass of Earth, such that an x.sub.i-axis of the i-frame points towards the vernal equinox and, thus, is the intersection line between the equatorial and the ecliptic plane. A z.sub.i-axis of the i-frame points towards the mean celestial pole, and a y.sub.i-axis of the i-frame completes the system to a 3D right-handed Cartesian system.
(30) An earth frame (e-frame) is an equatorial frame with an origin at the center of mass of Earth, such that an x.sub.e-axis of the e-frame points towards the Greenwich meridian, a z.sub.e-axis of the e-frame points towards the mean direction of the rotation axis of Earth, and a y.sub.e-axis of the e-frame completes the system to a 3D right-handed Cartesian system. The e-frame is therefore an Earth Centered Earth Fixed (ECEF) frame. Examples of e-frames include the International Terrestrial Reference Frame (ITRF) and the World Geodetic System WGS-84, which is the reference frame of the American Global Positioning System (GPS). When an ellipsoid of reference is associated with the frame, as in the WGS-84 datum, any point in the e-frame can be expressed either in Cartesian coordinates (x.sub.e,y.sub.e,z.sub.e) or ellipsoidal coordinates (,,h) with being the latitude, being the longitude, and h being the ellipsoidal height.
(31) A local-level frame (l-frame) is a local geodetic frame with an arbitrary origin, for example a point on Earth's surface (i.e., topocenter). An illustrative l-frame is a North-East-Down (NED) frame, which has a x.sub.l-axis that points North, a y.sub.l-axis that points East, and a z.sub.l-axis that points to the local nadir (i.e., down).
(32) A NED frame is right-handed. The nadir direction of a point is defined by its astronomical latitude and astronomical longitude, respectively noted and . If the astronomical coordinates are replaced by the ellipsoidal latitude and longitude , the z.sub.l-axis corresponds to the ellipsoidal normal, while the north direction is the tangent of the ellipsoid meridian. For the purpose of navigation, the difference between astronomical and ellipsoidal local-level frames can be neglected. The resulting frame may be referred to as an ellipsoidal tangential frame rather than a local-level frame. For purposes of the present disclosure, local-level frame, local frame, or l-frame refer to the ellipsoidal NED frame, and latitude and longitude refer to ellipsoidal quantities rather than astronomical quantities.
(33) A body frame (b-frame) is a frame attached to the body of the UAV. The b-frame may have Cartesian coordinates (x.sub.b,y.sub.b,z.sub.b). The forward or longitudinal direction of the UAV may be denoted the x.sub.b-axis, while the y.sub.b-axis points towards right and the z.sub.b-axis is downward. A rotation matrix to transform vectors from a l-frame to a b-frame is represented by Equation 1 below when Euler angles are used to express the attitude.
(34)
(35) The Euler angles within Equation 1 are roll (r), pitch (p), and yaw (y). Euler angles exhibit a singularity at p=/2, therefore alternative ways may be employed to express the attitude, such as quaternions.
(36) A l-frame, b-frame, and wind frame (w-frame) are described with reference to
(37) Equation 2 represents a UAV's inertial velocity and wind velocity via airspeed.
v=V+w(Equation 2)
(38) Equation 3 results when Equation 2 is applied to a body frame.
(39)
(40) Equation 4 represents a rotation matrix to from a body frame to a wind frame.
(41)
(42) Equation 5 represents the airspeed magnitude, the attack angle attack, the sideslip angle, and the dynamic pressure. The latter may be used to express aerodynamic forces and moments.
(43)
Vehicle Dynamic Model
(44) The Vehicle Dynamic Model (VDM) of the present disclosure is a mathematical model that describes the dynamics of motion for the UAV. In order to establish the VDM, the frames in which the dynamic states are measured and the frames in which the dynamic states are resolved should be chosen. The dynamic states include position, velocity, attitude, and rotation rate (angular velocity) vectors. There are many possibilities for these choices. However, all of them carry the same amount of information and are just different representations of the same quantity. Dynamic states are represented in Equation 6.
(45)
(46) The position vector (r.sub.e.sup.l=[,,h].sup.T) represents a position of the UAV (i.e., position of body frame origin) in the earth frame and in ellipsoidal coordinates. The velocity vector (v.sub.e.sup.l=[v.sub.N,v.sub.E,v.sub.D].sup.T) represents a velocity of the UAV as observed in the earth frame and expressed in the local (NED) frame. The q.sub.b.sup.l quaternion (q.sub.b.sup.l=[q.sub.0,q.sub.1,q.sub.2,q.sub.3].sup.T) represents an orientation of the UAV body frame with respect to the local frame. The angular velocity vector (.sub.ib.sup.b=[.sub.x,.sub.y,.sub.z].sup.T) represents an angular velocity (i.e., rotation rate) of the body frame with respect to the inertial frame, expressed in the body frame. The attitude can be represented in many different ways, such as Euler angles, rotation matrix elements, and quaternions.
(47) The VDM can be represented by Equations 7-10.
(48)
(49) In Equation 7, the D.sup.1 matrix may be represented by Equation 11.
(50)
(51) R.sub.M and R.sub.P represent a meridian radius of curvature and a prime vertical radius of curvature, respectively. The meridian radius of curvature R.sub.M is represented by Equation 12 and the prime vertical radius of curvature R.sub.P is represented by Equation 13.
(52)
(53) In Equation 8, the rotation matrix C.sub.b.sup.l can be expressed as a function of quaternion q.sub.b.sup.l, as represented by Equation 14.
(54)
(55) Angular velocity vectors .sub.ie.sup.l and .sub.el.sup.l are represented by Equations 15 and 16 respectively, with .sub.il.sup.l simply being the sum of Equations 15 and 16 (i.e., .sub.il.sup.l=.sub.ie.sup.l+.sub.el.sup.l)).
.sub.ie.sup.l=[.sub.ie cos 0 .sub.ie sin ].sup.T(Equation 15)
.sub.el.sup.l=[{dot over ()} cos {dot over ()} {dot over ()} sin ].sup.T(Equation 16)
(56) The gravity vector g.sup.l of Equation 8 can be determined using a gravity model for the ellipsoidal local frame. The gravity vector g.sup.l can even be considered as a constant, depending on the application and expected accuracy.
(57) In Equation 9, the symbol {circle around (x)} represents a quaternion product, which is represented by Equation 17.
(58)
(59) The Vehicle Dynamic Model (VDM) (as represented by Equations 7-10) may be used for any rigid body in arbitrary motion in 3D space affected by Earth gravity, external specific force f, and external moment M. Completing the model for a specific type of vehicle (e.g., a fixed wing UAV) may require proper aerodynamic models for f and M, which can be a function of dynamic states, control inputs, and physical parameters of the UAV. Physical parameters can be different for each UAV.
Navigation Filter
(60) The navigation system 108 can employ at least one of various types of estimators, such as Kalman filters, particle filters, etc. As described, the navigation system 108 includes the VDM 212 as its main model to predict navigation states of the platform. This is done, for example, by using the VDM 212 as the process model in an extended Kalman filter (EKF). As also described herein above, the VDM 212 received data from a control input (i.e., from the autopilot 202 and/or the manual control 210). It may also be beneficial to feed wind velocity data to the VDM, which can be provided by either sensory data (e.g., autonomous pressure sensors), or estimated within the navigation system 108 itself. It may further be beneficial to provide values of some physical parameters of the platform to the VDM, such as mass, moments of inertia, aerodynamic coefficients or the like. The navigation system 108 may be capable of calibrating these values online (i.e., during navigation). An adequate prior knowledge on these values can make the calibration process faster and more accurate. The navigation system 108 may fuse available sensory data with VDM prediction data to produce the final navigation solution 110.
(61) Employing the VDM as described herein brings an extra source of information into the navigation system 108 as compared to conventional navigation methods that rely only on the autonomous sensor(s) 102 and/or environment dependent sensor(s) 104. Thus, a better navigation performance results from the teachings of the present disclosure as compared to traditional methodology. The VDM reflects physical constraints on dynamic behavior of the platform, thereby removing, to some extent, physically impossible motions suggested by sensors due to their errors.
(62) Some auxiliary states may be estimated within the navigation system 108. While the auxiliary states may not be of interest from a navigation point of view, they may be needed for the navigation system 108 to function properly or with higher performance. Illustrative auxiliary states include wind velocity and some physical parameters of the platform, for example. Some part of the sensor errors (e.g., IMU bias terms) may be estimated within the navigation filter. Actuator(s) error is another possible auxiliary state to be estimated within the navigation filter. The estimated auxiliary states can be employed within the navigation filter to remove a portion of the sensor errors, thereby improving navigation performance.
Example: Fixed-Wing, Single Propeller UAV
(63) The following description involves the aforementioned teachings of the present disclosure being applied to a fixed-wing UAV embodiment. For purposes of clarity only, it may be assumed that the fixed-wing UAV includes an IMU autonomous sensor 102 and a stand-alone GNSS receiver environment dependent sensor 104. Since such limitation of sensors is only for clarity, it should be appreciated that other sensors may be present, even though not explicitly described. An Extended Kalman Filter (EKF) may be in charge of data fusion for the navigation system 108 to estimate navigation states, as well as dynamic model parameters, IMU error, and wind velocity.
Aerodynamic Forces
(64)
(65) The thrust force may be represented by Equation 18, wherein is the air density, n is the propeller speed, D is the propeller diameter, and C.sub.F.sub.
(66)
(67) The lift force may be represented by Equation 20, wherein
F.sub.z.sup.w=
C.sub.F.sub.
(68) The lateral force may be represented by Equation 22, with C.sub.F.sub.
F.sub.y.sup.w=
C.sub.F.sub.
(69) The drag force may be represented by Equation 24, with C.sub.F.sub.
F.sub.x.sup.w=
C.sub.F.sub.
(70) The specific force vector f, represented by Equation 26 below, is composed of these four components (i.e., the thrust force, lift force, lateral force, and drag force) divided by the mass of the UAV being used.
(71)
Aerodynamic Moments
(72) In addition to aerodynamic forces, three components of aerodynamic moments are also recognizable in the VDM of the present disclosure. These components of aerodynamic moments include a roll moment, pitch moment, and yaw moment.
(73) The roll moment is represented by Equation 27, wherein b is the wing span of the UAV being used. {tilde over ()}.sub.x within Equation 27 is represented by Equation 28. C.sub.M.sub.
(74)
(75) The Pitch moment is represented by Equation 30, wherein
M.sub.y.sup.b=
C.sub.M.sub.
(76) The Yaw moment is represented by Equation 32. C.sub.M.sub.
M.sub.z.sup.b=
C.sub.M.sub.
(77) A moments vector M is composed of these three components (i.e., the roll moment, the pitch moment, and the yaw moment), and is represented by Equation 34.
(78)
(79) Equations 7-10 together with Equations 26-34 form the VDM for the sample fixed-wing, single propeller UAV 400 of
(80)
Air Density Model
(81) Depending on accuracy requirements and fidelity of modeling, the air density may be considered as a constant or as a function of local pressure and temperature according to a suitable model for the particular UAV being used. Local pressure and temperature can be expressed as functions of the altitude. According to the International Standard Atmosphere model for low altitude, for example, the air density can be represented by Equation 36.
(82)
Navigation System
(83) An extended Kalman filter may be chosen to serve as the navigation filter implemented within the navigation system 108. The navigation system 108 of the present disclosure utilizes the VDM 212 as the main process model within a differential navigation filter. As illustrated in
State Space Augmentation
(84) Referring to
(85) The parameters used in the VDM 212 reflect the physical properties of the UAV. The parameters are typically constant, or change very slowly. However, the parameters' constant values may not be known initially (e.g., for a new UAV) with sufficient certainty. A static model may be used for the parameters within the navigation filter 502. The parameters vector related to the VDM contains most of the parameters used in the overall UAV dynamic modeling. The parameters used in the VDM, but not included in the augmented states, are related to the environment rather than the platform, which are known with a sufficient level of certainty. Gravity acceleration is an example of one of those parameters. Also, the mass and the moments of inertia of the UAV are not included in this vector, since they appear as scaling factors in the equations of motion and therefore they are completely correlated with the already included coefficients of aerodynamic forces and moments. The dynamic model parameters are ordered in a 261 vector and associated with a static process model as represented by Equations 37 and 38.
(86)
{dot over (X)}.sub.p=[0].sub.261.(Equation 38)
(87) White noise is not considered for purposes of this disclosure, due to the fact that the parameters are expected to be constant over time, hence the static model holds with high certainty. However, since the initial values of the parameters generally have imperfections, an initial uncertainty is considered for them.
(88) The error in each accelerometer or gyroscope inside the autonomous IMU sensor 102 may be modeled as a random walk (b.sub.rw .sup.. . . ) process. Therefore, an IMU error terms vector may be represented by Equation 39, wherein the ai and gi superscripts denote the i-th accelerometer and gyroscope, respectively. The process model for X.sub.e is a linear dynamic model by definition and contains only white noise, as represented by Equation 40. G.sub.ee within Equation 40 may be represented by Equation 41. Moreover, W.sub.e within Equation 40 may be represented by Equation 42. This model is sufficient for a low-cost IMU, but can be extended as needed.
X.sub.e=[b.sub.rw.sup.a1,b.sub.rw.sup.a2,b.sub.rw.sup.a3,b.sub.rw.sup.g1,b.sub.rw.sup.g2,b.sub.rw.sup.g3].sup.T,(Equation 39)
{dot over (X)}.sub.e=G.sub.eeW.sub.e,(Equation 40)
G.sub.ee=[I].sub.66,(Equation 41)
W.sub.e=[.sub.b.sub.
(89) The wind velocity, represented by Equation 43, may be stated as a vector in the local (navigation) frame consisting of the three components of wind velocity in the north, east, and down directions. While in usual cases wind velocity is expected to change slowly and smoothly from one moment to another, in general there is no information on such transition. Therefore, no deterministic part is considered in the process model of the present disclosure with respect to wind velocity, and only a white noise is assumed to rule the transition in time. Thus, the process model may be represented by Equation 44. G.sub.ww within Equation 44 may be represented by Equation 45. Moreover, W.sub.w within Equation 44 may be represented by Equation 46.
(90)
Process Models Linearization
(91) Process models should be linearized to provide the dynamic matrices used in the EKF. In the most general case, the augmented state vector may be represented by Equation 47. Process models for all sub-state vectors of the augmented state vector have been presented herein above. The linearized model as represented by Equation 48 is equivalent to Equation 49.
(92)
(93) Linearizing each of the process models with respect to all state vectors, results in the determination of the corresponding row of F matrix being represented by Equation 50. Equation 50 may be evaluated either analytically or numerically. While analytical calculation is tedious (i.e., leads to very long equations for many elements), it may be desirable due to its accuracy, numerical stability, and computational efficiency.
(94)
(95) To determine the G matrix and W vector, proper uncertainty quantization should to be defined. This is beneficial, for example, when the uncertainty quantization it is not already included explicitly in the model. Assuming the sub-state vectors X.sub.n, X.sub.p, X.sub.e, and X.sub.w are uncorrelated, the off-diagonal blocks in the G matrix are all zero. Examining Equations 7-10 reveals that Equations 7 and 9 are purely kinematic equations (i.e., they are error-free). Therefore, the uncertainty terms apply only on linear and rotational accelerations of the UAV. The propeller speed is also added to the end of the X.sub.n vector, so the uncertainty on the dynamic model also appears in W.sub.n. Hence, W.sub.n may be represented by Equation 51. Additionally, G.sub.nn may thus be represented by Equation 52.
(96)
(97) By modeling the dynamic model parameters as constants in Equation 38, the G.sub.pp matrix and W.sub.pp vector are both empty (as represented by Equations 53 and 54).
G.sub.pp=[ ](Equation 53)
W.sub.p=[ ](Equation 54)
(98) As seen in Equation 40, the process model for IMU error terms is a linear model. Therefore, the G.sub.ee matrix and W.sub.e vector are the same ones as in Equations 41 and 42, respectively.
(99) The process model for wind velocity components is also a linear model, as represented in Equation 44. Therefore, the G.sub.ww matrix and W.sub.w vector are also the same ones seen in Equations 45 and 46, respectively.
Observation Models Linearization
(100) The linearized observation model may be derived from IMU 102 and GNSS 104 position measurements. When both IMU 102 and GNSS 104 measurements are available, the measurement vector Z may be represented by Equation 55. The linearized measurement model of vector Z may be represented by Equation 56, wherein r is the measurement noise vector with covariance matrix R. H within Equation 56 may be represented by the matrix of Equation 57.
(101)
(102) The first row of the H matrix is derived using the IMU measurement equation (i.e., Equation 58). The IMU measures specific force components and rotation rates and includes IMU error terms.
(103)
(104) The second row of the H matrix is derived using the GNSS position observations in 3-D space, and is represented by Equation 59. If the GNSS position observations are completed with the velocity observations, the Z.sub.GNSS vector of Equation 59 may be extended to include the velocity observations.
(105)
Hardware
(106) The UAV tested using the teachings herein was a custom made UAV equipped with the open-source autopilot PIXHAWK equipped with a time-stamping module. The maximum payload capacity was around 800 g, and the operational weight varied around 2500 g. Flying endurance was around 45 minutes. Thanks to its lightweight construction, the launching could be done from hand and it required only a small place for landing. The navigation sensors used included a micro-electro-mechanical system (MEMS) IMU called NavChip from INTERSENSE, and a standalone GNSS receiver inside the PIXHAWK autopilot. A geodetic grade GNSS receiver called Alpha from JAVAD was also on the UAV, working in real time kinematic (RTK) mode and providing the reference for evaluating the navigation solution 110. The sampling frequencies were 100 Hz for the IMU 102 and 1 Hz for the standalone GNSS receiver 104.
Sample Results
(107) The below description provides some simulation and experimental results as an example to show the performance of the navigation system of the present disclosure. The position results are presented in a Cartesian East, North, Up (ENU) frame and the attitude results are presented in Euler angles form (i.e., roll, pitch, and yaw).
(108) A Monte Carlo simulation was performed with 100 runs, using real 3D wind velocity data. While the trajectory and the wind was kept the same in each realization, the error in observations, initialization, and VDM parameters changed randomly for each individual run.
(109) For purposes of the following description, sensor errors were modeled and added to nominal measurements. The exact values of model parameters used in simulating real sensors (i.e., the stochastic parameters) were unknown to the navigation system (i.e., the EKF), similar to real flight situations.
(110) IMU error for each accelerometer and gyroscope may be represented as the sum of a bias, a white noise, and a first order Gauss-Markov process. The numerical values of the model parameters corresponding to low-cost MEMS inertial sensors are provided in Table 1 below. The IMU sampling frequency was 100 Hz.
(111) TABLE-US-00001 TABLE 1 MEMS IMU error model parameters Error type Parameter Value Unit Accelerometers Bias 8 mg White Noise 50 g/{square root over (Hz)} 1.sup.st order Gauss-Markov 0.05 mg T 200 s Gyroscopes Bias 720 /hr White Noise 0.003 /s/{square root over (Hz)} 1.sup.st order Gauss-Markov 10 /hr T 200 s
(112) GNSS error is modeled as independent white noise signals for each channel (north, east, down). The standard deviation of the white noise is considered 1 m and the sampling frequency was 1 Hz.
(113) To start the filtering process, the initial values for all the states were required. These values normally contain some errors. The following paragraphs describe the initial errors and the initial uncertainties that were considered in simulations or within the designed EKF.
(114) For the navigation states (X.sub.n), the considered errors reflect the initialization error of the navigation system. An error of 1 m was considered for each component of the position, and the errors considered for the north, east, and down components of the velocity were 1 m/s, 0.2 m/s, and 0.5 m/s, respectively. The initial alignment error was considered to be 3 for roll and pitch and 5 for yaw, while an error of 1/s was assumed for roll, pitch, and yaw rates. An error of 15 rad/s was also considered for the propeller speed. The initial uncertainties in the state covariance matrix P were in the range from 1 to 2 times the initial errors described herein. Simulations revealed little sensitivity to the selection of these values.
(115) The errors considered for the VDM parameters (X.sub.p) were randomly distributed percentages of the real values with a standard deviation of 10%. The initial uncertainties were set in the range of the mentioned initial errors, and again, simulations showed little sensitivity to reasonable changes in these values.
(116) The initial values for the IMU error states (X.sub.e) were set to zero. The initial uncertainties were in general agreement with the IMU specifications used in the simulations, with a minor scaling with respect to the values used in simulating sensor errors, in order to preserve an approach close to reality, where even the exact error statistics of the sensors may not be known. Simulations verified little sensitivity to reasonable changes in these values.
(117) The initial values for wind velocity components (X.sub.w) were also set to zero, with an initial uncertainty of 1.5 m/s for each component. The airspeed sensor that may be on board of many (if not all) UAVs was not considered in the investigations described herein in order to further explore the capabilities of the navigation filter and avoid adding additional sensors to the minimal setup of an INS/GNSS system.
(118) Generally, a Kalman filter is provided with uncertainty values that reflect imperfections in modeling and observations. These uncertainties are discussed in the following paragraphs.
(119) The process model uncertainty is reflected in the GW term in Equations 48 and 49. Vector W contains white noise as the source of uncertainty in the process model, while matrix G is the noise shaping matrix. The four parts of W, namely and W.sub.n, W.sub.p, W.sub.e, and W.sub.w are represented in Equations 51, 54, 42, and 46, respectively. In W.sub.n, the value of 10.sup.4 was considered for the standard deviation of all terms. The small value of W.sub.n standard deviations does not necessarily mean a high confidence in the VDM, because the major portion of the uncertainty of the model is reflected in the initial uncertainty of the VDM parameters. However, when implementing the algorithm in a real scenario, a higher uncertainty may be needed. This is because there are always some unmodeled dynamics and disturbances that contribute to the deviation of model from reality, and these need to be accounted for in the error propagation. The process model for the VDM parameters as described herein is a static model with no uncertainty on the parameters being constant, so W.sub.p contains no value. The values of W.sub.e standard deviations were in general agreement with the IMU specifications used in the simulations. A standard deviation of 0.1 m/s.sup.2 was considered for each component of the wind velocity noise vector W.sub.w, to allow capturing moderate changes in wind velocity.
(120) The noise vector r in Equation 56 reflects the measurement uncertainty. The variance values for IMU measurements in the covariance matrix R were considered within the range of the IMU error statistics, neglecting the bias terms. This is because the estimated bias terms were directly subtracted from the IMU measurements before being fed to the EKF. For each channel of the GNSS measurements, the variance term in the covariance matrix was considered in the range of the error statistics of the device.
(121)
(122) The position error for all the 100 Monte Carlo runs is illustrated in
(123)
(124)
(125) The empirical RMS of mean error in estimation of VDM parameters for all the 100 Monte Carlo runs was plotted, as illustrated in
(126) The RMS of error in estimation of wind speed for all the 100 Monte Carlo runs is illustrated in
(127) Below, some aspects of the observability of navigation filter states are discussed. The discussion is based on an analysis of a covariance matrix throughout time. The close agreement between the empirical errors and the predicted confidence levels through the covariance matrix provides validity of stochastic parameters. Although the FIGS. discussed below are related to a single sample Monte Carlo run, the results were similar for all the 100 Monte Carlo runs.
(128)
(129)
Experimental Results
(130) The following discusses results of a test flight using a navigation system as described herein. The UAV used to conduct the test flight is illustrated in and described with reference to
(131) To get quantitative measurements on navigation quality, the 3D position error over the whole trajectory was mapped (as illustrated in
(132) Although illustrative embodiments of the present disclosure have been described herein with reference to the accompanying drawings, it is to be understood that the present disclosure is not limited to those precise embodiments, and that various other changes and modifications may be made by one skilled in the art without departing from the scope or spirit of the disclosure.