sensors

Article A Novel 3D Multilateration Sensor Using Distributed Ultrasonic Beacons for Indoor

Rohan Kapoor 1, Subramanian Ramasamy 1, Alessandro Gardi 1,*, Chad Bieber 2, Larry Silverberg 2 and Roberto Sabatini 1

1 School of Engineering, RMIT University, Aerospace and Aviation Discipline Melbourne, Melbourne VIC 3000, Australia; [email protected] (R.K.); [email protected] (S.R.); [email protected] (R.S.) 2 Mechanical and Aerospace Engineering, NC State University, Raleigh, NC 27695, USA; [email protected] (C.B.); [email protected] (L.S.) * Correspondence: [email protected]; Tel.: +61-434-673-788

Academic Editors: Dipen N. Sinha and Cristian Pantea Received: 8 August 2016; Accepted: 27 September 2016; Published: 8 October 2016

Abstract: Navigation and guidance systems are a critical part of any autonomous vehicle. In this paper, a novel sensor grid using 40 KHz ultrasonic transmitters is presented for adoption in indoor 3D positioning applications. In the proposed technique, a vehicle measures the arrival time of incoming ultrasonic signals and calculates the position without broadcasting to the grid. This system allows for conducting silent or covert operations and can also be used for the simultaneous navigation of a large number of vehicles. The transmitters and receivers employed are first described. Transmission lobe patterns and receiver directionality determine the geometry of transmitter clusters. Range and accuracy of measurements dictate the number of sensors required to navigate in a given volume. Laboratory experiments were performed in which a small array of transmitters was set up and the sensor system was tested for position accuracy. The prototype system is shown to have a 1-sigma position error of about 16 cm, with errors between 7 and 11 cm in the local horizontal coordinates. This research work provides foundations for the future development of ultrasonic navigation sensors for a variety of autonomous vehicle applications.

Keywords: navigation; overdetermined system; trilateration; ultrasonics; distributed sensing

1. Introduction In recent years, there has been an increasing research focus on developing and improving navigation systems for air, ground, and underwater vehicles. Navigation systems including the Global Navigation Satellite System (GNSS) are not possible to use underwater, and in several air and ground vehicle applications, it is prone to data degradations or the complete loss of signal due to multipath effects, interference, and antenna obscuration [1–5]. Hence, GNSS signals are not reliable in urban landscapes comprised of tall buildings and their performance further deteriorates in an indoor environment. Additionally, GNSS systems have an accuracy of a few meters, which is not suitable for most indoor navigation applications. Multilateration is a method used to determine the position of an object based on simultaneous range measurements from three or more anchors located at known positions [6]. If the number of anchors used is three, it becomes a case of trilateration. Trilateration has been implemented in ultrasonics-based localization systems like Active Bat [7], Cricket [8], Dolphin [9], and Millibots [10]. Alternate localization methods like Received Signal Strength (RSS), triangulation, and Time Difference of Arrival (TDOA) have been thoroughly investigated in the recent past. RSS has insufficient precision [11] and lower resolution [12] for an indoor environment. Triangulation requires expensive

Sensors 2016, 16, 1637; doi:10.3390/s16101637 www.mdpi.com/journal/sensors Sensors 2016, 16, 1637 2 of 13

hardwareSensors like2016, directional16, 1637 antennas and the equations employed are more complex than trilateration2 of 13 equations [13]. TDOA computations require the sharing of data between receivers, which in turn dictatesrequires bandwidth expensive and hardware power like requirements directional ante [14nnas]. Furthermore,and the equations TDOA employed calculations are more complex involve the than trilateration equations [13]. TDOA computations require the sharing of data between receivers, intersection of hyperbolic surfaces, which increases the computational complexity. Ultrasonic sensors which in turn dictates bandwidth and power requirements [14]. Furthermore, TDOA calculations are relativelyinvolve the inexpensive intersection and of robusthyperbolic against surfaces, environmental which increases noise. the This computational makes them complexity. preferable to otherUltrasonic location techniques sensors are thatrelatively employ inexpensive visual, tactile, and robust and magneticagainst environmen systems [15tal]. noise. This makes Basedthem preferable on these to premises, other location this techniques research focuses that employ on thevisual, development tactile, and magnetic and testing systems of an [15]. in-door 3D ultrasonicBased positioning on these premises, system this using research multilateration focuses on the for development real-time dynamic and testing platform of an in-door applications. 3D The proposedultrasonic systempositioning is tested system for using positioning multilateration accuracy for real-time in relevant dynamic static platform and dynamic applications. case The studies, includingproposed both system numerical is tested simulations for positioning and experimentalaccuracy in relevant tests. static After and discussing dynamic thecase principles studies, of multilateration,including both a suitablenumerical iterative simulations algorithm and experimental is introduced tests.for After over-determined discussing the principles multilateration of multilateration, a suitable iterative algorithm is introduced for over-determined multilateration problems. The results of the numerical simulations and experiments corroborate the validity of problems. The results of the numerical simulations and experiments corroborate the validity of the the proposed sensor architecture. After discussing the key research findings, the paper sums up with proposed sensor architecture. After discussing the key research findings, the paper sums up with conclusionsconclusions and and recommendations recommendations for for future future work. work.

2. Multilateration2. Multilateration Principles Principles In 2DIn space, 2D space, trilateration trilateration requires requires at at least least threethree measured distances distances between between anchors anchors and anda node, a node, the locationthe location of which of which is to beis to determined. be determined. The anchorsThe anchors should should not not be collinearbe collinear and and their their position position should be fixedshould and be known fixed and for higherknown for accuracy. higher accuracy. After the Afte measurementsr the measurements are acquired, are acquired, the location the location of the ofnode can bethe determined node can be as determined the intersection as the of intersection three circumferences of three circumferences whose geometric whose centresgeometric coincide centres with the anchorcoincide positions. with the Theanchor measured positions. distance The measured is represented distance byis represented the radii from by the the radii anchors. from Figurethe 1 depictsanchors. the trilateration Figure 1 depicts principle the trilateration in 2D involving principle three in 2D anchors involving and three associated anchors spheres and associated of different spheres of different radii, depicting the range from each anchor. The confidence area, depicted in radii, depicting the range from each anchor. The confidence area, depicted in green, is the intersection green, is the intersection of all three circles. In 3D space, a minimum of four measurements are of allrequired three circles. for multilateration. In 3D space, The a minimum node is located of four at the measurements intersection of arespheres, required with anchors for multilateration. fixed at The nodetheir isgeometric located centres. at the intersection of spheres, with anchors fixed at their geometric centres.

