2012 American Control Conference Fairmont Queen Elizabeth, Montréal, Canada June 27-June 29, 2012 Design and Validation of an Attitude and Heading Reference System for an Aerial Robot Prototype Bojan Milosevic, Roberto Naldi, Elisabetta Farella, Luca Benini and Lorenzo Marconi Abstract— In this paper we consider the design and the experimental validation of an attitude and heading reference system for a miniature aerial robot prototype based on measurements obtained from a low cost off-the-shelf inertial measurement unit. Different estimation algorithms to process the raw inertial data are implemented and validated in real indoor flight tests by employing, as a reference, the accurate attitude estimation obtained from a vision based motion tracking system. The proposed experiments allow to accurately evaluate the performance of the different estimation algorithms and the effects of disturbances, such as vehicle accelerations, vibrations and non ideal magnetic fields, in a typical scenario of application for the considered unmanned vehicle prototype. I. INTRODUCTION Nowadays unmanned aerial vehicles (UAV) have attracted the interest of many engineering fields and have been widely employed in several civil and military operations [1]. One of the main reason of this large success derives from the effectiveness of the flight control system, and in particular of the low-level attitude control loop [2], which requires an accurate estimation of the attitude of the system. Typically, the attitude is obtained using low cost Inertial Measurement Units (IMU). The outputs of these sensors however are characterized by noise and time varying biases and are affected by the disturbances caused by the vehicle own motion, such as accelerations and vibrations. Indeed, to obtain an accurate estimation, suitable sensor fusion algorithms must be implemented [3]. Different approaches have been developed to estimate the vehicle orientation from sensor data, including Kalman filters [4] and non-linear particle filtering techiniques [5]. We focus on the Kalman filter approach, comparing its two most adopted implementations, the Extended Kalman Filter (EKF) [6] and the the Unscented Kalman Filter (UKF) [7], [8]. In this work we consider the problem of designing an attitude and heading reference system for an aerial robot prototype by employing only the measurements deriving from a commercial low-cost IMU. The vehicle in question is given by a small prototype of ducted-fan aircraft [10] that has been specifically designed for indoor robotics operations, and in particular for inspection of large infrastructures [9]. In this scenario, the lack of an accurate position measure, in particular of the Global Positioning System (GPS) signal that can be used to compensate for the effects of aircraft motion B.Milosevic, R.Naldi, E.Farella, L.Benini and L.Marconi are with DEIS - Dipartimento di Elettronica, Informatica e Sistemistica, Universitá di Bologna, 40136 Bologna, Italy [bojan.milosevic, roberto.naldi, elisabetta.farella, luca.benini, lorenzo.marconi]@unibo.it 978-1-4577-1096-4/12/$26.00 ©2012 AACC in the inertial data [3], and the presence of mechanical vibrations and magnetic disturbances may significatively affect the accuracy of the vehicle’s attitude estimation obtained using only the inertial data. The main idea is to use as a reference the attitude obtained through a vision based motion tracking system [11], that is not affected by the above disturbances, in order to validate the design of attitude and heading reference system and, more specifically, to compare the performance of both the EKF and UKF estimation algorithms during real flight tests. To validate the design of an AHRS and, more specifically, to compare the performance of both EKF and UKF estimation algorithms during real flight tests, we used as a reference the attitude obtained through an independent vision based motion tracking system [11], that is not affected by the above disturbances. Several works compare the effectiveness of EKF and UKF algorithms in similar scenarios: [12] simulate the two algorithms as sensor fusion techniques to estimate position and orientation of a ground vehicle. The results report a similar performance of the two in term of estimation error, while the UKF has a much larger computational time. In [13] a loosely coupled INS/GPS navigation solution is used to test nonlinear filters for pose estimation, correcting the inertial estimations with the drift-free GPS ones. It shows a better performance of the UKF, especially during periods with no visible satellite, when the EKF can no longer track the INS drifts, so the predicted values diverge. The two works compare the proposed algorithms, but don’t use an external reference to validate the performance and the latter uses a GPS correction which is not suitable for indoor applications. An independent reference reconstructed by a multi-camera video setup is used in [14] to validate the performance of a wearable IMU, employed for human movement tracking. In [15] an indoor test-bed solution for small size autonomous vehicles (RAVEN ) is proposed. The system employs several IR cameras to obtain an accurate estimation of the vehicles’ position and orientation. This solution has been used to improve the design and test of UAVs, but has not been employed to validate the performance of low power and low cost IMUs, now being widely avilable. The paper is organized as follows: the next Section introduces the sensors’ models and their calibration techniques and in Section III the estimation algorithms are presented. The subsequent Section V shows the experimental setup and results, leading to the conclusions in the last Section. 1720 II. S ENSOR M ODELS For this work we used a commercial low-cost IMU platform, the ST iNemo [16], which embeds the sensors presented in Table I. The board has a small form factor (4 × 4cm) and is provided with a mini-USB connector to easily stream data to a PC. The raw measurements Yg from the gyroscope, Ya from the accelerometer and Ym from the magnetometer, expressed in body frame, are modeled as: Yg = wib + bg + νg Ya = aib − g + ba + νa (1) Ym = m + νm where νi , i ∈ {g, a, m}, are uncorrelated Gaussian white noise with variance σi2 , while bg and ba are time-varying biases modeled as a first-order Gauss-Markov process ḃ = βb + νb (2) characterized by time constant 1/β and uncorrelated Gaussian white noise νb with variance σb2 . A. Calibration The MEMS sensors employed are factory calibrated, but for a correct use they need to be calibrated when mounted on the UAV, with respect to the body frame. The gyroscope is affected by a constant bias b0g , which can be easily estimated. When still, the sensor should report a null angular velocity along all three axes, but instead it has a constant bias. To compensate this unwanted effect, we put the sensor still for some seconds and take the mean value of the readings along each axis as the offset to be removed from future readings. The compensated gyro readings Y˜g can be expressed as: Y˜g = Yg + b0g . (3) The accelerometer measurements are affected by scale and offset factors for each axis and misalignment factors between the sensor’s axes and the body frame axes. The relationship between the calibrated Ỹa and the raw measurements Ya can be expressed as: Y˜a = Ca Ya + b0a imperfections and external magnetic sources. Intrinsic imperfections cause again scale, offset and misalignment factors between the sensor’s axes. External magnetic distortions can be divided into Hard-iron and Soft-iron distortion [17]. Hard-iron distortion is produced by materials that exhibit a constant magnetic field, thereby generating a constant additive bias to the output of each magnetometer axes. Softiron distortion is the result of a material that influences, or distorts, a magnetic field, in a way that cannot only be captured as the effect of an additive disturbance on the magnetic measurements. Only the effects of materials that have a constant position and orientation with respect to the sensor can be compensated by the calibration procedure. An extensive magnetometer calibration method is proposed in [17] and it is here applied to correct raw sensor readings. In particular the magnetometer measurement model adopted for the calibration is given by: (4) where Ca ∈ R3×3 summarizes misalignment and scale factors while b0a ∈ R3 is an offset vector. The goal of the accelerometer calibration is to determine Ca and b0a , so that the calibrated values can be obtained with any new raw measurement. To estimate the parameters the sensor is placed at 6 stationary positions with known desired output, i.e. with the gravity vector aligned with the positive and negative directions of the three axes. At each position we compute the average of 10 seconds of accelerometer raw data and then we apply the least square method to obtain the optimal calibration parameters. The magnetometer senses the Earth’s magnetic field, which is weak and can be corrupted by intrinsic sensor Ym = Cm Ỹm + b0m 1 2 sin ρ1 = 3 sin ρ2 cos ρ3 0 2 cos ρ1 3 sin ρ3 0 Ỹm +b0m 0 3 cos ρ2 cos ρ3 (5) where Ỹm is the desired corrected value, coefficients k represent the sensor scaling errors and ρk the sensor misalignment angles. Equation (5) is solved for Ỹm and substituted into 2 2 2 2 + Ỹmy + Ỹmz (6) Ỹm = Ỹmx where Ỹm is the (known) local magnetic field amplitude. This gives a quadratic polynomial in Ymx , Ymy , Ymz , whose coefficients are nonlinear functions of k , ρk and b0m . The numerical values of these coefficients are found from a leastsquares solution using Ym , namely the raw data. Thereafter, the system of nonlinear equations is solved numerically, and the magnetometer measurements are corrected using: −1 Ỹm = Cm (Ym − b0m ). (7) Magnetic measurement errors are more critical when compared to the other two sensors and primarily affect the yaw angle estimation [3]. The proximity of the UAV motor influences the magnetic field sensed, but can be compensated because it has a fixed position in the body frame (hard iron disturbance). On the other hand, magnetic or metal objects encountered while the vehicle is moving introduce a soft iron disturbance that can’t be compensated. Hence the magnetic calibration procedure should be available as an on-line routine to re-calibrate the sensor when needed. Same results are shown by [18], where the impact of magnetometer calibration is validated in a helicopter UAV navigation system. To summarize, the calibration procedure is the following: 1) collection of static data with the device resting on the 6 different orientations; 2) computation of accelerometer and gyroscope offsets and scale factors; 1721 TABLE I IMU SENSORS Sensor Accelerometer Magnetometer Gyroscope Roll-Pitch Gyroscope Yaw Model Type LSN303DLH Digital LPR430AL LY330ALH Analog Analog Range ±2g ±2gauss 300dps 300dps Sensitivity 1mg/digit 1mgauss/digit 3.33mV /dps 3.75mV /dps −q1 q1 Ωq = −q4 q3 Fig. 1. Inertial (NED) and body reference frames as shown in the Optitrack user interface. 3) three-dimensional rotations of the device, approximately around the three axis; 4) computation of the magnetometer parameters; 5) storage of all computed parameters and compensation of future samples. Steps 1-2 are executed offline before a flight test, while steps 3-4 can be executed on-line employing data collected during flight. At the moment we tested the calibration procedure offline with collected data and we will implement and evaluate an on-line version of the algorithm. III. AHRS E STIMATION The vehicle attitude describes the relative orientation of the axes of the body (b) and navigation (n) frames-of-reference and it is expressed by the rotation matrix Rbn . The navigation frame is aligned with the North-Est-Down [N ED] frame with the x axis pointing North, the y axis pointing Est and the z axis pointing down. The body frame has its origin fixed to the center of mass of the vehicle with the z axis aligned with the propeller’s spin axis. For an intuitive graphical representation of the reference frames the reader is referred to Figure 1. The rotation matrix can be parameterized using the rollpitch-yaw Euler angles (φ, θ, γ) or unit quaternions q = (q0 , q), where q ∈ R and q ∈ R3 are respectively the scalar and vector part of the quaternion. Quaternions are employed to represent the attitude kinematics in the filter equations, while the more intuitive Euler angles are employed for user output. The attitude kinematics of a rigid body are governed by the equation 1 b q̇ = Ωq wbn (8) 2 b b b where wbn = win − wib is the angular velocity of the body frame with respect to the navigation frame, and −q3 q4 q1 −q2 −q4 −q3 . q2 q1 (9) The details of attitude dynamics integration and quaternion computations can be found in the Appendix of [3]. Since our application involves low speed flights of relatively short duration and distance, we consider the navigation b frame as an inertial frame and define win = 0. Based on the sensor model introduced in (1), we can estimate the angular velocity of the body frame with respect to the navigation frame from the gyroscope readings, having b wbn = −(Ỹg − bg ) (10) which can be integrated through eq. (8) to obtain the current orientation. Due to sensor noise and bias, the integrated orientation is subject to drift and can’t be used without an external reference. For this purpose, accelerometer and magnetometer measurements are used to compute another estimate of the orientation and correct the integrated one. The Kalman filter can be used to fuse that information and update the orientation of the body. This approach must take care that accelerometers measure specific force composed of kinematic accelerations minus the gravitational acceleration, as seen in section II, and without an external reference we can’t separate the two effects. Since the orientation estimation needs only the gravitation vector, the system needs to detect when the vehicle is accelerating and to treat the kinematic accelerations as an additional disturbance. Based on the sensor models and the attitude dynamics, the complete system con be modeled as follows: 1 b q̇ = Ωq wbn 2 b˙g = βg bg + νbg (11) ˙ ba = βa ba + νba Ỹa = RqT g n + ba + νa Ỹm = RqT mn + νm (12) where Rq is the rotation matrix Rbn obtained from the integrated quaternion q, x = [q, bg , ba ]T is the system state and y = [Ỹa , Ỹm ]T are the measurements. The predicted state x̂ is obtained integrating the noise-free version of (11), which can be corrected using the measurements y and one of the two Kalman filter approaches. The EKF aproach approximates the non-linear equations (11) and (12) with the Taylor series expanded around the 1722 TABLE II N OISE CHARACTERISTICS OF THE ON - BOARD SENSORS . σa [m/s2 ] 0.010 0.011 0.027 σg [dps] 0.007 0.004 0.009 σm [gauss] 2.853 3.068 3.005 b0a [m/s2 ] 0.0245 0.0245 0.0245 b0g [dps] 0.00089 0.00089 0.00089 (a) estimated state vector x̂. To ensure a better convergence of the linearized EKF, we use a complementary version of the filter, which uses the errors δx = x − x̂ and δy = ỹ − ŷ as system state and measurements. Full details of the filter implementation can be found in [3]. The UKF uses a deterministic sampling technique known as the unscented transform to pick a minimal set of sample points (sigma points) around the mean of the estimated state x̂. These sigma points are then propagated through the nonlinear functions, from which the mean and covariance of the estimate are recovered. This technique removes the requirement to linearize the state and measurement functions and explicitly calculate Jacobians, but the non-linear functions have to be evaluated once for each sigma point. Full details of the filter implementation can be found in [8]. IV. E XPERIMENTAL S ETUP In order to validate the attitude obtained by processing the inertial measurements with the different estimation algorithms, an independent off-the-shelf motion tracking system based upon infrared cameras, the Optitrack System [11], has been employed. The Optitrack System produces as output the position and the orientation of a reference frame attached to the selected rigid body with respect to a given inertial reference frame fixed in the flight area at a rate up to 100Hz. The inertial frame can be manually changed by the end-user and, for better comparison, has been aligned with the NED frame. In order to estimate the attitude and the position, a certain number of highly reflective markers have been attached to the prototype. The accuracy of the attitude estimation directly depends both on the accuracy of the estimation of the position of each single marker and on the position of the different markers on the rigid body. By considering the camera calibration results, it turns out that the position of a single marker is tracked with an error less than 0.3 mm and then, placing the markers on the prototype at a sufficiently large distance from each other, the attitude error is expected to be less than 10−3 rad. In particular the attitude noise covariances computed during the experimental 2 tests are given by σO = [0.2 · 10−3 , 0.3 · 10−3 , 0.1 · 10−3 ] rad. The noise characteristics of the on-board sensors have been identified experimentally, obtaining the values in Table II. The magnetometer has the highest noise covariance among the three sensors, therefore we expected the yaw angle estimation to be slightly noisier compared to the other two, since it relies heavily on these measurements [3]. (b) Fig. 2. Experimental setup: (a) cameras’ positions and (b) the ducted-fan prototype with the on-board IMU and reflective markers. All the raw sensors data obtained from the iNemo are synchronized with the video tracking information and streamed to a ground-control station PC at a frequency of 100 Hz. The aerial robot used in the experiments consists of a miniature prototype of ducted-fan aircraft (see among others [19]) specifically designed in order to accomplish service robotics operations in potentially cluttered environments, such as inspection of power plants and other infrastructures [20]. A description of some of the prototype mechanical characteristics is given in Table III. The sensor has been attached to the duct fuselage (see Figure 2(b)) using compliant material in order to reduce the effects of mechanical vibrations. The latter have been accurately taken into account as described also in the following section. For the flight tests, the inertial data obtained from the IMU have been converted into the body frame attached to the center of mass of the vehicle. A graphical sketch of the overall experimental setup is given in Figure 2(a), showing also the position of the 12 IR cameras in the flight arena. The cameras are placed along the edges of a 6 × 6 m square area, giving us an effective field of view of 4 × 4 m. 1723 TABLE III D UCTED -FAN AIROBOTS FIRST PROTOTYPE : FEATURES AND H W Weight, payload, diameter BLDC-Motor Flight Time MCU Host communic. 1500 g, 300 g, 320 mm custom carbon / fiberglass airframe 1 x Scorpion SII 3020 KV 1100, 840 W cont. power approx. 7 minutes (with full payload) Arduino MEGA, 18 MHz XBee Pro 900Mhz V. E XPERIMENTAL R ESULTS Fig. 3. Effects of magnetic calibration from the IMU. In this respect it is also important to evaluate the effectiveness of the attitude estimation during maneuvers compatible with the ones required for the inspection operations to take place. This fact is possible with the use of the Optitrack system, in which the attitude estimation does not rely upon inertial measurements. The results obtained by the two different attitude estimation algorithms during real flight tests are then proposed in subsection V-C. A. Magnetic Calibration Fig. 4. Comparison between EKF and UKF estimations. In these tests the sensor has been tilted manually by an operator to evaluate the estimation without the disturbances introduced by the vehicle’s accelerations. Fig. 5. Effects of the vibrations induced by the motor. The purpose of the experiments that are presented in this section is to evaluate the performance of the AHRS designed for the ducted-fan prototype considering the characteristics of the envisaged application scenarios. Inspection operations, in particular, can be carried out in environments potentially rich of metal infrastructures and then also of magnetic disturbances. Accordingly in subsection V-A the impact of the calibration of the magnetic sensors has been carefully taken into account. The other interesting source of disturbances derives from the mechanical vibrations induced by the BLDC motor and the propeller. This fact is considered in subsection V-B using the inertial data sensed during a hovering test. The absence of an accurate GPS signal, moreover, implies that the disturbances deriving from system motion may not be properly compensated in the acceleration data obtained First we tested the effectiveness of the magnetometer calibration algorithm proposed in Section II-A by comparing the filter outcome when using raw and calibrated data. The results are illustrated in Figure 3, that shows the yaw angle computed by using the EKF with respectively the raw and the calibrated data. The obtained measure are finally compared also with the Optitrack estimate. The following Tab. IV reports the Root Mean Square (RMS) of the prediction error = q P 1 (δ ρ̂)2 and the RMS of the euclidean distance between n q P the inertial and Optitrack estimates, O = n1 (ρ̂ − ρO )2 . The prediction error has low values in both cases, since the filter can’t be aware of external disturbances, but the predicted angles are good only in the calibrated case, as we can see from the comparison with the Optitrack. Roll and Pitch estimation are marginally affected by the magnetometer calibration, since they rely on accelerometer measurements. Using calibrated data, we compared the two proposed estimators and obtained the results shown in Figure 4. Those results were achieved rotating by hand the vehicle: at the beginning of the plot we can observe rotations along each one of the three body frame axes and then we have a composed 3D rotation. The two solutions have very similar results, with the UKF having a slightly better performance at the cost of higher computation times. Computations has been done off-line in Matlab: the filters are initialized with the correct angles and for both we have used the same set of noise parameters, shown in Tab. II. The average execution time of one iteration loop is 0.4 ms for the EKF and 33 ms for the UKF, on the Intel Core i5 PC used for simulations. B. Mechanical vibrations Fig. 6. Effects of external acceleration applied to the body: the video tracking data was used to estimate the acceleration and correct the IMU measurements. One of the major problem that arises when using inertial sensors on rotary UAVs is given by the vibration introduced by the motor, which generates a high frequency noise in the inertial measurements. In the top graph of the Figure 5, we can see the accelerometer sampled values with the motor turned on maintaining the vehicle still on the ground. To mitigate the effects of the vibrations we pre-filtered the sampled accelerations with a low-pass filter and re-estimated the accelerometer’s noise parameters with the motor switched on, obtaining the results shown in the lower graph of Figure 5. We used a 4th order Butterworth low-pass filter (LPF), with a 16 Hz cut-off frequency. The variance of the estimated roll angle is shown in the Table V. 1724 TABLE IV R AW AND CALIBRATED ESTIMATION ERRORS Roll Pitch Yaw [deg] 0.05 0.04 0.03 Raw O [deg] 7.2 8.3 62.4 the presence of disturbances such as the aircraft motion, vibrations and external magnetic fields affect the inertial and magnetic measurements. We are planning to continue experimental tests comparing also alternative estimation techniques, as the non-linear complemetary filters. Future works also include an energy efficient on-line implementation of hte algorithms, on a resource constrained embedded platofrm. Calibrated [deg] O [deg] 0.004 3.7 0.003 3.1 0.004 3.8 TABLE V E FFECTS OF THE VIBRATIONS INTRODUCED BY THE MOTOR σRoll [deg] Motor OFF Motor ON EKF UKF EKF UKF KF 0.2 0.07 0.67 2.17 KF+LPF 0.18 0.07 0.53 1.39 VII. ACKNOWLEDGMENTS This research has been partially framed within the collaborative project AIRobots (Innovative Aerial Service Robots for Remote inspections by contact, ICT 248669) supported by the European Community under the 7th Framework Programme, and within the SOFIA project of the European Joint Undertaking on Embedded Systems (ARTEMIS). KF+LPF+noise 0.17 0.07 0.33 0.28 R EFERENCES C. Flight tests Finally, in Figure 6 we present the estimations of the UAV orientation during a 2 minutes flight test in which the vehicle performs small speed maneuvers simulating a real indoor visual inspection. In the higher graph we can see the position of the UAV, as tracked by the video system, from which we estimated also the external accelerations applied to the body aib , presented in the middle graph. The value of aib can be used in the accelerometer sensor model equation (1) to better estimate the gravity vector and thus to improve the overall attitude estimation. With the small accelerations involved in our tests, we didn’t notice a real improvement, as we can see in the lower graph for the EKF or in Tab. VI. In fact both filters produce almost the same estimation regardless the knowledge of the acceleration aib . Once again the two filters have comparable performance, with the UKF producing slightly better estimations. VI. C ONCLUSIONS In this paper we have shown the design of an Attitude and Heading Reference System for a miniature prototype of aerial robot. In particular two different sensor fusion algorithms, based on EKF and UKF respectively, have been implemented using a low cost commercial off-the-shelf inertial measurement unit, composed of an accelerometer, a gyro and a magnetic sensor, in order to estimate the attitude of the vehicle. The performance of the different approaches have been compared in real flight tests by employing, as a reference, the attitude obtained from a vision-based motion tracking system. This fact has allowed to validate the attitude estimation algorithms in a realistic scenario in which TABLE VI E STIMATION ERRORS DURING TEST FLIGHTS O [deg] Roll Pitch Yaw Inertial EKF UKF 3.7 1.4 3.1 1.8 3.8 1.7 Moving EKF UKF 5.4 2.9 5 2.0 8.5 4.1 With EKF 4 4.4 6.7 aib UKF 2.9 2.0 4.1 [1] J. M. Sullivan, Evolution or revolution? the rise of UAVs, IEEE Technology and Society Magazine, Vol.25(3), pp.43-49, 2006. [2] E.Feron and E.N.Johnson, Aerial Robotics, Springer Handbook of Robotics, Springer, pp.1009-1027, 2008. [3] J. A. Farrel, Aided Navigation: GPS with High Rate Sensors, New York, NY, McGraw Hill, 2008. [4] R.E. Kalman, A New Approach to Linear Filtering and Prediction Problems, Trans. of the ASME-Journal of Basic Engineering, Vol.82(D), pp.35-45, 1960. [5] R. Mahony, T. Hamel, J.-M. Pflimlin, Nonlinear Complementary Filters on the Special Orthogonal Group. IEEE Transactions on Automatic Control, Vol.53(5), pp.12031218, 2008. [6] H. W. Sorenson, editor, Kalman Filtering: theory and application, IEEE Press, 1985. [7] S. Julier and J. Uhlmann, A new extension of the kalman filter to nonlinear systems, In Int. Symp. Aerospace/Defense Sensing, Simul. and Controls, Orlando, FL, 1997. [8] R. van der Merwe and E. A. Wan, Sigma-Point Kalman Filters for Integrated Navigation, in Proc. of the 60th Annual Meeting of The Institute of Navigation (ION), Dayton, OH, Jun, 2004. [9] AIRobots Project Website, http://www.airobots.eu [10] R. Naldi, L. Gentili, L.Marconi and A.Sala, Design and experimental validation of a nonlinear control law for a ducted-fan miniature aerial vehicle, Control Engineering Practice, Vol.18(7), pp.747-760, 2010. [11] http://www.naturalpoint.com/optitrack/ [12] M. St-Pierre, D. Gingras, Comparison between the unscented Kalman filter and the extended Kalman filter for the position estimation module of an integrated navigation information system, Intelligent Vehicles Symp., pp. 831-835, 2004. [13] J. Ali, M. Ullah Baig Mirza, Performance comparison among some nonlinear filters for low cost SINS/GPS integrated solution, Nonlinear Dynamics, Vol.61(3), pp.491-502, 2010. [14] H.J. Luinge and P.H. Veltink, Inclination Measurement of Human Movement Using a 3-D Accelerometer With Autocalibration, IEEE Trans. on Neural Systems and Rehabilitation Engineering, 12(1), pp.112-121, 2004. [15] J.P. How, B. Bethke, A. Frank, D. Dale, J. Vian, Real-time indoor autonomous vehicle test environment, IEEE Control Systems Magazine, Vol.28(2), pp.51-64, 2008. [16] iNemo: http://www.st.com/internet/evalboard/product/250367.jsp [17] C.C. Foster, G.H. Elkaim, Extension of a two-step calibration methodology to include nonorthogonal sensor axes, IEEE Trans. on Aerospace and Electronic Systems, Vol.44(3), pp.1070-1078, 2008. [18] M. Barczyk, M. Jost, D.R. Kastelan, A.F. Lynch, K.D. Listmann, An experimental validation of magnetometer integration into a GPS-aided helicopter UAV navigation system, American Control Conference (ACC), pp.4439-4444, 2010. [19] L. Lipera et al., The micro craft istar micro-air vehicle: Control system design and testing, Proc. of the 57th Annual Forum of the American Helicopter Society, 2001. [20] Aerial Service Robotics: the AIRobots Perspective, Submitted to IROS Workshop, 2011. 1725