Linköping University Post Print Vision-Based Unmanned Aerial Vehicle Navigation Using Geo-Referenced Information Gianpaolo Conte and Patrick Doherty N.B.: When citing this work, cite the original article. Original Publication: Gianpaolo Conte and Patrick Doherty, Vision-Based Unmanned Aerial Vehicle Navigation Using Geo-Referenced Information, 2009, EURASIP JOURNAL ON ADVANCES IN SIGNAL PROCESSING, (2009), 387308. http://dx.doi.org/10.1155/2009/387308 Copyright: Authors Postprint available at: Linköping University Electronic Press http://urn.kb.se/resolve?urn=urn:nbn:se:liu:diva-20341 Hindawi Publishing Corporation EURASIP Journal on Advances in Signal Processing Volume 2009, Article ID 387308, 18 pages doi:10.1155/2009/387308 Research Article Vision-Based Unmanned Aerial Vehicle Navigation Using Geo-Referenced Information Gianpaolo Conte and Patrick Doherty Artificial Intelligence and Integrated Computer System Division, Department of Computer and Information Science, Linköping University, 58183 Linköping, Sweden Correspondence should be addressed to Gianpaolo Conte, giaco@ida.liu.se Received 31 July 2008; Revised 27 November 2008; Accepted 23 April 2009 Recommended by Matthijs Spaan This paper investigates the possibility of augmenting an Unmanned Aerial Vehicle (UAV) navigation system with a passive video camera in order to cope with long-term GPS outages. The paper proposes a vision-based navigation architecture which combines inertial sensors, visual odometry, and registration of the on-board video to a geo-referenced aerial image. The vision-aided navigation system developed is capable of providing high-rate and drift-free state estimation for UAV autonomous navigation without the GPS system. Due to the use of image-to-map registration for absolute position calculation, drift-free position performance depends on the structural characteristics of the terrain. Experimental evaluation of the approach based on offline flight data is provided. In addition the architecture proposed has been implemented on-board an experimental UAV helicopter platform and tested during vision-based autonomous flights. Copyright © 2009 G. Conte and P. Doherty. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited. 1. Introduction One of the main concerns which prevents the use of UAV systems in populated areas is the safety issue. State-of-theart UAVs are still not able to guarantee an acceptable level of safety to convince aviation authorities to authorize the use of such a system in populated areas (except in rare cases such as war zones). There are several problems which have to be solved before unmanned aircraft can be introduced into civilian airspace. One of them is GPS vulnerability [1]. Autonomous unmanned aerial vehicles usually rely on a GPS position signal which, combined with inertial measurement unit (IMU) data, provide high-rate and drift-free state estimation suitable for control purposes. Small UAVs are usually equipped with low-performance IMUs due to their limited payload capabilities. In such platforms, the loss of GPS signal even for a few seconds can be catastrophic due to the high drift rate of the IMU installed on-board. The GPS signal becomes unreliable when operating close to obstacles due to multipath reflections. In addition, jamming of GPS has arisen as a major concern for users due to the availability of GPS jamming technology on the market. Therefore UAVs which rely blindly on a GPS signal are quite vulnerable to malicious actions. For this reason, this paper proposes a navigation system which can cope with GPS outages. The approach presented fuses information from inertial sensors with information from a vision system based on a passive monocular video camera. The vision system replaces the GPS signal combining position information from visual odometry and geo-referenced imagery. Geo-referenced satellite or aerial images must be available on-board UAV beforehand or downloaded in flight. The growing availability of highresolution satellite images (e.g., provided by Google Earth) makes this topic very interesting and timely. The vision-based architecture developed is depicted in Figure 2 and is composed of an error dynamics Kalman filter (KF) that estimates the navigation errors of the INS and a separate Bayesian filter named point-mass filter (PMF) [2] which estimates the absolute position of the UAV on the horizontal plane fusing together visual odometry and image registration information. The 2D position estimated from the PMF, together with barometric altitude information obtained from an on-board barometer, is used as position measurement to update the KF. 2 EURASIP Journal on Advances in Signal Processing Inertial sensors 12-states Kalman filter INS mechanization Barometric sensor Sub-system 1 - Attitude - Altitude Video camera GPS Visual odometer - Position update Point-mass filter Image matching Figure 1: The Rmax helicopter. Odometry and image registration are complementary position information sources. The KLT feature tracker [3] is used to track corner features in the on-board video image from subsequent frames. A homography-based odometry function uses the KLT results to calculate the distance traveled by the UAV. Since the distance calculated by the odometry is affected by drift, a mechanism which compensates for the drift error is still needed. For this purpose information from geo-referenced imagery is used. The use of reference images for aircraft localization purposes is also investigated in [4]. A reference image matching method which makes use of the Hausdorff distance using contour images representation is explored. The work focuses mainly on the image processing issues and gives less emphasis to architectural and fusion schemes which are of focus in this paper. An emerging technique to solve localization problems is Simultaneous Localization and Mapping (SLAM). The goal of SLAM is to localize a robot in the environment while mapping it at the same time. Prior knowledge of the environment is not required. In SLAM approaches, an internal representation of the world is built on-line in the form of a landmarks database. Such a representation is then used for localization purposes. For indoor robotic applications SLAM is already a standard localization technique. More challenging is the use of such technique in large outdoor environments. Some examples of SLAM applied to aerial vehicles can be found in [5–7]. There also exist other kinds of terrain navigation methods which are not based on aerial images but on terrain elevation models. A direct measurement of the flight altitude relative to the ground is required. Matching the ground elevation profile, measured with a radar altimeter for example, to an elevation database allows for aircraft localization. A commercial navigation system called TERrain NAVigation (TERNAV) is based on such a method. The navigation system has been implemented successfully on some military jet fighters and cruise missiles. In the case of small UAVs and more specifically for unmanned helicopters, this method does not appear to be appropriate. Compared to jet fighters, UAV helicopters cover short distances at very low speed, and so the altitude variation is quite poor in terms of allowing ground profile matching. - UAV state Geo-referenced image database Sub-system 2 Figure 2: Sensor fusion architecture. Advanced cruise missiles implement a complex navigation system based on GPS, TERNAV, and Digital Scene Matching Area Correlation (DSMAC). During the cruise phase the navigation is based on GPS and TERNAV. When the missile approaches the target, the DSMAC is used to increase the position accuracy. The DSMAC matches the onboard camera image to a reference image using correlation methods. The terrain relative navigation problem is of great interest not only for terrestrial applications but also for future space missions. One of the requirements for the next lunar mission in which NASA/JPL is involved is to autonomously land within 100 meters of a predetermined location on the lunar surface. Traditional lunar landing approaches based on inertial sensing do not have the navigational precision to meet this requirement. A survey of the different terrain navigation approaches can be found in [8] where methods based on passive imaging and active range sensing are described. The contribution of this work is to explore the possibility of using a single video camera to measure both relative displacement (odometry) and absolute position (image registration). We believe that this is a very practical and innovative concept. The sensor fusion architecture developed combines vision-based information together with inertial information in an original way resulting in a light weight system with real-time capabilities. The approach presented is implemented on a Yamaha Rmax unmanned helicopter and tested on-board during autonomous flight-test experiments. 2. Sensor Fusion Architecture The sensor fusion architecture developed in this work is presented in Figure 2 and is composed of several modules. It can work in GPS modality or vision-based modality if the GPS is not available. EURASIP Journal on Advances in Signal Processing A traditional KF (subsystem 1) is used to fuse data from the inertial sensors (3 accelerometers and 3 gyros) with a position sensor (GPS or vision system in case the GPS is not available). An INS mechanization function performs the time integration of the inertial sensors while the KF function estimates the INS errors. The KF is implemented in the error dynamics form and uses 12 states: 3-dimensional position error, 3-dimensional velocity error, 3-attitude angle error, and 3 accelerometer biases. The error dynamics formulation of the KF is widely used in INS/GPS integration [9–11]. The estimated errors are used to correct the INS solution. The vision system (subsystem 2) is responsible for computing the absolute UAV position on the horizontal plane. Such position is then used as a measurement update for the KF. The visual odometry computes the helicopter displacement by tracking a number of corner features in the image plane using the KLT algorithm [3]. The helicopter displacement is computed incrementally from consecutive image frames. Unfortunately the inherent errors in the computation of the features location accumulate when old features leave the frame and new ones are acquired, producing a drift in the UAV position. Such drift is less severe than the position drift derived from a pure integration of typical low-cost inertial sensors for small UAVs as it will be shown later in the paper. The image matching module provides drift-free position information which is integrated in the scheme through a grid-based Bayesian filtering approach. The matching between reference and on-board image is performed using the normalized cross-correlation algorithm [12]. The architecture components will be described in details in the following sections. Section 3 describes the homography-based visual odometry, Section 4 presents the image registration approach used, and Section 5 describes the sensor fusion algorithms. 3. Visual Odometry Visual odometry for aerial navigation has been an object of great interest during the last decade [13–16]. The work in [13] has shown how a visual odometry is capable of stabilizing an autonomous helicopter in hovering conditions. In that work the odometry was based on a template matching technique where the matching between subsequent frames was obtained through sum of squared differences (SSDs) minimization of the gray scale value of the templates. The helicopter’s attitude information was taken from an IMU sensor. Specialized hardware was expressly built for this experiment in order to properly synchronize attitude information with the video frame. Most of the recent work [14–16] on visual odometry for airborne applications is based on homography estimation under a planar scene assumption. In this case the relation between points of two images can be expressed as x2 ≈ Hx1 , where x1 and x2 are the corresponding points of two images 1 and 2 expressed in homogeneous coordinates, and H is the 3 × 3 homography matrix. The symbol ≈ indicates that the relation is valid up to a scale factor. A point is expressed in homogeneous 3 coordinates when it is represented by equivalence classes of coordinate triples (kx, k y, k), where k is a multiplicative factor. The camera rotation and displacement between two camera positions, c1 and c2, can be computed from the homography matrix decomposition [17]: 1 c2 c1T −1 c2 t n + K , H = K Rc1 d (1) where K is the camera calibration matrix determined with a camera calibration procedure, t c2 is the camera translation c2 is the vector expressed in camera 2 reference system, Rc1 c1 rotation from camera 1 to camera 2, n is the unit normal vector to the plane being observed and expressed in camera 1 reference system, and d is the distance of the principal point of camera 1 to the plane. The visual odometry implemented in this work is based on robust homography estimation. The homography matrix H is estimated from a set of corresponding corner features being tracked from frame to frame. H can be estimated using direct linear transformation [17] with a minimum number of four feature points (the features must not be collinear). In practice the homography is estimated from a higher number of corresponding feature points (50 or more), and the random sample consensus (RANSAC) algorithm [18] is used to identify and then discard incorrect feature correspondences. The RANSAC is an efficient method to determine among the set of tracked features C the subset Ci of inliers features and subset Co of outliers so that the estimate H is unaffected by wrong feature correspondences. Details on robust homography estimation using the RANSAC approach can be found in [17]. The feature tracker used in this work is based on the KLT algorithm. The algorithm selects a number of features in an image according to a “goodness” criteria described in [19]. Then it tries to reassociate the same features in the next image frame. The association is done by minimizing the sum of squared differences over patches taken around the features in the second image. Such association criteria gives good results when the feature displacement is not too large. Therefore it is important that the algorithm has a low execution time. The faster the algorithm, the more successful the association process. In Figure 3 the RANSAC algorithm has been applied on a set of features tracked in two consecutive frames. In Figure 3(a) the feature displacements computed by the KLT algorithm are represented while in Figure 3(b) the set of outlier features has been detected and removed using RANSAC. Once the homography matrix has been estimated, it can be decomposed into its rotation and translation components in the form of (1) using singular value decomposition as described in [17]. However, homography decomposition is a poorly conditioned problem especially when using cameras with a large focal length [20]. The problem arises also when the ratio between the flight altitude and the camera displacement is high. For this reason it is recommendable to use interframe rotation information from other sensor sources if available. 4 EURASIP Journal on Advances in Signal Processing this work is a simple pin-hole model. The transformation between the image reference system and the camera reference system is realized through the calibration matrix K: ⎡ ⎢ 0 fx ox ⎤ ⎥ ⎢ ⎥ K = ⎢− f y 0 oy ⎥, ⎣ (3) ⎦ 0 0 1 where fx , f y are the camera focal lengths in the x and y directions, and (ox oy) is the center point of the image in pixels. The camera’s lens distortion compensation is not applied in this work. If c1 and c2 are two consecutive camera positions, then considering the following relationships: (a) c2 = Rnc2 Rnc1 , Rc1 t c2 = Rnc2 t nT , (4) n c1 = Rnc1 n nT and substituting in (1) give 1 n nT n −1 t n Rc1 K . H = KRnc2 I + d (5) Considering that the rotation matrices are orthogonal (in such case the inverse coincides with the transposed), (5) can be rearranged as T t n n nT = d Rnc2 K −1 H ∗ KRnc1 T − I , (b) Figure 3: (a) displays the set of features tracked with the KLT algorithm. In (b) the outlier feature set has been identified and removed using the RANSAC algorithm. The odometry presented in this work makes use of interframe rotation information coming from the KF. The solution presented in the remainder of this section makes use of the knowledge of the terrain slope; in other words the direction of the normal vector of the terrain is assumed to be known. In the experiment presented here the terrain will be considered nonsloped. Information about the terrain slope could be also extracted from a database if available. The goal then is to compute the helicopter translation in the navigation reference system from (1). The coordinate transformation between the camera and the INS sensor is realized with a sequence of rotations. The translation between the two sensors will be neglected since the linear distance between them is small. The rotations sequence (2) aligns the navigation frame (n) to the camera frame (c) passing through intermediate reference systems named helicopter body frame (b) and camera gimbal frame (g) as follows: g Rnc = Rnb Rbg Rc , (2) where Rnb is given by the KF, Rbg is measured by the pan/tilt g camera unit, and Rc is constant since the camera is rigidly mounted on the pan/tilt unit. A detailed description of the reference systems and rotation matrices adopted here can be found in [21]. The camera projection model used in (6) where, in order to eliminate the scale ambiguity, the homography matrix has been normalized with the ninth element of H as follows: H . (7) H∗ = H3,3 The distance to the ground d can be measured from an onboard laser altimeter. In case of flat ground, the differential barometric altitude, measured from an on-board barometric sensor between the take-off and the current flight position, can be used. Since in our environment the terrain is considered to be flat then n n = [0, 0, 1]. Indicating with RHS the right-hand side of (6), the north and east helicopter displacements computed by the odometry are n = RHS1,3 , tnorth n = RHS2,3 . teast (8) To conclude this section, some considerations about the planar scene assumption will be made. Even if the terrain is not sloped, altitude variations between the ground level and roof top or tree top level are still present in the real world. The planar scene assumption is widely used for airborne application; however a simple calculation can give a rough idea of the error being introduced. For a UAV in a level flight condition with the camera pointing perpendicularly downward, the 1D pin-hole camera projection model can be used to make a simple calculation: Δx p = f Δxc d (9) EURASIP Journal on Advances in Signal Processing 5 with f being the camera focal length, d the distance to the ground plane, Δx p the pixel displacement in the camera image of an observed feature, and Δxc the computed odometry camera displacement. If the observed feature is not on the ground plane but at a δd from the ground, the true camera displacement Δxct can be expressed as a function of the erroneous camera displacement Δxc as Δxct = Δxc 1 − δd d (10) with = δd/d being the odometry error due to the depth variation. Then, if δd is the typical roof top height of an urban area, the higher the flight altitude d, the smaller the error is. Considering an equal number of features picked on the real ground plane and on the roof tops, the reference homography plane can be considered at average roof height over the ground, and the odometry error can be divided by 2. If a UAV is flying at an altitude of 150 meters over an urban area with a typical roof height at 15 meters, the odometry error derived from neglecting the height variation is about 5%. 4. Image Registration Image registration is the process of overlaying two images of the same scene taken at different times, from different viewpoints and by different sensors. The registration geometrically aligns two images (the reference and sensed images). Image registration has been an active research field for many years, and it has a wide range of applications. A literature review on image registration can be found in [22, 23]. In this context it is used to extract global position information for terrain relative navigation. Image registration is performed with a sequence of image transformations, including rotation, scaling, and translation which bring the sensed image to overlay precisely with the reference image. In this work, the reference and sensed images are aligned and scaled using the information provided by the KF. Once the images are aligned and scaled, the final match consists in finding a 2D translation which overlays the two images. Two main approaches can be adopted to image registration: correlation-based matching and pattern matching. In the correlation-based matching the sensed image is placed at every pixel location in the reference image, and then, a similarity criteria is adopted to decide which location gives the best fit. In pattern matching approaches on the other hand, salient features (or landmarks) are detected in both images, and the registration is obtained by matching the set of features between the images. Both methods have advantages and disadvantages. Methods based on correlation can be implemented very efficiently and are suitable for real-time applications. They can be applied also in areas with no distinct landmarks. However they are typically more sensitive to differences between the sensed and reference image than pattern matching approaches. Methods based on pattern matching do not use image intensity values directly. The patterns are information on a higher level typically represented with geometrical models. This property makes such methods suitable for situations when the terrain presents distinct landmarks which are not affected by seasonal changes (i.e., roads, houses). If recognized, even a small landmark can make a large portion of terrain unique. This characteristic makes these methods quite dissimilar from correlation-based matching where small details in an image have low influence on the overall image similarity. On the other hand these methods work only if there are distinct landmarks in the terrain. In addition, a pattern detection algorithm is required before any matching method can be applied. A pattern matching approach which does not require geometrical models is the Scale Invariant Feature Transform (SIFT) method [24]. The reference and sensed images can be converted into feature vectors which can be compared for matching purposes. Knowledge about altitude and orientation of the camera relative to the terrain is not required for matching. Correlation methods are in general more efficient than SIFT because they do not require a search over image scale. In addition SIFT features do not have the capability to handle variation of illumination condition between reference and sensed images [8, 25]. This work makes use of a matching technique based on a correlation approach. The normalized cross-correlation of intensity images [12] is utilized. Before performing the cross-correlation, the sensed and reference images are scaled and aligned. The cross-correlation is the last step of the registration process, and it provides a measure of similarity between the two images. The image registration process is represented in the block diagram in Figure 5. First, the sensed color image is converted into gray-scale, and then it is transformed to the same scale of the reference image. Scaling is performed converting the sensed image to the resolution of the reference image. The scale factor s is calculated using (11) ⎛1⎞ ⎜ fx ⎟ sx ⎟ ⎝ ⎠=⎜ ⎜ ⎟d · Ires , ⎝1⎠ sy ⎛ ⎞ (11) fy where d, as for the odometry, is the UAV ground altitude, and Ires is the resolution of the reference image. The alignment is performed using the UAV heading estimated by the KF. After the alignment and scaling steps, the crosscorrelation algorithm is applied. If S is the sensed image and I is the reference image, the expression for the twodimensional normalized cross-correlation is x,y C(u, v) = x,y S x, y − μS I x − u, y − v − μI [S(x, y) − μS ]2 x,y , [I(x − u, y − v) − μI ]2 (12) where μS and μI are the average intensity values of the sensed and the reference image, respectively. Figure 4 depicts a typical cross-correlation result between a sensed image taken from the Rmax helicopter and a restricted view of the reference image of the flight-test site. 6 EURASIP Journal on Advances in Signal Processing Image registration is performed only on a restricted window of the reference image. The UAV position predicted by the filter is used as center of the restricted matching area. The purpose is to disregard low-probability areas to increase the computational efficiency of the registration process. The window size depends on the position uncertainty estimated by the filter. 0.6 0.4 0.2 0 −0.2 −0.4 −0.6 −0.8 350 300 250 200 150 100 5. Sensor Fusion Algorithms 50 0 0 50 100 150 200 250 300 350 (a) In this work, the Bayesian estimation framework is used to fuse data from different sensor sources and estimate the UAV state. The state estimation problem has been split in two parts. The first part is represented by a standard Kalman filter (KF) which estimates the full UAV state (position, velocity, and attitude); the second part is represented by a point-mass filter (PMF) which estimates the absolute 2D UAV position. The two filters are interconnected as shown in Figure 2. 5.1. Bayesian Filtering Recursion. A nonlinear state-space model with additive process noise v and measurement noise e can be written in the following form: xt−1 , ut−1 + v, x˙ t = f (13) yt = h xt , ut + e. If the state vector x is n-dimensional, the recursive Bayesian filtering solution for such a model is (b) Figure 4: (a) depicts the normalized cross-correlation results, and (b) depicts the sensed image matched to the reference image. xt | y1:t−1 = p αt = Reference image resolution On-board (sensed) image Reference image Gray-scale conversion Gray-scale conversion Image cropping Position uncertainty Altitude Image alignment Figure 5: Image registration schematic. Rn (14) yt − h xt , pe ut xt | y1:t−1 d p xt , MV xt Heading Correlation map xt − f xt−1 , xt−1 | y1:t−1 d pv ut−1 p xt , (15) xt | y1:t−1 . p (16) The aim of recursion (14)–(16) is to estimate the posterior y1:t ) of the filter. Equation (14) represents the density p( xt | time update while (16) is the measurement update. pv and pe represent the PDFs of the process and measurement noise, respectively. y1:t ), the estimation of the From the posterior p( xt | minimum variance (MV) system state and its uncertainty are computed from (17) and (18), respectively, as follows: Pt = Normalised cross-correlation Rn xt | y1:t = αt−1 pe yt − h xt , p ut Predicted position Image scaling Rn = MV xt − xt Rn xt p xt | y1:t d xt , MV T xt − xt (17) xt | y1:t d p xt . (18) In general, it is very hard to compute the analytical solution of the integrals in (14)–(18). If the state-space model (13) is linear, and the noises v and e are Gaussian and the prior p( x0 ) normally distributed, the close form solution is represented by the popular Kalman filter. EURASIP Journal on Advances in Signal Processing 7 The vision-based navigation problem addressed in this work is non-Gaussian, and therefore a solution based only on Kalman filter cannot be applied. The problem is nonGaussian since the image registration likelihood does not have a Gaussian distribution (see Figure 4(a)). The filtering solution explored in this work is represented by a standard Kalman filter which fuses inertial data with an absolute position measurement. The position measurement comes from a 2-state point-mass filter which fuses the visual odometry data with absolute position information coming from the image registration module (Figure 2). The approach has given excellent results during field trials, but it has some limitations as it will be shown later. 5.2. Kalman Filter. The KF implemented is the standard structure in airborne navigation systems and is used to estimate the error states from an integrated navigation system. The linear state-space error dynamic model used in the KF is derived from a perturbation analysis of the motion equations [26] and is represented with the model (19)-(20) where system (19) represents the process model while system (20) represents the measurement model: ⎛ n⎞ ⎡ Frr Frv 0 ⎤ ⎤ ⎢ ⎥⎛ n ⎞ ⎡ r˙ δ ⎢ r 0 0 0 −ad ae ⎥ ⎜ ⎟ ⎢ ⎥⎜δ ⎢ ⎥ ⎜ n⎟ ⎢ ⎥⎜ n ⎟ ⎢ ⎥ ˙ ⎟ ⎢ ⎜δ δ v ⎟ ⎟ + ⎢Rbn 0 ⎥ u, 0 −an⎥ ⎜ v ⎟ = ⎢Fvr Fvv ad ⎥⎜ ⎦ ⎠ ⎣ ⎥⎝ ⎝ n⎠ ⎢ n ⎢ ⎥ n 0 −Rb ⎣ −ae an 0 ⎦ ˙ n in × − ω Fer Fev (19) ⎛ ⎜ ⎜ ⎝ ϕins − ϕvision ⎞ ⎛ ⎞ n δ r ⎟ ⎜ ⎟ ⎟= I 0 0 ⎜ v n⎟ λins − λvision ⎟+ ⎜δ e ⎠ ⎠ ⎝ hins − (Δhbaro + h0 ) n (20) where δ r n = (δϕ δλ δh)T are the latitude, longitude, and altitude errors; δ v n = (δvn δve δvd )T are the north, east, and down velocity errors; n = (N E D )T are the T δω T ) gyro facc attitude errors in the navigation frame; u = (δ are the accelerometers and gyros noise; e represents the inn is the rotation rate of the navigation measurement noise; ω frame; an , ae , ad are the north, east and vertical acceleration components; Fxx are the elements of the system’s dynamics matrix. The KF implemented uses 12 states including 3 accelerometer biases as mentioned before. However, the state-space model (19)-(20) uses only 9 states without accelerometer biases. The reason for using a reduced representation is to allow the reader to focus only on the relevant part of the model for this section. The accelerometer biases are modeled as first-order Markov processes. The gyros biases can be modeled in the same way, but they were not used in this implementation. The acceleration elements an , ae , and ad are left in the explicit form in the system (19) as they will be needed for further discussions. It can be observed how the measurements coming from the vision system in the form of latitude and longitude (ϕvision , λvision ) are used to update the KF. The altitude measurement update is done using the barometric altitude information from an on-board pressure sensor. In order to compute the altitude in the WGS84 reference system required to update the vertical channel, an absolute reference altitude measurement h0 needs to be known. For example if h0 is taken at the take-off position, the barometric altitude variation Δhbaro relative to h0 can be obtained from the pressure sensor, and the absolute altitude can finally be computed. This technique works if the environmental static pressure remains constant. The state-space system, as represented in (19), (20), is fully observable. The elements ωinn ×) are quite small as they of the matrix Fer , Fev and ( depend on the Earth rotation rate and the rotation rate of the navigation frame due to the Earth’s curvature. These elements are influential in the case of a very sensitive IMU or high-speed flight conditions. For the flight conditions and typical IMU used in a small UAV helicopter, such elements are negligible, and therefore observability issues might arise for the attitude angles. For example, in case of hovering flight conditions or, more generally, in case of nonaccelerated horizontal flight conditions, the elements an and ae are zero. It can also be observed that the angle error D (third component of n ) is not observable. In case of small pitch and roll angles D corresponds to the heading angle. Therefore, for helicopters that are supposed to maintain the hovering flight condition for an extended period of time, an external heading aiding (i.e., compass) is required. On the other hand, the pitch and roll angle are observable since the vertical acceleration ad is usually different from zero (except in case of free fall but this is an extreme case). It should be mentioned that the vision system uses the attitude angles estimated by the KF for the computation of the absolute position, as can be observed in Figure 2 (subsystem 2), where this can be interpreted as a linearization of the measurement update equation of the KF. This fact might have implications on the estimation of the attitude angles since an information loop is formed in the scheme. The issue will be discussed later in this paragraph. 5.3. Point-Mass Filter. The point-mass filter (PMF) is used to fuse measurements coming from the visual odometry system and the image matching system. The PMF computes the solution to the Bayesian filtering problem on a discretized grid [27]. In [2] such a technique was applied to a terrain navigation problem where a digital terrain elevation model was used instead of a digital 2D image as in the case presented here. The PMF is particularly suitable for this kind of problem since it handles general probability distributions and nonlinear models. The problem can be represented with the following statespace model: xt−1 + utodom + v, xt = −1 yt | xt , zt . p (21) (22) 8 EURASIP Journal on Advances in Signal Processing Equation (21) represents the process model where x is the two-dimensional state (north-east), v is the process noise, and u odom is the position displacement between time t − 1 and t computed from the visual odometry ( u odom was indicated with t in Section 3). For the process noise v, a zero mean Gaussian distribution and a standard deviation value σ = 2 m are used. Such value has been calculated through a statistical analysis of the odometry through Monte Carlo simulations not reported in this paper. The observation model is represented by the likelihood (22) and represents the probability of measuring yt given zt . The latter is a parameter vector the state vectors xt and given by zt = (φ θ ψ d). The first three components are the estimated attitude angles from the Kalman filter while d is the ground altitude measured from the barometric sensor. A certainty equivalence approximation has been used here since the components of vector zt are taken as deterministic values. The measurement likelihood (22) is computed from the cross-correlation (12), and its distribution is nonGaussian. The distribution given by the cross-correlation (12) represents the correlation of the on-board camera view with the reference image. In general, there is an offset between the position matched on the reference image and the UAV position due to the camera view angle. The offset must be removed in order to use the cross-correlation as probability distribution for the UAV position. The attitude angles and ground altitude are used for this purpose. As discussed earlier, in the PMF approximation the continuous state-space is discretized over a two-dimensional limited size grid, and so the integrals are replaced with finite sums over the grid points. The grid used in this application is uniform with N number of points and resolution δ. The Bayesian filtering recursion (14)–(18) can be approximated as follows: xt (k) | y1:t−1 = p N n=1 xt (k) − utodom xt−1 (n) pv − −1 αt = N (23) zt p yt (n) | xt (n), xt (n) | y1:t−1 δ 2 , p (24) n=1 zt p xt (k) | y1:t = αt−1 p yt (n) | xt (n), xt (k) | y1:t−1 , p (25) MV Pt = N n=1 N = xt (n)p xt (n) | y1:t δ 2 , (26) n=1 MV xt (n) − xt MV T xt (n) − xt xt (n) | y1:t δ 2 . p (27) Before computing the time update (23), the grid points are translated according to the displacement calculated from (28) n ien and ω en with ab representing the accelerometers output, ω the Earth rotation rate and the navigation rotation rates which are negligible, as discussed in Section 2, and gn the gravity vector. Let us analyze the problem for the 1D case. The simplified velocity dynamics for the xn axis is v̇xn = abx cos θ + abz sin θ, xt 5.4. Stability Analysis from Monte Carlo Simulations. In this section the implications of using the attitude angles estimated by the KF to compute the vision measurements will be analyzed. As mentioned before, since the vision measurements are used to update the KF, an information loop is created which could limit the performance and stability of the filtering scheme. First, the issue will be analyzed using a simplified dynamic model. Then, the complete KF in close loop with the odometry will be tested using Monte Carlo simulations. The velocity error dynamic model implemented in the KF is derived from a perturbation of the following velocity dynamic model [28]: n n n en v n + gn × ωie + ω v˙ = Rnb ab − 2 ×p xt−1 (n) | y1:t−1 δ 2 , the odometry. The convolution (23) requires N 2 operations and computationally is the most expensive operation of the recursion. In any case, due to the problem structure, the convolution has separable kernels. For this class of twodimensional convolutions there exist efficient algorithms which reduce the computational load. More details on this problem can be found in [2]. Figure 6 depicts the evolution of the filter probability density function (PDF). From the prior (t0 ), the PDF evolves developing several peaks. The images and flight data used were collected during a flight-test campaign, and for the calculation a 200 × 200 grid of 1 meter resolution was used. The interface between the KF and the PMF is realized by passing the latitude and longitude values computed from the PMF to the KF measurement equation (20). The PMF position covariance is computed with (27), and it could be used in the KF for the measurement update. However, the choice of an empirically determined covariance for the KF measurement update has been preferred. The constant values of 2 meters for the horizontal position uncertainty and 4 meters for the vertical position uncertainty (derived from the barometric altitude sensor) have been used. (29) where θ represents the pitch angle. Suppose that the helicopter is in hovering but the estimated pitch angle begins to drift due to the gyro error. An apparent velocity will be observed due to the use of the attitude angles in the measurement equation from the vision system. Linearizing the model around the hovering condition gives for the velocity dynamics and observation equations: v̇xn = abx + abz θ, (30) hθ̇ = vxn , (31) where h is the ground altitude measured by the barometric sensor. The coupling between the measurement equation EURASIP Journal on Advances in Signal Processing 9 ×10−4 8 7 6 5 4 3 2 1 0 −100 −60 ×10−4 8 7 6 5 4 3 2 1 0 −100 −20 20 60 100 −100 −60 −20 20 60 100 −60 −20 20 60 t0 100 −100 (a) −60 −20 60 100 t0 + 1 (b) ×10−4 8 7 6 5 4 3 2 1 0 −100 −60 20 ×10−4 8 7 6 5 4 3 2 1 0 −100 −20 20 60 100 −100 −60 −20 20 t0 + 4 60 100 (c) −60 −20 20 60 100 −100 −60 −20 20 60 100 t0 + 8 (d) Figure 6: Evolution of the filter’s probability density function (PDF). The capability of the filter to maintain the full probability distribution over the grid space can be observed. (31) with the dynamic equation (30) can be observed (θ is in fact used to disambiguate the translation from the rotation in the measurement equation). Substituting (31) in (30) gives hθ̈ = abx + abz θ. (32) Equation (32) is a second-order differential equation similar to the equation for a spring-mass dynamic system (abz has a negative value) where the altitude h plays the role of the mass. One should expect that the error introduced by the information loop has an oscillatory behavior which changes with the change in altitude. Since this is an extremely simplified representation of the problem, the behavior of the Kalman filter in close loop with the odometry was tested through Monte Carlo simulations. Gaussian-distributed accelerometer and gyro data were generated together with randomly distributed features in the images. Since the analysis has the purpose of finding the effects of the attitude coupling problem, the following procedure was applied. First, Kalman filter results were obtained using the noisy inertial data and constant position measurement update. Then, the KF was fed with the same inertial data as the previous case but the measurement update came from the odometry instead (the features in the image were not corrupted by noise since the purpose was to isolate the coupling effect). The KF results for the first case (constant update) were considered as the reference, and then the results for the second case were compared to the reference one. What is shown in the plots is the difference of the estimated pitch angle (Figure 7) and roll angle (Figure 8) between the two cases at different altitudes (obviously the altitude influences only the results of the closed loop case). For altitudes up to 100 meters the difference between the two filter configurations is less than 0.5 degree. However, the increasing of the flight altitude makes the oscillatory behavior of the system more evident with an increasing in amplitude (as expected from the previous simplified analysis). A divergent oscillatory behavior was observed from an altitude of about 700 meters. This analysis shows that the updating method used in this work introduces an oscillatory dynamics in the filter state estimation. The effect of such dynamics has a low impact for altitudes below 100 meters while becomes more severe for larger altitudes. EURASIP Journal on Advances in Signal Processing 0.4 0.2 0 −0.2 −0.4 Pitch angle difference (Degrees) (Degrees) 10 0 10 20 30 40 50 60 (Seconds) 70 80 90 100 0.4 0.2 0 −0.2 −0.4 Roll angle difference 0 10 20 30 (Degrees) (Degrees) 80 90 100 Roll angle difference Pitch angle difference 5 0 −5 20 70 (a) (a) 10 50 60 (Seconds) Alt = 30 m Alt = 60 m Alt = 90 m Alt = 30 m Alt = 60 m Alt = 90 m 0 40 30 40 50 60 (Seconds) 70 80 90 100 5 0 −5 0 10 20 30 40 50 60 (Seconds) 70 80 90 100 Alt = 200 m Alt = 300 m Alt = 500 m Alt = 200 m Alt = 300 m Alt = 500 m (b) (b) Figure 7: Difference between the pitch angle estimated by the KF with a constant position update and the KF updated using odometry position. It can be noticed how the increasing of the flight altitude makes the oscillatory behavior of the system more evident with an increasing in amplitude. Figure 8: Difference between the roll angle estimated by the KF with a constant position update and the KF updated using odometry position. It can be noticed how the increasing of the flight altitude makes the oscillatory behavior of the system more evident with an increasing in amplitude. 6. UAV Platform The proposed filter architecture has been tested on real flighttest data and on-board autonomous UAV helicopter. The helicopter is based on a commercial Yamaha Rmax UAV helicopter (Figure 1). The total helicopter length is about 3.6 m. It is powered by a 21 hp two-stroke engine, and it has a maximum take-off weight of 95 kg. The avionic system was developed at the Department of Computer and Information Science at Linköping University and has been integrated in the Rmax helicopter. The platform developed is capable of fully autonomous flight from take-off to landing. The sensors used in this work consist of an inertial measurement unit (three accelerometers and three gyros) which provides the helicopter’s acceleration and angular rate along the three body axes, a barometric altitude sensor, and a monocular CCD video camera mounted on a pan/tilt unit. The avionic system is based on 3 embedded computers. The primary flight computer is a PC104 PentiumIII 700 MHz. It implements the low-level control system which includes the control modes (take-off, hovering, path following, landing, etc.), sensor data acquisition, and the communication with the helicopter platform. The second computer, also a PC104 PentiumIII 700 MHz, implements the image processing functionalities and controls the camera pan-tilt unit. The third computer, a PC104 Pentium-M 1.4 GHz, implements high-level functionalities such as path-planning and taskplanning. Network communication between computers is physically realized with serial line RS232C and Ethernet. Ethernet is mainly used for remote login and file transfer, while serial lines are used for hard real-time networking. 7. Experimental Results In this section the performance of the vision-based state estimation approach described will be analyzed. Experimental evaluations based on offline real flight data as well as online on-board test results are presented. The flight-tests were performed in an emergency services training area in the south of Sweden. The reference image of the area used for this experiment is an orthorectified aerial image of 1 meter/pixel resolution with a submeter position accuracy. The video camera sensor is a standard CCD analog camera with approximately 45 degrees horizontal angle of view. The camera frame rate is 25 Hz, and the images are reduced to half resolution (384 × 288 pixels) at the beginning of the image processing pipeline to reduce the computational burden. During the experiments, the video camera was looking downward and fixed with the helicopter body. The PMF recursion was computed in all experiments on a 80 × 80 meters grid of one meter resolution. The IMU used is provided by the Yamaha Motor Company and integrated in the Rmax platform. Table 1 provides available specification of the sensors used in the experiment. EURASIP Journal on Advances in Signal Processing Table 1: Available characteristics of the sensor used in the navigation algorithm. Sensor Accelerometers Gyros Barometer Vision Output rate 66 Hz 200 Hz 40 Hz 25 Hz Resolution 1 mG 0.1 deg/s 0.1 m 384 × 288 pixels Bias 13 mg <0.1 deg/s — — The results of the vision-based navigation algorithm are compared to the navigation solution given by an onboard INS/GPS KF running on-line. The KF fuses the inertial sensors with GPS position data and provides the full helicopter state estimate. The position data used as reference are provided by a real-time kinematic GPS receiver with a submeter position accuracy. 7.1. Performance Evaluation Using Offline Flight Data. Sensor data and on-board video were recorded during an autonomous flight. The vision-based filter is initialized with the last valid state from the INS/GPS filter, and after the initialization the GPS is not used anymore. The position update to the KF is then provided by the vision system. The inertial data are sampled and integrated at a 50 Hz rate, while the vision system provides position update at 4 Hz rate. Figure 9 shows the UAV flight path reconstructed using the navigation approach described in this work without using the GPS. The helicopter flew a closed loop path of about 1 kilometer length at 60 meters constant altitude above the ground. Figure 9(a) presents a comparison between the helicopter path computed by the vision-based system (PMF output) with the GPS reference. The vision-based position is always close to the GPS position indicating a satisfactory localization performance. The odometry position results are also displayed in Figure 9(a). Figure 9(b) shows the position uncertainty squared along the path estimated from the PMF (27) and graphically represented with ellipses. The ellipse axes are oriented along the north-east directions (the uncertainty is in fact estimated along such axes by the PMF). The uncertainty would be better represented with ellipses oriented along the direction of maximum and minimum uncertainty. In any case it is interesting to notice that above a road segment the uncertainty increases along the road and decreases along the direction perpendicular to the road. This can be noticed along the first path’s leg (between points 1 and 2) and at point 4 of the path. This fact is a consequence of the impossibility for the image registration module to find the proper matching location along the road direction. It can also be noticed how the uncertainty increases when the helicopter passes above the pond (leg 3-4). This is a sign that this area does not have good properties for image registration. The position uncertainty was initialized to 25 meters at the beginning of the path (point 1). Figures 10(a) and 10(b) show the north and east visionbased KF velocity estimation while the Figure 10(d) shows the horizontal velocity error magnitude. Figure 10(c) shows 11 the horizontal position error magnitude of the PMF, visual odometry and stand alone inertial solution. It can be observed how the PMF position error is always below 8 meters during the flight while the odometry accumulates 25 meters error in about 1 km of flight path length. The inertial solution has a pronounced drift showing the lowperformance characteristics of the IMU used and giving an idea of the improvement introduced just by the odometry alone. Figure 11 shows the attitude angles estimated by the KF (left column) and the attitude angle errors (right column). From the pitch and roll error plots there, does not appear to be any tendency to drift during the flight. The heading error plot shows instead a tendency to drift away. The low acceleration of the helicopter during the flight experiment makes the heading angle weakly observable (Section 2), therefore the use of an external heading information (i.e., compass) is required in the KF in order to allow for a robust heading estimate. In Figure 12 the influence of the number of features tracked and the effects of the RANSAC algorithm are analyzed. The plots in the left column are relative to the case of the KLT tracking a maximum number of 50 features per frame while the right column shows the case of KLT tracking a maximum number of 150 features. When the maximum number of features is set, the tracking algorithm tries to track them, but usually a number of features will be lost for each frame so the number of features tracked are less than the maximum number. In addition, when the RANSAC algorithm is running, an additional number of features are discarded because they are considered outliers. In Figure 12(a), the odometry error is shown in the cases with and without the use of RANSAC and with a maximum of 50 features tracked. It can be observed how the use of RANSAC does not improve the odometry drift rate, but it helps to filter out the position jumps. It has been observed that the jumps occur during sudden helicopter attitude variation resulting in a large feature displacement in the image. Such a correlation can be observed comparing the pitch plot with the odometry error plot. As the images were sampled at a 4Hz rate, the problem could be mitigated by increasing the feature tracking frame rate. The figure also shows the number of features tracked and discarded from the RANSAC algorithm. In Figure 12(b) the same test is done with a maximum of 150 features tracked in each frame. If Figures 12(a) and 12(b) are compared, it can be observed that increasing the number of features tracked produces a worse result (comparing the blue plots without RANSAC). This effect is somehow predictable as the KLT selects the feature quality in a decreasing order. Comparing the two cases with RANSAC (red plots) there are basically no relevant differences meaning that the RANSAC detects the great part of outliers introduced by tracking a larger number of features (compare the two plots at the bottom of Figure 12). The fact that the cases without RANSAC finish with a lower position error does not have any relevance as it is mostly a random effect. From these considerations the solution with 50 features and RANSAC is preferable. 12 EURASIP Journal on Advances in Signal Processing 2 2 3 3 1 5 5 4 1 4 PMF Odometer GPS PMF PMF uncertainty (a) (b) Figure 9: (a) displays the comparison between the flight path computed with the point-mass filter (red), the odometry (dashed white), and the GPS reference (blue). (b) shows the PMF result with the position uncertainty squared represented with ellipses along the path. Velocity north 0 −5 Velocity east 5 (m/s) (m/s) 5 1600 1700 1800 (Seconds) 0 −5 1900 1600 Vision-based Kalman filter INS/GPS 1700 Horizontal position error magnitude 2.5 20 2 15 1.5 10 1 5 0.5 1600 1700 1800 (Seconds) 1900 Horizontal velocity error magnitude 3 (m/s) (Meters) (b) 25 0 1900 Vision-based Kalman filter INS/GPS (a) 30 1800 (Seconds) 0 1600 1700 1800 (Seconds) 1900 PMF Odometer Stand alone INS (c) (d) Figure 10: (a) and (b) depict the north and east velocity components estimated by the Kalman filter while (d) depicts the horizontal velocity error magnitude. In (c) the position error comparison between PMF, odometry, and stand alone INS is given. EURASIP Journal on Advances in Signal Processing 13 Roll 10 Roll error 5 (deg) (deg) 5 0 0 −5 −10 1600 1700 1800 (Seconds) −5 1900 1600 1700 (a) 1900 (b) Pitch 10 1800 (Seconds) Pitch error 5 (deg) (deg) 5 0 0 −5 −10 1600 1700 1800 (Seconds) −5 1900 1600 1700 (c) 1800 (Seconds) 1900 (d) Heading Heading error 5 (deg) (deg) 100 0 0 −100 1600 1700 1800 (Seconds) 1900 −5 1600 1700 1800 (Seconds) 1900 Vision-based Kalman filter INS/GPS (f) (e) Figure 11: Estimated Kalman filter attitude angles with error plots. Figures 13 and 14 show the results based on the same flight data set, but the vision-based navigation system has been initialized with 5 degrees error in pitch, roll, and heading angles. It can be observed in Figure 14 how the pitch and roll converge rapidly to the right estimate (confirming the assumptions and results demonstrated in Section 5) while the heading shows a tendency to converge in the long term, but practically the navigation algorithm was between 5 and 10 degrees off-heading during the whole test. It is interesting to notice from Figure 13 the effects of the off-heading condition. The odometry is rotated by approximately the heading angle error. The PFM solution is degraded due to the increased odometry error and due to the fact that there is an image misalignment error between the sensed and reference images. Despite the image misalignment, the PMF position estimate closes the loop at the right location (point 5) thanks to the robustness of the image cross-correlation with respect to small image misalignment. It appears that the image correlation was especially robust around corner 4 of the path. This fact is verified by the sudden decrease of the position uncertainty which can be observed in Figure 13. 7.2. Real-Time on-Board Flight-Test Results. Flight-test results of the vision-based state estimation algorithm implemented on-board the Rmax helicopter platform will be presented here. The complete navigation architecture is implemented on two on-board computers in the C language. The Subsystem 1 (Figure 2) is implemented on the primary flight computer PFC (PC104 PentiumIII 700 MHz) and runs at a 50 Hz rate. The Subsystem 2 is implemented on the image processing computer IPC (also a PC104 PentiumIII 700 MHz) and runs at about 7 Hz rate. The image processing is implemented using the Intel OpenCV library. The realtime data communication between the two computers is realized using a serial line RS232C. The data sent from 14 EURASIP Journal on Advances in Signal Processing Odometer error (max 50 features tracked) 20 10 0 1600 1700 1800 (Seconds) Odometer error (max 150 features tracked) 30 (Meters) (Meters) 30 20 10 0 1900 1600 Odometer without RANSAC Odometer with RANSAC 1700 1800 (Seconds) 1900 Odometer without RANSAC Odometer with RANSAC (a) Features number (b) Features number 40 (Meters) (Meters) 150 20 0 1600 1700 1800 (Seconds) 100 50 0 1900 1600 Features tracked Features after RANSAC (Meters) (Meters) 20 1600 1700 1800 (Seconds) 1900 (d) Number of features discarded from RANSAC 60 40 0 1800 (Seconds) Features tracked Features after RANSAC (c) Number of features discarded from RANSAC 60 1700 40 20 0 1900 1600 1700 (e) 1800 (Seconds) 1900 (f) Figure 12: Comparison between odometry calculation using maximum 50 features (left column) and maximum 150 features (right column). The comparison also shows the effects of the RANSAC algorithm on the odometry error. 2 2 3 3 5 5 1 1 4 4 PMF Odometer GPS PMF PMF uncertainty Figure 13: Vision-based navigation algorithm results in off-heading error conditions. The navigation filter is initialized with a 5-degree error in pitch, roll, and heading. While the pitch and roll angle converge to the right estimate rapidly, the heading does not converge to the right estimate affecting the odometry and the image cross-correlation performed in off-heading conditions. EURASIP Journal on Advances in Signal Processing 15 Roll Roll error 10 5 (deg) (deg) 5 0 0 −5 −5 −10 1600 1700 1800 (Seconds) 1900 1600 1700 (a) 1800 (Seconds) 1900 (b) Pitch Pitch error 10 5 (deg) (deg) 5 0 0 −5 −5 −10 1600 1700 1800 (Seconds) 1900 1600 1700 (c) 1900 (d) Heading Heading error 10 (deg) 100 (deg) 1800 (Seconds) 0 −100 0 −10 1600 1700 1800 (Seconds) 1900 1600 1700 1800 (Seconds) 1900 Vision-based Kalman filter INS/GPS (f) (e) Figure 14: Estimated Kalman filter attitude angles with an initial 5-degree error added for roll, pitch, and heading angles. It can be observed how the pitch and roll angles converge quite rapidly, while the heading shows a weak converge tendency. 1 4 2 3 PMF GPS Figure 15: Real-time on-board position estimation results. Comparison between the flight path computed with the PMF (red) and the GPS reference (blue). the PFC to the IPC is the full vision-based KF state while the data sent from the IPC to the PFC is the latitude and longitude position estimated by the PMF and used to update the KF. The on-board flight-test results are displayed in Figures 15, 16, and 17. The odometry ran with a maximum number of 50 features tracked in the image without RANSAC as it was not implemented on-board at the time of the experiment. The helicopter was manually put in hovering mode at an altitude of about 55 meters above the ground (position 1 of Figure 15). Then the vision-based navigation algorithm was initialized from the ground station. Subsequently the helicopter from manual was switched into autonomous flight with the control system taking the helicopter state from the vision-based KF. The helicopter was commanded to flight from position 1 to position 2 along a straight line path. Observe that during the path segment 1-2, the vision-based solution (red line) resembles a straight line as the control system was controlling using the visionbased data. The real path taken by the helicopter is instead 16 EURASIP Journal on Advances in Signal Processing Velocity north 6 6 4 4 2 2 0 0 −2 −2 −4 −4 −6 −6 −8 800 1000 1200 (Seconds) Velocity east 8 (m/s) (m/s) 8 −8 1400 800 1000 1200 (Seconds) 1400 Vision-based Kalman filter INS/GPS Vision-based Kalman filter INS/GPS (a) (b) Horizontal position error magnitude Horizontal velocity error magnitude 5 80 (m/s) (Meters) 4 60 40 20 0 3 2 1 800 1000 1200 (Seconds) 1400 0 800 1000 1200 (Seconds) 1400 PMF Odometer (c) (d) Figure 16: Real-time on-board results. (a) and (b) show the north and east velocity components estimated by the Kalman filter while (d) displays the horizontal velocity error magnitude. In (c) the position error comparison between PMF and odometry is given. the blue one (GPS reference). The helicopter was then commanded to fly a spline path (segment 2-3). With the helicopter at the hovering point 3 the autonomous flight was aborted, and the helicopter was taken into manual flight. The reason the autonomous flight was aborted was that in order for the helicopter to exit the hovering condition and enter a new path segment the hovering stable condition must be reached. This is a safety check programmed in a low-level state machine which coordinates the flight mode switching. The hovering stable condition is fulfilled when the helicopter speed is less than 1 m/s. As can be seen from the velocity error plot in Figure 16 this is a rather strict requirement which is at the border of the vision-based velocity estimation accuracy. In any case, the vision-based algorithm was left running on-board while the helicopter was flown manually until position 4. The vision-based solution was always rather close to the GPS position during the whole path. Even the on-board solution confirms what was observed during the offline tests for the attitude angles (Figure 17) with a stable pitch and roll estimate and a nonstable heading estimate. Considering the error in the heading estimate the PMF position results (Figure 15) confirm a certain degree of robustness of the image matching algorithm with respect to the image misalignment error. 8. Conclusions and Future Work The experimental results of this work confirm the validity of the approach proposed. A vision-based sensor fusion architecture which can cope with short and long term GPS outages has been proposed and tested on-board unmanned helicopter. Since the performance of the terrain matching algorithms depends on the structural properties of the terrain, it could be wise to classify beforehand the reference images according to certain navigability criteria. In [29– 31], methods for selecting scene matching areas suitable for terrain navigation are proposed. In the future, a compass will be used as an external heading aid to the KF which should solve the heading estimation problem encountered here. EURASIP Journal on Advances in Signal Processing 17 Roll Roll error 5 (deg) (deg) 10 0 0 −10 800 1000 1200 (Seconds) −5 1400 800 1000 (a) 1200 (Seconds) 1400 (b) Pitch Pitch error 5 (deg) (deg) 10 0 0 −10 800 1000 1200 (Seconds) −5 1400 800 1000 (c) 1400 (d) Heading Heading error 10 100 5 (deg) (deg) 1200 (Seconds) 0 0 −5 −100 800 1000 1200 (Seconds) 1400 −10 800 1000 1200 (Seconds) 1400 Vision-based Kalman filter INS/GPS (e) (f) Figure 17: Real-time on-board results. Estimated Kalman filter attitude angles with error plots. Acknowledgment The authors would like to acknowledge their colleagues Piero Petitti, Mariusz Wzorek, and Piotr Rudol for the support given to this work. This work is supported in part by the National Aeronautics Research Program NFFP04-S4202, the Swedish Foundation for Strategic Research (SSF) Strategic Research Center MOVIII, the Swedish Research Council Linnaeus Center CADICS and LinkLab - Center for Future Aviation Systems. References [1] C. James, et al., “Vulnerability assessment of the transportation infrastructure relying on the global positioning system,” Tech. Rep., Volpe National Transportation Systems Center, US Department of Transportation, August 2001. [2] N. Bergman, Recursive Bayesian estimation, navigation and tracking applications, Ph.D. dissertation, Department of Electrical Engineering, Linköping University, Linköping, Sweden, 1999. [3] C. Tomasi and T. Kanade, “Detection and tracking of point features,” Tech. Rep. CMU-CS-91-132, Carnegie Mellon University, Pittsburgh, Pa, USA, April 1991. [4] D.-G. Sim, R.-H. Park, R.-C. Kim, S. U. Lee, and I.-C. Kim, “Integrated position estimation using aerial image sequences,” IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 24, no. 1, pp. 1–18, 2002. [5] R. Karlsson, T. B. Schön, D. Törnqvist, G. Conte, and F. Gustafsson, “Utilizing model structure for efficient simultaneous localization and mapping for a UAV application,” in Proceedings of the IEEE Aerospace Conference, Big Sky, Mont, USA, March 2008. [6] J. Kim and S. Sukkarieh, “Real-time implementation of airborne inertial-SLAM,” Robotics and Autonomous Systems, vol. 55, no. 1, pp. 62–71, 2007. [7] T. Lemaire, C. Berger, I.-K. Jung, and S. Lacroix, “Visionbased SLAM: stereo and monocular approaches,” International Journal of Computer Vision, vol. 74, no. 3, pp. 343–364, 2007. [8] A. E. Johnson and J. F. Montgomery, “Overview of terrain relative navigation approaches for precise lunar landing,” in Proceedings of the IEEE Aerospace Conference, Big Sky, Mont, USA, March 2008. 18 [9] P. Maybeck, Stochastic Models, Estimation and Control: Volume 1, Academic Press, New York, NY, USA, 1979. [10] M. Svensson, Aircraft trajectory restoration by integration of inertial measurements and GPS, M.S. thesis, Linköping University, Linköping, Sweden, 1999. [11] E.-H. Shin, Accuracy improvement of low cost INS/GPS for land applications, M.S. thesis, University of Calgary, Calgary, Canada, 2001. [12] W. K. Pratt, Digital Image Processing, John Wiley & Sons, New York, NY, USA, 2nd edition, 1991. [13] O. Amidi, An autonomous vision-guided helicopter, Ph.D. dissertation, Carnegie Mellon University, Pittsburgh, Pa, USA, 1996. [14] N. Frietsch, O. Meister, C. Schlaile, J. Seibold, and G. Trommer, “Vision based hovering and landing system for a vtol-mav with geo-localization capabilities,” in AIAA Guidance, Navigation and Control Conference and Exhibit, Honolulu, Hawaii, USA, August 2008. [15] S. S. Mehta, W. E. Dixon, D. MacArthur, and C. D. Crane, “Visual servo control of an unmanned ground vehicle via a moving airborne monocular camera,” in Proceedings of the American Control Conference, pp. 5276–5281, Minneapolis, Minn, USA, June 2006. [16] F. Caballero, L. Merino, J. Ferruz, and A. Ollero, “A visual odometer without 3D reconstruction for aerial vehicles. Applications to building inspection,” in Proceedings of IEEE International Conference on Robotics and Automation, pp. 4673–4678, Barcelona, Spain, 2005. [17] R. Hartley and A. Zisserman, Multiple View Geometry, Cambridge University Press, Cambridge, UK, 2nd edition, 2003. [18] M. A. Fischler and R. C. Bolles, “Random sample consensus: a paradigm for model fitting with applications to image analysis and automated cartography,” Communications of the ACM, vol. 24, no. 6, pp. 381–395, 1981. [19] J. Shi and C. Tomasi, “Good features to track,” in roceedings of the IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR ’94), pp. 593–600, Seattle, Wash, USA, June 1994. [20] E. Michaelsen, M. Kirchhoff, and U. Stilla, “Sensor pose inference from airborne videos by decomposing homography estimates,” in International Archives of Photogrammetry and Remote Sensing, M. O. Altan, Ed., vol. 35, pp. 1–6, 2004. [21] D. B. Barber, J. D. Redding, T. W. McLain, R. W. Beard, and C. N. Taylor, “Vision-based target geo-location using a fixedwing miniature air vehicle,” Journal of Intelligent and Robotic Systems, vol. 47, no. 4, pp. 361–382, 2006. [22] L. G. Brown, “A survey of image registration techniques,” ACM Computing Surveys, no. 24, pp. 326–376, 1992. [23] B. Zitova and J. Flusser, “Image registration methods: a survey,” Image and Vision Computing, vol. 21, no. 11, pp. 977– 1000, 2003. [24] D. G. Lowe, “Distinctive image features from scale-invariant keypoints,” International Journal of Computer Vision, vol. 60, no. 2, pp. 91–110, 2004. [25] N. Trawny, A. I. Mourikis, S. I. Roumeliotis, et al., “Coupled vision and inertial navigation for pin-point landing,” in NASA Science and Technology Conference, 2007. [26] K. R. Britting, Inertial Navigation Systems Analysis, John Wiley & Sons, New York, NY, USA, 1971. [27] R. S. Bucy and K. D. Senne, “Digital synthesis of nonlinear filters,” Automatica, no. 7, pp. 287–298, 1971. [28] R. M. Rogers, Applied Mathematics in Integrated Navigation Systems, American Institute of Aeronautics & Astronautics, Reston, Va, USA, 2000. EURASIP Journal on Advances in Signal Processing [29] G. Zhang and L. Shen, “Rule-based expert system for selecting scene matching area,” in Intelligent Control and Automation, vol. 344, pp. 546–553, Springer, Berlin, Germany, 2006. [30] G. Cao, X. Yang, and S. Chen, “Robust matching area selection for terrain matching using level set method,” in Proceedings of the 2nd International Conference on Image Analysis and Recognition (ICIAR ’05), vol. 3656 of Lecture Notes in Computer Science, pp. 423–430, Toronto, Canada, September 2005. [31] E. L. Hall, D. L. Davies, and M. E. Casey, “The selection of critical subsets for signal, image, and scene matching,” IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 2, no. 4, pp. 313–322, 1980. EURASIP Journal on Wireless Communications and Networking Special Issue on Femtocell Networks Call for Papers Recently, there has been a growing interest in femtocell networks both in academia and industry. They offer significant advantages for next-generation broadband wireless communication systems. For example, they eliminate the deadspots in a macrocellular network. Moreover, due to short communication distances (on the order of tens of meters), they offer significantly better signal qualities compared to the current cellular networks. This makes high-quality voice communications and high data rate multimedia type of applications possible in indoor environments. However, this new type of technology also comes with its own challenges, and there are significant technical problems that need to be addressed for successful deployment and operation of these networks. Standardization efforts related to femtocell networks in 3GPP (e.g., under TSG-RAN Working Group 4 and LTE-Advanced) and IEEE (e.g., under IEEE 802.16m) are already underway. The goal of this special issue is to solicit high-quality unpublished research papers on design, evaluation, and performance analysis of femtocell networks. Suitable topics include but are not limited to the following: • Downlink and uplink PHY/MAC design for femtocells • Self-organizing networks and issues in self mainte- nance and self install • Issues related to enterprise femtocells Before submission, authors should carefully read over the journal’s Author Guidelines, which are located at http://www .hindawi.com/journals/wcn/guidelines.html. Prospective authors should submit an electronic copy of their complete manuscript through the journal Manuscript Tracking System at http://mts.hindawi.com/, according to the following timetable: Manuscript Due September 1, 2009 First Round of Reviews December 1, 2009 Publication Date March 1, 2010 Lead Guest Editor Ismail Guvenc, Wireless Access Laboratory, DOCOMO Communications Laboratories USA, Inc., Palo Alto, CA 94304, USA; iguvenc@docomolabs-usa.com in 3G systems, WiMAX systems, and LTE systems • Interference analysis, avoidance, and mitigation • Coexistence between a macrocellular network and • • • • • • • • femtocell network Resource allocation techniques Closed subscriber group (CSG) versus open-access femtocells Power control and power saving mechanisms (e.g., sleep/idle mode etc.) Mobility support and handover Time synchronization Multiple antenna techniques Tradeoffs between femtocells, picocells, relay networks, and antenna arrays Comparison with other fixed-mobile convergence (FMC) approaches such as UMA/GAN and dual-mode terminals Guest Editors Simon Saunders, Femto Forum, UK; simon@femtoforum.org Ozgur Oyman, Corporate Technology Group, Intel Corporation, USA; ozgur.oyman@intel.com Holger Claussen, Alcatel-Lucent Bell Labs, UK; claussen@lucent.com Alan Gatherer, Communications Infrastructure and Voice Business Unit, Texas Instruments, USA; gatherer@ti.com Hindawi Publishing Corporation http://www.hindawi.com EURASIP Journal on Embedded Systems Special Issue on Integrated Designs for Embedded Systems Call for Papers This special issue of the EURASIP Journal of Embedded Systems is intended to present innovative techniques in embedded systems designs. Embedded systems generally must meet stringent requirements of intended applications in system performance with limited resources like memory and power. Designing successful embedded systems to fulfill these requirements is an ever-increasingly challenging task. Typically, the application is known and fixed before the design stage of an embedded system. System developers can take advantage of the application specific information and make judicious decisions during the design phrase. An emerging theme is to integrate multiple design steps to better optimize the design goals of embedded systems. For example, considering architecture while designing the algorithms, compiler optimization while considering the underlying systems and networks, architecture design space exploration while considering application, are all examples of integrated design approaches for embedded system optimization. This special issue is intended to present this type of integrated techniques. The topics include, but are not limited to: tem at http://mts.hindawi.com/ according to the following timetable: • Algorithm-architecture coexploration for embedded Tulika Mitra, National University of Singapore, Kent Ridge, Singapore; tulika@comp.nus.edu.sg • • • • • • • systems Architecture specific real-time operating system design and optimization Compiler optimizations on emerging architectures: SoC, MPSoC, ASIPS for embedded systems Integration of protocols, systems, and architecture in smart embedded sensors Verification and validation of the integrated design flow Application-specific Network-on-chip design Architecture-aware performance analysis Application case studies Manuscript Due December 1, 2009 First Round of Reviews March 1, 2010 Publication Date June 1, 2010 Lead Guest Editor Chun Jason Xue, City University of Hong Kong, Kowloon, Hong Kong; jasonxue@cityu.edu.hk Guest Editors Alex Orailoglu, University of California at San Diego, La Jolla, CA 92093, USA; alex@cs.ucsd.edu Guoliang Xing, Michigan State University, East Lansing, MI 48824, USA; glxing@msu.edu Before submission authors should carefully read over the journal’s Author Guidelines, which are located at http://www .hindawi.com/journals/es/guidelines.html. Prospective authors should submit an electronic copy of their complete manuscript through the journal Manuscript Tracking Sys- Hindawi Publishing Corporation http://www.hindawi.com EURASIP Journal on Wireless Communications and Networking Special Issue on Interference Management in Wireless Communication Systems: Theory and Applications Call for Papers Interference is a fundamental nature of wireless communication systems, in which multiple transmissions often take place simultaneously over a common communication medium. In recent years, there has been a rapidly growing interest in developing reliable and spectral efficient wireless communication systems. One primary challenge in such a development is how to deal with the interference, which may substantially limit the reliability and the throughput of a wireless communication system. In most existing wireless communication systems, interference is dealt with by coordinating users to orthogonalize their transmissions in time or frequency, or by increasing transmission power and treating each other’s interference as noise. Over the past twenty years, a number of sophisticated receiver designs, for example, multiuser detection, have been proposed for interference suppression under various settings. Recently, the paradigm has shifted to focus on how to intelligently exploit the knowledge and/or the structure of interference to achieve improved reliability and throughput of wireless communication systems. This special issue aims to bring together state-of-the-art research contributions and practical implementations that effectively manage interference in wireless communication systems. Original contributions in all areas related to interference management for wireless communication systems are solicited for this special issue. We are particularly interested in manuscripts that report the latest development on interference channels or cognitive radio channels from the perspectives of information theory, signal processing, and coding theory. Topics of interest include, but are not limited to: • Information theoretic study of interference channels • • • • • • or cognitive radio channels Game theoretical approach to interference management in wireless networks Cooperative wireless communication systems Relaying in interference networks Advanced coding schemes for interference/cognitive radio channels Interference channels with confidentiality requirement Femtocell networks • Signal processing algorithms for interference mitigation • Receiver designs for interference channels or cognitive radio channels • MIMO interference channels or MIMO cognitive radio channels • Base station cooperation for interference mitigation • Network coding for interference channels or cognitive radio channels • Resource allocation for interference management Before submission authors should carefully read over the journal’s Author Guidelines, which are located at http://www .hindawi.com/journals/wcn/guidelines.html. Prospective authors should submit an electronic copy of their complete manuscript through the journal Manuscript Tracking System at http://mts.hindawi.com/ according to the following timetable: Manuscript Due November 1, 2009 First Round of Reviews February 1, 2010 Publication Date June 1, 2010 Lead Guest Editor Yan Xin, NEC Laboratories America, Inc., Princeton, NJ 08540, USA; yanxin@nec-labs.com Guest Editors Xiaodong Wang, Electrical Engineering Department, Columbia University, New York, NY 10027, USA; wangx@ee.columbia.edu Geert Leus, Faculty of Electrical Engineering, Mathematics and Computer Science, Delft University of Technology, Mekelweg 4, 2628 CD Delft, The Netherlands; g.j.t.leus@tudelft.nl Guosen Yue, NEC Laboratories America, Inc., Princeton, NJ 08540, USA; yueg@nec-labs.com Jinhua Jiang, Department of Electrical Engineering, Stanford University Stanford, CA 94305, USA; jhjiang@stanford.edu Hindawi Publishing Corporation http://www.hindawi.com