Figure 1. Multilateration position calculation. Figure 1. Multilateration position calculation. The fundamental principle adopted in multilateration systems is to measure the ranges between Thethe receiver fundamental (node) principleand simultaneously adopted inobserved multilateration transmitters systems (anchors). is to The measure equation the for ranges geometric between the receiverdistance (node) between and the simultaneously receiver and the transmitter observed transmitters can be written (anchors). as: The equation for geometric distance between the receiver and the transmitter can be written as: () = ( −) + ( −) + ( −) (1) q a 2 a 2 a 2 where ( , , ) areρ (thet) = co-ordinates(x − x kof) the+ (receivery − yk )and+ ( z ,− zk, ) ) are the transmitter (1) coordinates. A purely analytical solution for position in 3D space can be found with a system of three a a a whereequations (xk, yk, z withk) are three the unknowns: co-ordinates of the receiver and (x , y , z ) are the transmitter coordinates. A purely analytical solution for position in 3D space can be found with a system of three equations () = ( − ) + ( −) + ( −) (n = 1,2,3) (2) with three unknowns:

q a 2 a 2 a 2 ρn (t) = (x − xk) + (y − yk) + (z − zk) (n = 1, 2, 3) (2) Sensors 2016, 16, 1637 3 of 13

This would provide a uniquely constrained system with two solutions. However, the navigation solution calculated with this system of equations does not account for measurement errors, for a non-functional anchor, or for an anchor not detected due to being either out of the detection range or because of an obstruction. Errors in the measurements can considerably inflate one or more of the confidence bands shown in Figure1 and this would introduce errors in the position estimates. Additionally, there are certain constraints on the arrangement of anchors (e.g., a combination of three collinear anchors), which can lead to singularities in the position computation [16]. Finally, if any of the signals are degraded or lost, the system becomes underdetermined and hence not solvable analytically. In the proposed ultrasonic multilateration system, each range measurement is affected by a number of errors, the most significant being the time errors of the receiver and transmitter clocks. Since the range measurements are affected by these errors, they differ from the actual geometric distance corresponding to the epochs of signal transmission and reception. The general range equation is given by:

t t ρk (tk) = tk − t v (3) t t where ρk is the actual measurement, tk is the nominal time of the receiver clock k at reception, t is the nominal time of the transmitter clock s at emission, and v is the speed of sound. The clock biases are modeled using the following expressions:

tr, k = tk + dtk (4) t t t tk = t + dt (5) t where r denotes the true time and the terms dtk and dt represent the receiver and transmitter clock errors respectively. Taking these errors and biases into account, the complete expression for the single range measurement becomes:

t t t t t t Rk (tk) = ρk (tr,k) − dtk − dt v + Pk,t (tk) + dk,T (tk) + dt (tk) + dk,t (tk) + εt (6) where:

t ρk (tr,k) = geometric distance; t Pk,t (tk) = propagation delay in air (standard conditions); dk,t (tk) = receiver clock error; t dt (tk) = transmitter clock error; t dk,T (tk) = multipath error; εt = random measurement noise.

The multipath error depends on the geometry of the transmitter and the receiver with respect to the surrounding reflective surfaces. The coordinates of the receiver as well as the timing information are derived from the simultaneous observation of four (or more) transmitters. Assuming a constant clock error dtk for measurements to any transmitter and neglecting all other error terms, the following system of equations are obtained: q n n 2 n 2 n 2 Rk (t) = (x − xk) + (y − yk) + (z − zk) + vdtk (n = 1, 2, 3, 4) (7)

Considering this system of equations, a minimum of four transmitters is required to yield four equations, which are solved to provide the positioning solution.

Multilateration Algorithm Various algorithms were considered and evaluated for implementation in our ultrasonic sensor system [17–21]. These included both analytical trilateration and recursive multilateration techniques. Both approaches gave similar results in most of the cases. However, for over determined Sensors 2016, 16, 1637 4 of 13 system configurations, the multilateration algorithms were found to give more accurate and robust positioning solutions. Therefore, to make our system more robust against data losses and measurement errors, our research focused on efficient algorithms that could accommodate redundant measurements both in a static and dynamic environment. In [17], a linear algebraic method is presented to compute an optimal solution for over determined multilateration problems. However, this algorithm is not suitable for dynamic platform applications. Considering the nature of the ultrasonic sensor system proposed in our research, a recursive least squares algorithm [18,19] was selected for the ultrasonic . When more than four transmitters are being observed, the problem is over-determined and can be solved in a least squares sense to yield an optimal estimate of the receiver location. In practice, the solution is obtained iteratively starting from an initial guess of the receiver position (x0, y0, z0). In this case, we have:

x = x0 + ∆x (8)

y = y0 + ∆y (9)

z = z0 + ∆z (10) where ∆x, ∆y, and ∆z are the differences between the true solution and the initial guesses (corrections to the nominal values). To correct the initial guess, a linear (first-order Taylor) expansion of ρk is adopted. Let n denote a preliminary best estimate value. The linearised equation is:

s s s xn − x yn − y zn − z s − s ∆xk − s ∆yk − s ∆zk + ∆dtk = ∆R (11) Pn Pn Pn

s s where Rn is the nominal range measurement to the sth transmitter and ∆R is the difference between the actual and nominal range measurements. In addition to the ranging errors that affect the sensor position accuracy, the relative geometry of the transmitters and the receiver affects the estimation. The four linearised equations considering four transmitters are given by:

 1        ∆R d11 d12 d13 1 ∆xk ε1  ∆R2   d d d 1   ∆y   ε    =  21 22 23   k  +  2   3        (12)  ∆R   d31 d32 d33 1   ∆zk   ε3  4 ∆R d41 d42 d44 1 ∆dtk ε4 where dij is the direction cosine of the angle between the Line of Sight (LoS) to the ith transmitter and the jth co-ordinate and εi represents the measurement and other errors. Hence the solution is given by:   ∆xk    −1  ∆yk  T 2 T 2 1 2 3 4   = − B σ0 Rρ B B σ0 Rρ [∆P ∆P ∆P ∆P ] (13)  ∆zk  ∆dtk where B is the matrix of coefficients of the linear set of equations, Rρ is the covariance matrix of the 2 pseudorange errors, and σ0 is a scale factor known as the a priori variance of unit weight.

3. Numerical Simulation The multilateration algorithm was tested in a representative simulation environment. This activity allowed us to define an effective layout of the beacons and to estimate the navigation performance achievable by the system in the intended application. In particular, a user interface was developed in MATLAB to test the system in 2D space. The test area was assumed to be a 5 by 5 unit rectangular space. The position of the three transmitters within the test area could be easily adjusted by the user. Additionally, the initial guess of the position of the receiver could also be defined by the user. Sensors 2016, 16, 1637 5 of 13

Figures2–5 depict various simulation test cases. The number of iterations required to obtain the final estimate,Sensors 2016 as, well 16, 1637 as their depiction in the test area, are displayed in the interface. 5 of 13 SensorsThe 2016 simulations, 16, 1637 were performed on four test cases. The three transmitters are placed at (1, 4),5 of (4, 13 1) andinteresting (2, 3) for allto note cases how except the Figureinitial 4estimate. Figure of2 presents the receiver the position test case determines in which the the presented final output algorithm of the calculatesinterestingalgorithm, the to coordinatessubject note how to thethe of initial thegeometric receiver estimate arrangement correctly, of the re takingceiver of transmitters. six position iterations determines In to doFigures so. the It 2 is finaland interesting output3, all three toof notethe howalgorithm,transmitters the initial subject estimatebeing tocollinear, the of the geometric receiverthe final positionarrangementestimatedetermines is dependent of transmitters. the upon final the output In initially Figures of the estimated algorithm,2 and position3, all subject three in to thetransmitters2D geometric space. When being arrangement the collinear, 2D space of the transmitters.is finaldivided estimate into In two Figuresis dependentplanes2 andby the 3upon, allline threethe joining initially transmitters the transmitters,estimated being position the collinear, final in the2Destimate finalspace. estimate When is calculated the is dependent 2D correctlyspace is upon dividedonly the if the initiallyinto initial two estimated plestimateanes by is position the in theline same injoining 2D plane space. the astransmitters, When the actual the 2D receiver the space final is dividedestimateposition, into is ascalculated two shown planes in correctly Figure by the 2. lineonly Otherwise, joining if the initial the calc transmitters, estimateulated position is in the the final is same the estimate mirror plane imageas is calculatedthe ofactual the receiver receiver correctly onlyposition,position, if the as initialwith shown the estimate inline Figure joining is in2. the Otherwise, transmitters same plane the calcacting as theulated as actual the position mirror receiver isaxis. the position, mirror image as shown of the in receiver Figure2 . Otherwise,position, with the calculatedthe line joining position the transmitters is the mirror acting image as of the the mirror receiver axis. position, with the line joining the transmitters acting as the mirror axis.

Figure 2. Collinear convergence.

Figure 2. Collinear convergence. convergence.

FigureFigure 3.3. Mirroring.Mirroring.

Figure 3 shows the calculated receiver position to be (2, 2), which is the mirror image of (3, 3) Figure 3. Mirroring. with respect to the line joining (1, 4), (4, 1), and (2, 3). However, the mirroring disappears when the transmitters are rearranged in a non-collinear configuration, as shown in Figure 4. Another Figure 3 shows the calculated receiver position to be (2, 2), which is the mirror image of (3, 3) observation made while analysing the simulation results occurred when the initial estimate of the with respect to the line joining (1, 4), (4, 1), and (2, 3). However, the mirroring disappears when the

transmitters are rearranged in a non-collinear configuration, as shown in Figure 4. Another observation made while analysing the simulation results occurred when the initial estimate of the

Sensors 2016, 16, 1637 6 of 13

Sensors 2016, 16, 1637 6 of 13 Figure3 shows the calculated receiver position to be (2, 2), which is the mirror image of (3, 3) Sensors 2016, 16, 1637 6 of 13 receiver’swith respect position to the was line in joining line with (1, 4),the (4, already 1), and collinear (2, 3). However, transmitter the configuration mirroring disappears (Figure 5); when this led the totransmitters a mathematical are rearranged singularity in aand non-collinear hence the algorithm configuration, failed as to shown proceed. in Figure 4. Another observation receiver’s position was in line with the already collinear transmitter configuration (Figure 5); this led made while analysing the simulation results occurred when the initial estimate of the receiver’s position to a mathematical singularity and hence the algorithm failed to proceed. was in line with the already collinear transmitter configuration (Figure5); this led to a mathematical singularity and hence the algorithm failed to proceed.

Figure 4. Non-collinear convergence.

Figure 4. Non-collinearNon-collinear convergence.

FigureFigure 5. 5. Singularity.Singularity.

AnAn in-depth analysis of of all simulation Figure result results 5. Singularity.s supported the the design and development of of the experimentalexperimental setup setup for for validation validation of of the the system. system. The The experimental experimental positioning positioning system system was wasset up set and up variousand variousAn experiments in-depth experiments analysis were conducted were of all conducted simulation to test tothe result test 3D thepositionings supported 3D positioning system the design systemfor robustness and for development robustness to noise, tosensors of noise, the notexperimentalsensors being not detected being setup detectedduefor validation to an due obstruction, toof the an system. obstruction, or sens Thorse experimental orbeing sensors out of being positioning range. out The of system range.real-time was The positioning set real-time up and capabilityvariouspositioning experiments of capability a moving were ofreceiver a conducted moving was receiver also to test tested. wasthe 3D also positioning tested. system for robustness to noise, sensors not being detected due to an obstruction, or sensors being out of range. The real-time positioning 4.capability Experimental of a moving Verification receiver was also tested.

4. Experimental Verification

Sensors 2016, 16, 1637 7 of 13

4. Experimental Verification Sensors 2016, 16, 1637 7 of 13 The conceptual schematic of a 3D positioning system based on ultrasonic beacons is shown in The conceptual schematic of a 3D positioning system based on ultrasonic beacons is shown in FigureSensors6. The 2016, transmitters 16, 1637 are connected to an amplifier and timing circuit, which is configured7 of 13 to dispatchFigure 200 6. microsecondThe transmitters (eight are connected cycles) bursts. to an amplifier The transmitter and timing circuit circuit, receives which is a con triggerfigure fromd to the microcontroller,dispatchThe conceptual200 whichmicrosecond initiatesschematic (eight the of cycles)a timing 3D positioning bursts. of the The ultrasonic sy stemtransmitter based signals oncircuit ultrasonic being receives sent. beacons a trigger The is receiver shown from the in circuit microcontroller, which initiates the timing of the ultrasonic signals being sent. The receiver circuit consistsFigure of an6. amplifierThe transmitters and sends are connected a binary 1to value an amplifier to the microcontroller and timing circuit, upon which receiving is configured the ultrasonic to consists of an amplifier and sends a binary 1 value to the microcontroller upon receiving the ultrasonic signal.dispatch Errors 200 due microsecond to multipath (eight have cy beencles) neglectedbursts. The in transmitter the positioning circuit system.receives a trigger from the microcontroller,signal. Errors due which to multipath initiates have the beentiming neglected of the ultrasonic in the positioning signals beingsystem. sent. The receiver circuit consists of an amplifier and sends a binary 1 value to the microcontroller upon receiving the ultrasonic signal. Errors due to multipath have been neglected40 KHz Sinignal the positioning system. Trranssmiitttterr Recceiivverr

40 KHz Signal Transmitter Receiver Amplliiffiierr//Diigiittiizzerr Ciirrccuiittrryy Digital Input

Amplifier/Digitizer Circuitry Digital Output 40 KHzz Drriivverr Digital Input Datta Accquiissiittiion and Miiccrrocconttrrollllerr Ciirrccuiittrryy Conttrroll Sttattiion

Digital Output 4040 KHzKHz DriverDriver Data Acquisition and Figure 6. 3D positioningMicrocontroller system schematic. CircuitryFigure 6. 3D positioning system schematic.Control Station

An experimental setup was built in an indoor environment for testing of the 3D positioning Figure 6. 3D positioning system schematic. Ansystem. experimental The setup consisted setup was of six built 40 KHz in antransmitters indoor environment mounted in a 2.4 for m testing by 0.9 m of grid the on 3D the positioning ceiling system. The setup consisted of six 40 KHz transmitters mounted in a 2.4 m by 0.9 m grid on the ceiling (FigureAn 7experimentala) and a receiver setup circuit was connectedbuilt in an throughindoor environmenta microcontroller for testing to the ofcomputer the 3D (positioningFigure 7b). (Figure7a) and a receiver circuit connected through a microcontroller to the computer (Figure7b). system.Initially, The calibration setup consisted of the of Time six 40-of KHz-Flight transmitters measurements mounted was in conducteda 2.4 m by 0.9 on m a grid test on bench. the ceiling The Initially,(Figureconversion calibration 7a) factorand ofa forreceiver the conver Time-of-Flight circuitting the connected Time measurements-of -throughFlight measurements a wasmicrocontroller conducted to distance to on the a test wascomputer bench. obtained (Figure The from conversion 7b). the factorInitially,calibration for converting calibration process. the of ThisTime-of-Flight the conversionTime-of-Flight measurements factor measurements was subsequently to distance was conducted introduced was obtained on ina fromtest the bench. positioning the calibration The process.conversionalgorithms This conversion factor for post for converting processing factor was the as subsequently Time-of-Flight well as for realintroduced measurements time dynamic in to the distance positioning positioning was obtained algorithms. algorithms from Thethe for post processingcalibrationmicrocontroller as well process. asemployed for This real was timeconversion QSK62P dynamic factorPlus positioning [22].wa sQSK62P subsequently algorithms. Plus is aintroduced 16 The-Bit microcontroller microcontroller in the positioning that employed has Serial Input/Output (I/O) that supports Serial Peripheral Interface (SPI) bus to the computer. The was QSK62Palgorithms Plus for [22post]. QSK62Pprocessing Plus as iswell a 16-Bit as for microcontroller real time dynamic that positioning has Serial Input/Outputalgorithms. The (I/O) microcontrollerQSK62P microcontroller employed was was chosen QSK62P specifically Plus [22]. among QSK62P the Plus available is a 16-Bit options microcontroller as it had the requiredthat has that supportsnumber of Serial I/O and Peripheral SPI ports. Interface The frequency (SPI) bus of the to the microcon computer.troller The was QSK62P 3 MHz for microcontroller time-of-flight was chosenSerial specifically Input/Output among (I/O) the that available supports options Serial Peripheral as it had theInterface required (SPI) numberbus to the of computer. I/O and SPIThe ports. QSK62Pmeasurements. microcontroller This allow wased chosenfor very specifically high-resolution among distance the available measurements. options as However, it had the thererequired are The frequency of the microcontroller was 3 MHz for time-of-flight measurements. This allowed for very numbercertain offsets of I/O introduced, and SPI ports. both Theconstant frequency and variable, of the microcontroller due to the time wasdelays 3 MHzin various for time-of-flight stages of the high-resolution distance measurements. However, there are certain offsets introduced, both constant measurements.3D positioning circuiThis allowedtry, discussed for very further high-resolut in Sectionion 4.1. distance measurements. However, there are and variable,certain offsets due tointroduced, the time delaysboth constant in various and variable stages of, due the to 3D the positioning time delays circuitry,in various discussed stages of the further in Section3D positioning 4.1. circuitry, discussed further in Section 4.1.

(a) (b)

Figure 7. Layout of the experimental setup, consisting of: (a) transmitters mounted on the ceiling; (b) 3D positioning system. (a) (b)

Figure 7. Layout of the experimental setup, consisting of: (a) transmitters mounted on the ceiling; Figure 7. Layout of the experimental setup, consisting of: (a) transmitters mounted on the ceiling; (b) 3D positioning system. (b) 3D positioning system.

Sensors 2016, 16, 1637 8 of 13

SensorsSensors 2016 2016, 16, 16, 1637, 1637 8 of 813 of 13 The timing data, which was in the form of unprocessed microcontroller ticks, was sent to the computerTheThe through timing timing thedata, data, serial whichwhich port waswas interface. in the formform The ofof data unprocessedunprocessed was received microcontroller microcontroller by MATLAB ticks, ticks, for was further was sent sent to processing theto the to calculatecomputercomputer the through through receiver the the coordinates.serial serial portport interface. TheThe da datata was was received received by by MATLAB MATLAB for for further further processing processing toto calculate calculate the the receiver receiver coordinates. coordinates. 4.1. Sources of Error 4.1. Sources of Error 4.1.There Sources are of various Error sources of error in the positioning system resulting primarily from hardware There are various sources of error in the positioning system resulting primarily from hardware limitations.There As are shown various in sources Figure8 of, a error constant in the offset positioning of 40 microseconds system resulting was primarily introduced from due hardware to delays limitations. As shown in Figure 8, a constant offset of 40 microseconds was introduced due to delays in thelimitations. microcontrollers As shown andin Figure the analogue 8, a constant circuitry. offset of Additionally, 40 microseconds the was receiver introduced circuit due could to delays cause a in the microcontrollers and the analogue circuitry. Additionally, the receiver circuit could cause a delayin the of upmicrocontrollers to 300 microseconds and the inanalogue detecting circuitry. the received Additionally, signal, the leading receiver to ancircuit error could of about cause 9 a cm. delay of up to 300 microseconds in detecting the received signal, leading to an error of about 9 cm. TreatingdelayTreating of the up totalthe to total300 clock microsecondsclock error error as as an inan unknown detectingunknown the in ththereceivede iterative iterative signal, least least leadingsquare square algorithmsto algorithmsan error described of about described 9in cm. in SectionTreatingSection2, this the2, errorthis total error can clock can be significantly errorbe significantly as an unknown reduced reduced (subjectin (s ubjectthe iterative to to the the assumption assumption least square of algorithmsa constant clock clockdescribed error error in for allSection simultaneousfor all 2,simultaneous this error observations). can observations). be significantly reduced (subject to the assumption of a constant clock error for all simultaneous observations). Primary source of measurement error Primary source of measurement error Signal detect time Signal Travel Time Variable, ~300 μs Signal detect time Signal Travel Time Variable, ~300 μs

Processor Trigger Circuit Delay Amplifier Circuit Delay Processor Delay < 1 μs Constant 17 – 25 μs Constant 5 – 10 μs Delay 1-2 μs Combine to form an approximately Processor Trigger Circuit Delay Amplifier Circuit Delay Processor constant offset Delay < 1 μs Constant 17 – 25 μs Constant 5 – 10 μs Delay 1-2 μs Combine to form an approximately Figure 8. Signal timeline andconstant sources offset of error (not to scale). Figure 8. Signal timeline and sources of error (not to scale). Figure 8. Signal timeline and sources of error (not to scale). 4.2. Results 4.2. Results 4.2. ResultsThe 3D positioning system was tested in terms of its linear and angular range performances, effectsThe 3D of positioningan obstruction system in the waspath testedof the transmitter-receiver in terms of its linear pair, and and angularreal time range positioning performances, of a effectsmoving ofThe an 3Dreceiver. obstruction positioning The experimental in system the path was setup oftested the consisted transmitter-receiverin term ofs ofan itsarea linear of 3.6 pair,and by 2.4angular and m and real range a timeheight performances, positioning of about of a movingeffects2.8 m. of receiver. an obstruction The experimental in the path of setup the transmitter-receiver consisted of an area pair, of and 3.6 real by 2.4time m positioning and a height of a of aboutmoving 2.8Based m. receiver. on component The experimental characteristics, setup signalconsisted powe ofr, an and area on ofnominal 3.6 by background2.4 m and a noise height figures, of about 2.8theBased m. calculated on component nominal range characteristics, of the ultrasonic signal syst power,em was and about on 3 nominal m, though background measurements noise up figures,to the calculated4 mBased were recorded.on nominal component The range range characteristics, of could the ultrasonicbe extended signal system by powe improvingr, was and about onthe nominalcircuitry 3 m, though orbackground procuring measurements off noise the shelffigures, up to 4 mthe werecommercially calculated recorded. nominal available The range hardware. of could the With ultrasonic be a extended higher syst rangem bye, improvingwas a larger about area 3 the m, could circuitrythough be covered measurements or procuring with fewer up off to the 4 manchors. were recorded. The limited The range range helped could beto extendedmitigate the by improvingeffects of errors the circuitry introduced or procuring due to multi-path off the shelf shelf commercially available hardware. With a higher range, a larger area could be covered with commerciallyreflections. The available origin of hardware. the global With coordinate a higher system rang correspondede, a larger area to a could point onbe thecovered floor with thefewer fewer anchors. The limited range helped to mitigate the effects of errors introduced due to multi-path anchors.Z axis perpendicular The limited rangeand the helped X/Y axes to parallelmitigate to the the effectstransmitter of errors arrangement. introduced A total due of to256 multi-path points reflections. The origin of the global coordinate system corresponded to a point on the floor with the reflections.were measured The origin and each of the point global was coordinate an average syofstem three corresponded readings. Eliminating to a point the on points the floor where with the the Z axis perpendicular and the X/Y axes parallel to the transmitter arrangement. A total of 256 points Z coordinatesaxis perpendicular could not and be thecalculated X/Y axes due parallel to range to lithemitations, transmitter the number arrangement. of points A reducedtotal of 256to 196. points werewereThe measured measuredlinear range and and distribution each each point point obtained was was an an is average average shown in ofof Figure threethree readings.9.readings. Eliminating Eliminating the the points points where where the the coordinatescoordinates could could not not be be calculated calculated duedue toto rangerange limitations,limitations, the the number number of of points points reduced reduced to to196. 196. TheThe linear linear range range distribution distribution obtained obtained is is shown shown inin FigureFigure9 9..

Figure 9. Linear range distribution of the ultrasonic sensors.

FigureFigure 9. 9.Linear Linear range range distributiondistribution of the ultrasonic sensors. sensors.

Sensors 2016, 16, 1637 9 of 13 Sensors 2016, 16, 1637 9 of 13

The angular range of the ultrasonic sensors is an importantimportant parameter in determining the configurationconfiguration of of the the transmitters transmitters for for a agiven given volume volume.. Ultrasonic Ultrasonic sensor sensor datasheets datasheets normally normally state state that thatthe sensors the sensors have havea conical a conical range range map, map,with withan opening an opening angle angle of about of about 45° [23]. 45◦ Due[23]. to Due its tohigh its highrelevance relevance for operational for operational implementations, implementations, the angu thelar range angular of all range six tran of allsmitters six transmitters was thoroughly was thoroughlymonitored during monitored the duringentire experimental the entire experimental campaign of campaign the 3D ofpositioning the 3D positioning system. Since system. all Sincetransmitters all transmitters were of the were same of configuration, the same configuration, they were expected they were to expectedbehave similarly. to behave Coordinate similarly. Coordinatetransformations transformations from the global from reference the global system reference to coordinate system to systems coordinate with systems the origin with at thethe originreceiver at thewere receiver performed. were Although performed. there Although was no there separate was experimental no separate experimental investigation investigation performed to performed assess the toangular assess detection the angular range detection of the rangeultrasonic of the sensors, ultrasonic the sensors, angular the range angular data rangefor all data receiver for all positions receiver positionsfrom the experiments from the experiments showed a coverage showed a exceeding coverage exceeding45°, as shown 45◦ ,in as Figure shown 10, in which Figure is 10 in, accordance which is in accordancewith the sensor with datasheet. the sensor datasheet.

Figure 10. Angular range of the ultrasonic sensors. Figure 10. Angular range of the ultrasonic sensors.

To analyse the effect of obstruction on the transmitter-receiver pair, a balloon with about a To analyse the effect of obstruction on the transmitter-receiver pair, a balloon with about a 22 cm 22 cm diameter was used. The balloon was made to traverse a fixed path parallel to the X-axis of the diameter was used. The balloon was made to traverse a fixed path parallel to the X-axis of the global global coordinate system at three different heights (Z coordinates), i.e., 0.9, 1.4, and 2.2 m, coordinate system at three different heights (Z coordinates), i.e., 0.9, 1.4, and 2.2 m, respectively. respectively. The transmitter ticks (raw microcontroller data for distance) for each of the transmitter- The transmitter ticks (raw microcontroller data for distance) for each of the transmitter-receiver pairs receiver pairs were measured at regular intervals. The ticks do show an effect as the balloon passes were measured at regular intervals. The ticks do show an effect as the balloon passes over the over the transmitter-receiver pairs. The impact of obstruction varies for the transmitters, owing to the transmitter-receiver pairs. The impact of obstruction varies for the transmitters, owing to the dissimilar dissimilar transmitter-receiver orientations and the distance of the obstruction from the transmitters. transmitter-receiver orientations and the distance of the obstruction from the transmitters. However, However, the transmitter ticks change for every transmitter when the obstruction comes above or the transmitter ticks change for every transmitter when the obstruction comes above or near the near the transmitter-receiver line of sight, when visualized in the X-Z plane. The sensors, all being in transmitter-receiver line of sight, when visualized in the X-Z plane. The sensors, all being in range, range, should never give a zero tick. Hence, the ticks that were zero can solely be attributed to the should never give a zero tick. Hence, the ticks that were zero can solely be attributed to the obstruction. obstruction. It is interesting to note that the ticks tended to increase in value before going to zero in It is interesting to note that the ticks tended to increase in value before going to zero in most of the most of the cases. This suggests some sort of bending of sound waves off the surface of the obstruction cases. This suggests some sort of bending of sound waves off the surface of the obstruction before before they reach the receiver. There needs to be more extensive experiments before conclusive they reach the receiver. There needs to be more extensive experiments before conclusive evidence evidence can be provided about the impact of obstructions. However, obstructions can have an can be provided about the impact of obstructions. However, obstructions can have an impact on impact on system performance and their presence should be avoided for more efficient performance system performance and their presence should be avoided for more efficient performance of the 3D of the 3D positioning system. positioning system. Figure 11 shows the sample readings taken for static analysis of the 3D positioning system, with Figure 11 shows the sample readings taken for static analysis of the 3D positioning system, the transmitter arrangement depicted as well. The errors in calculated position with respect to the with the transmitter arrangement depicted as well. The errors in calculated position with respect to actual coordinates are also analysed. The error distribution is observed to be roughly Gaussian, as the actual coordinates are also analysed. The error distribution is observed to be roughly Gaussian, shown in Figure 12. Table 1 lists the statistical data (mean and standard deviation) of the errors in all as shown in Figure 12. Table1 lists the statistical data (mean and standard deviation) of the errors in three axes. It is observed that the error in the Z coordinate is considerably higher than in the X or Y

Sensors 2016, 16, 1637 10 of 13

Sensors 2016, 16, 1637 10 of 13 allSensors three 2016 axes., 16 It, 1637 is observed that the error in the Z coordinate is considerably higher than in10 the of X13 or Y coordinates,coordinates, which is intuitive as as the the transmitter transmitter grid grid is is arranged arranged in in an an X-XY- Yplane.plane. Table Table 2 2lists lists the the positionpositioncoordinates, errors. errors. which is intuitive as the transmitter grid is arranged in an X-Y plane. Table 2 lists the position errors.

Figure 11. 3D distribution of the measured receiver coordinates. Figure 11. 3D distribution of the measured receiver coordinates. Figure 11. 3D distribution of the measured receiver coordinates.

(a) (b)(c) (a) (b)(c) Figure 12. Errors in the measured receiver coordinates. (a) Error in X coordinates; (b) Error in Y Figure 12. Errors in the measured receiver coordinates. (a) Error in X coordinates; (b) Error in Y Figurecoordinates; 12. Errors (c) Error in the in measuredZ coordinates. receiver coordinates. (a) Error in X coordinates; (b) Error in Y coordinates; (c) Error in Z coordinates. coordinates; (c) Error in Z coordinates. Table 1. X, Y, and Z coordinates error statistics. Table 1. X, Y, and Z coordinates error statistics. CoordinatesTable 1. X, MeanY, and (cm)Z coordinates Standard error Deviation statistics. (cm) CoordinatesX Mean1.83 (cm) Standard Deviation9.45 (cm) CoordinatesYX Mean3.351.83 (cm) Standard11.289.45 Deviation (cm) XZY −10.973.351.83 11.287.01 9.45 YZ −10.973.357.01 11.28 Z Table− 2.10.97 Position error statistics. 7.01 Table 2. Position error statistics. Mean (cm) Standard Deviation (cm) Table 2. Position error statistics. Mean17.51 (cm) Standard 16.30Deviation (cm) 17.51 16.30 Mean (cm) Standard Deviation (cm) Dynamic tests were also performed on the receiver to evaluate the positioning system’s 17.51 16.30 performanceDynamic as tests the receiverwere also moved performed within theon testthe volume.receiver Theto evaluate receiver wasthe positioningmoved at a speedsystem’s of aboutperformance 3 cm/s asin athe straight receiver line moved and in within a circle, the as test shown volume. in Figures The receiver 13 and was 14, respectively,moved at a speed and the of motionaboutDynamic 3 ofcm/s the tests inreceiver a straight were was also linecaptured performedand in by a thecircle, 3D on aspositioning the shown receiver in system Figures to evaluate in 13 real and time. the14, Readingsrespectively, positioning were and system’s taken the performanceformotion straight of the asline receiver the motion receiver was and captured movedfor motion withinby inthe a 3Dcircle. the positioning test An volume.outlier system point The in was receiverreal found time. was toReadings be moved erroneous were at a takenin speed all ofX aboutfor, Y straight, and 3 cm/s Z coordinates,line in motion a straight andas the linefor coordinates motion and in ain circle, werea circle. couple as An shown outlierd. There in Figurespoint was wasa latency13 foundand of14 to about, respectively,be erroneous 1.98 s between andin all the motiontwoX, Y ,successive and of the Z coordinates, receiver position was calculations,as captured the coordinates by which the were 3D was positioning coupleprimarilyd. There due system to was the ina timelatency real lag time. of introduced about Readings 1.98 because s were between taken of two successive position calculations, which was primarily due to the time lag introduced because of

Sensors 2016, 16, 1637 11 of 13 for straight line motion and for motion in a circle. An outlier point was found to be erroneous in all X,

YSensors, and 2016Z coordinates,, 16, 1637 as the coordinates were coupled. There was a latency of about 1.98 s between11 of 13 twoSensors successive 2016, 16, 1637 position calculations, which was primarily due to the time lag introduced because11 of of13 datadata transmissiontransmission toto thethe computercomputer forfor thethe positionposition computation.computation. ThisThis explainsexplains thethe presencepresence ofof aboutabout data transmission to the computer for the position computation. This explains the presence of about 15%15% outliersoutliers inin dynamicdynamic tests.tests. 15% outliers in dynamic tests.

Figure 13. Straight line motion. FigureFigure 13.13. Straight line motion.

Figure 14. Motion in a circle. Figure 14.14. Motion in a circle. 5. Conclusions and Future Work 5.5. Conclusions Conclusions and and Future Future Work Work This paper demonstrated the feasibility of an indoor 3D positioning system based on This paper demonstrated the feasibility of an indoor 3D positioning system based on multilaterationThis paper using demonstrated ultrasonic thebeacons. feasibility This approach of an indoor is particularly 3D positioning suitable systemfor navigation based onof multilateration using ultrasonic beacons. This approach is particularly suitable for navigation of multilaterationautonomous vehicles using ultrasonicin indoor beacons.and urban This environments approach is particularlyand is optimally suitable fit forto overcome navigation the of autonomous vehicles in indoor and urban environments and is optimally fit to overcome the autonomouslimitations of vehicles radionavigation in indoor and and urban Global environments Navigation and Satellite is optimally Systems fit to(GNSS) overcome in these the limitations scenarios limitations of radionavigation and Global Navigation Satellite Systems (GNSS) in these scenarios of[2,5]. radionavigation As the considered and Globalultrasonic Navigation sensors are Satellite relatively Systems inexpensive (GNSS) and in these easy to scenarios set up, the [2,5 proposed]. As the [2,5]. As the considered ultrasonic sensors are relatively inexpensive and easy to set up, the proposed consideredpositioning ultrasonic system has sensors the potential are relatively to be inexpensivescaled up to andcover easy a bigger to set up,volume, the proposed opening positioningup various positioning system has the potential to be scaled up to cover a bigger volume, opening up various systemoperational has theapplications. potential toThe be scaledinherent up nature to cover of athe bigger slow volume, propagating opening speed up variousof ultrasonic operational waves operational applications. The inherent nature of the slow propagating speed of ultrasonic waves applications.allows for higher The inherentsignal resolution nature of and the slowthus propagatingleads to increased speed accuracy of ultrasonic in position waves allowsestimations. for higher The allows for higher signal resolution and thus leads to increased accuracy in position estimations. The signalsystem resolution was tested and for thus robustness leads to increasedin the presence accuracy of innoise, position obstructions estimations. in line The of system sight wasof sensors, tested system was tested for robustness in the presence of noise, obstructions in line of sight of sensors, forsensors robustness being out in the of presencerange, and of fa noise,ilures. obstructions Having an inoverdetermined line of sight of system sensors, for sensors position being estimation out of sensors being out of range, and failures. Having an overdetermined system for position estimation range,mitigates and many failures. of the Having undesirable an overdetermined effects, thereby system increasing for positionthe system estimation robustness. mitigates many of the mitigates many of the undesirable effects, thereby increasing the system robustness. undesirableFuture effects,developments thereby of increasing the ultrasonic the system position robustness.ing system will include the implementation of Future developments of the ultrasonic positioning system will include the implementation of improved circuitry for faster response, lower false-alarm rate in dynamic conditions, and extended improved circuitry for faster response, lower false-alarm rate in dynamic conditions, and extended range. This will be possible by adopting robust and fully decentralized position estimation methods range. This will be possible by adopting robust and fully decentralized position estimation methods capable of reducing outliers due to noise and multipath. The sensor system will also be tested in capable of reducing outliers due to noise and multipath. The sensor system will also be tested in dynamic configurations, comprising of moving anchors, and attitude determination capabilities will dynamic configurations, comprising of moving anchors, and attitude determination capabilities will be developed [24,25]. These developments will support further applications of the proposed be developed [24,25]. These developments will support further applications of the proposed

Sensors 2016, 16, 1637 12 of 13

Future developments of the ultrasonic positioning system will include the implementation of improved circuitry for faster response, lower false-alarm rate in dynamic conditions, and extended range. This will be possible by adopting robust and fully decentralized position estimation methods capable of reducing outliers due to noise and multipath. The sensor system will also be tested in dynamic configurations, comprising of moving anchors, and attitude determination capabilities will be developed [24,25]. These developments will support further applications of the proposed ultrasonic positioning system beyond indoor navigation to include a variety of aerial, ground, and underwater vehicles.

Acknowledgments: The research activity presented in this article was supported solely by their home Universities. The research activity was contributed solely by the authors, and did not involve other contributors. Author Contributions: R.K. is the lead author and main contributor to the paper. He performed the literature review, implemented the mathematical models into a working code, built the electronic circuit, set up and conducted the experiments, wrote the software code for data capturing and analysis, drafted the initial manuscript and coordinated the co-authors’ contributions and revision process. S.R. contributed to a significant portion of the literature review. He contributed to identify the mathematical models and to implement the simulation code. He helped drafting/revising the manuscript and addressing the reviewer comments. A.G. is the corresponding author. He developed the concepts of data analytics, including interpretation and visualisation aspects. He also contributed significantly to the manuscript initial drafting, preparation and revisions. C.B. contributed to building the electronic circuit and the experimental setup, developing the 2D simulator and initial code, creating preliminary trilateration and time delay images and drafting the initial literature review. L.S. contributed to the original concept development and laid foundations for the mathematical formulation. He was the original research supervisor during the experimental and data analysis phase. R.S. defined the overall structure of the manuscript, assisted in its preparation and participated in the internal revision process. He contributed to development of mathematical models and provided inputs to harmonising the reviewers' comments in the paper. Conflicts of Interest: The authors declare no conflict of interest.

References

1. Sabatini, R.; Moore, T.; Hill, C. Avionics based GNSS Integrity Augmentation for Unmanned Aerial Systems Sense-and-Avoid. In Proceedings of the 27th International Technical Meeting of the Satellite Division of the Institute of Navigation: ION GNSS+ 2014, Tampa, FL, USA, 8–12 September 2014. 2. Sabatini, R.; Moore, T.; Hill, C. A New Avionics-Based GNSS Integrity Augmentation System: Part 1—Fundamentals. J. Navig. 2013, 66, 363–384. [CrossRef] 3. Sabatini, R.; Moore, T.; Hill, C. A New Avionics Based GNSS Integrity Augmentation System: Part 2—Integrity Flags. J. Navig. 2013, 66, 511–552. [CrossRef] 4. Fisher, K.A. The Navigation Potential of Signals of Opportunity-Based Time Difference of Arrival Measurements. Ph.D. Thesis, Air Force Institute of Technology, Wright-Patterson AFB, OH, USA, 2005. 5. Sabatini, R.; Bartel, C.; Kaharkar, A.; Shaid, T.; Ramasamy, S. Navigation and guidance system architectures for small unmanned aircraft applications. Int. J. Mech. Ind. Sci. Eng. 2014, 8, 733–752. 6. Manolakis, D.E. Efficient solution and performance analysis of 3-D position estimation by trilateration. IEEE Trans. Aerosp. Electron. Syst. 1996, 32, 1239–1248. [CrossRef] 7. Ward, A.; Jones, A.; Hopper, A. A new location technique for the active office. IEEE Pers. Commun. 1997, 4, 42–47. [CrossRef] 8. Priyantha, N.B.; Miu, A.K.L.; Balakrishnan, H. The Cricket Location-Support System. In Proceedings of the 6th Annual International Conference on Mobile Computing and Networking (MobiCom 2000), Boston, MA, USA, 2000; pp. 32–43. 9. Hazas, M.; Hopper, A. Broadband Ultrasonic Location Systems for Improved Indoor Positioning. IEEE Trans. Mob. Comput. 2006, 5, 536–547. [CrossRef] 10. Navarro-Serment, L.E.; Paredis, C.J.J.; Khosla, P.K. A Beacon System for the Localization of Distributed Robotic Teams. In Proceedings of the International Conference on Field and Service Robotics, Pittsburgh, PA, USA, 29–31 August 1999; pp. 232–237. 11. Filonenko, V.; Cullen, C.; Carswell, J.D. Asynchronous Ultrasonic Trilateration for Indoor Positioning of Mobile Phones. In Proceedings of the Web and Wireless Geographical Information Systems, Naples, Italy, 12–13 April 2012; pp. 33–46. Sensors 2016, 16, 1637 13 of 13

12. Lee, W.; Hur, K.; Hwang, K.; Eom, D.-S.; Kim, J.-O. Mobile Robot Navigation Using Wireless Sensor Networks without Localization Procedure. Wirel. Pers. Commun. 2012, 62, 257–275. [CrossRef] 13. Sanchez, A.; Elvira, S.; de Castro, A.; Glez-de-Rivera, G.; Ribalda, R.; Garrido, J. Low Cost Indoor Ultrasonic Positioning Implemented in FPGA. In Proceedings of the Industrial Electronics Conference (IECON 2009), Porto, Portugal, 3–5 November 2009. 14. Martin, R.K.; Velotta, J.S.; Raquet, J.F. Bandwidth Efficient Cooperative TDOA Computation for Multicarrier Signals of Opportunity. IEEE Trans. Signal Process. 2009, 57, 2311–2322. [CrossRef] 15. Nishida, Y.; Aizawa, H.; Hori, T.; Hoffman, N.H.; Kanade, T.; Kakikura, M. 3D Ultrasonic Tagging System for Observing Human Activity. In Proceedings of the 2003 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS2003), Las Vegas, NV, USA, 27–31 October 2003; pp. 785–791. 16. Roa, J.O.; Jiménez, A.R.; Seco, F.; Prieto, J.C.; Ealo, J. Optimal Placement of Sensors for Trilateration: Regular Lattices vs. Meta-Heuristic Solutions; Lecture Notes in Computer Science; Springer: Berlin/Heidelberg, Germany, 2007; Volume 4739, pp. 780–787. 17. Norrdine, A. An algebraic Solution to the Multilateration Problem. In Proceedings of the 15th International Conference on Indoor Positioning and Indoor Navigation, Sydney, Australia, 13–15 November 2012. 18. Murphy, W.S., Jr. Determination of a Position Using Approximate distances and Trilateration. Master’s Thesis, Colorado School of Mines, Golden, CO, USA, July 2007. 19. Sabatini, R.; Palmerini, G.B. Differential Global Positioning System (DGPS) for Flight Testing; AGARD AG-160, Volume 21; NATO Science and Technology Organization: Neuily-sur-Seine, France, 2008. 20. Jia, Z.; Wu, C.; Li, Z.; Zhang, Y.; Guan, B. The Indoor Localization and Tracking Estimation Method of Mobile Targets in Three-Dimensional Wireless Sensor Networks. Sensors 2015, 15, 29661–29684. [CrossRef] [PubMed] 21. Medina, C.; Segura, J.C.; de la Torre, A. Ultrasound Indoor Positioning System Based on a Low-Power Wireless Sensor Network Providing Sub-Centimeter Accuracy. Sensors 2013, 13, 3501–3526. [CrossRef] [PubMed] 22. Dean, A.G. Teaching Optimization of Time and Energy in Embedded Systems. In Proceedings of the 2010 Workshop on Embedded Systems Education, Scottsdale, AZ, USA, 28 October 2010. 23. Matsushita Electronic Company. Ultrasonic Ceramic Microphone Data Sheet. Available online: http://www.jameco.com/Jameco/Products/ProdDS/2120268.pdf (accessed on 3 September 2011). 24. Sabatini, R.; Rodríguez, L.; Kaharkar, A.; Bartel, C.; Shaid, T.; Zammit-Mangion, D. Low-Cost Navigation and Guidance Systems for Unmanned Aerial Vehicles—Part 2: Attitude Determination and Control. Ann. Navig. 2013, 20, 97–126. [CrossRef] 25. Sabatini, R.; Rodríguez, L.; Kaharkar, A.; Bartel, C.; Shaid, T. Carrier-phase GNSS attitude determination and control system for unmanned aerial vehicle applications. ARPN J. Syst. Softw. 2012, 2, 297–322.

© 2016 by the authors; licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC-BY) license (http://creativecommons.org/licenses/by/4.0/).