sensors Article
A Novel 3D Multilateration Sensor Using Distributed Ultrasonic Beacons for Indoor Navigation Rohan Kapoor 1 , Subramanian Ramasamy 1 , Alessandro Gardi 1, *, Chad Bieber 2 , Larry Silverberg 2 and Roberto Sabatini 1 1
2
*
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.) 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
Sensorslike 2016,directional 16, 1637 2 of 13 hardware antennas and the equations employed are more complex than trilateration equations [13]. TDOA computations require the sharing of data between receivers, which in turn requires expensive hardware like directional antennas and the equations employed are more complex dictates bandwidth and power requirements [14]. Furthermore, TDOA calculations 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 relatively inexpensive against environmental noise. makes them preferable to involve the intersectionand of robust hyperbolic surfaces, which increases theThis computational complexity. other Ultrasonic location techniques employ visual, tactile, and magnetic systems [15].noise. This makes sensors arethat relatively inexpensive and robust against environmental Based on these premises, this research focuses on the development and testing of an in-door them preferable to other location techniques that employ visual, tactile, and magnetic systems [15]. 3D ultrasonic systemthis using multilateration fordevelopment real-time dynamic platform applications. Basedpositioning on these premises, research focuses on the and testing of an in-door 3D ultrasonic system positioning systemfor using multilateration for real-time dynamic platform applications. The proposed is tested positioning accuracy in relevant static and dynamic caseThe studies, proposed is tested for positioning accuracy in relevant dynamic the caseprinciples studies, of including bothsystem numerical simulations and experimental tests. static Afterand discussing including both numerical simulations and experimental tests. After discussing the principles of multilateration, a suitable iterative algorithm is introduced for over-determined multilateration 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 conclusions and and recommendations forforfuture conclusions recommendations futurework. work.
2. Multilateration Principles 2. Multilateration Principles In 2DInspace, trilateration requires measureddistances distances between anchors a node, 2D space, trilateration requiresatatleast leastthree three measured between anchors and and a node, the location of which is to be determined. The anchors should not not be collinear andand their position should the location of which is to be determined. The anchors should be collinear their position should fixed and known for higher accuracy. the measurements are acquired, the location be fixed andbe known for higher accuracy. After theAfter measurements are acquired, the location of theofnode node can be as theofintersection of three circumferences whose centres geometric centres with can bethe determined asdetermined the intersection three circumferences whose geometric coincide coincide with the anchor positions. The measured distance is represented by the radii from the the anchor positions. The measured distance is represented by the radii from the anchors. Figure 1 anchors. Figure 1 depicts the trilateration principle in 2D involving three anchors and associated depicts the trilateration principle in 2D involving three anchors and associated spheres 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 all required three circles. In 3D space,The a minimum of four measurements required for multilateration. for multilateration. node is located at the intersection of are spheres, with anchors fixed at The node located centres. at the intersection of spheres, with anchors fixed at their geometric centres. their is geometric
Figure 1. Multilateration position calculation.
Figure 1. Multilateration position calculation.
The fundamental principle adopted in multilateration systems is to measure the ranges between
The fundamental adopted in multilateration systems is toThe measure thefor ranges between the receiver (node) principle and simultaneously observed transmitters (anchors). equation geometric the receiver and observed transmitters The equation for geometric distance(node) between thesimultaneously receiver and the transmitter can be written(anchors). as: distance between the receiver and the transmitter can be written as: (1) ( ) = ( − ) + ( − ) + ( − ) q 2 2 2 , ) are where ( , ρ (the t) =co-ordinates + (receiver y a − yk )and + ((z a ,− zk,) ) are the transmitter (1) ( x a − xkof ) the coordinates. A purely analytical solution for position in 3D space can be found with a system of three
whereequations (xk , yk , zwith theunknowns: co-ordinates of the receiver and (x a , y a , z a ) are the transmitter coordinates. k ) are three A purely analytical solution for position in 3D space can be found with a system of three equations (2) ( ) = ( − ) + ( − ) + ( − ) (n = 1, 2, 3) with three unknowns: q ρn (t) = ( x a − xk )2 + (y a − yk )2 + (z a − zk )2 (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 Figure 1 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: ρk t (tk ) = tk − tt v (3) where ρk t is the actual measurement, tk is the nominal time of the receiver clock k at reception, tt 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)
tk t = tt + dtt
(5)
where r denotes the true time and the terms dtk and dtt represent the receiver and transmitter clock errors respectively. Taking these errors and biases into account, the complete expression for the single range measurement becomes: Rk t (tk ) = ρk t (tr,k ) − dtk − dtt v + Pk,t t (tk ) + dk,T t (tk ) + dt t (tk ) + dk,t (tk ) + ε t (6) where: ρk t (tr,k ) = geometric distance; Pk,t t (tk ) = propagation delay in air (standard conditions); dk,t (tk ) = receiver clock error; dt t (tk ) = transmitter clock error; dk,T 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: n
Rk (t) =
q
( x n − xk )2 + (yn − yk )2 + (zn − zk )2 + 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 least squares 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 positioning system. 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:
−
yn − ys zn − zs xn − x s ∆zk + ∆dtk = ∆Rs s ∆xk − s ∆yk − Pn Pn Pn s
(11)
where Rn s is the nominal range measurement to the sth transmitter and ∆Rs 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:
∆R1 ∆R2 ∆R3 ∆R4
=
d11 d21 d31 d41
d12 d22 d32 d42
d13 d23 d33 d44
1 1 1 1
∆xk ∆yk ∆zk ∆dtk
+
ε1 ε2 ε3 ε4
(12)
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 ∆yk ∆zk ∆dtk
−1 BT σ0 2 Rρ [∆P1 = − BT σ0 2 Rρ B
∆P2
∆P3
∆P4 ]
(13)
where B is the matrix of coefficients of the linear set of equations, Rρ is the covariance matrix of the pseudorange errors, and σ0 2 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
Figures 2–5 depict various simulation test cases. The number of iterations required to obtain the final estimate, as well as their depiction in the test area, are displayed in the interface. Sensors 2016, 16, 1637 5 of 13 The simulations were performed on four test cases. The three transmitters are placed at (1, 4), (4,131) Sensors 2016, 16, 1637 5 of andinteresting (2, 3) for all caseshow except 4. Figureof2 the presents theposition test casedetermines in which the algorithm to note the Figure initial estimate receiver the presented final output of the interesting tocoordinates note how estimate of the receiver position determines output of note the algorithm, subject to the the geometric arrangement of transmitters. In Figures and 3, all three calculates the of initial the receiver correctly, taking six iterations to do so.the It 2isfinal interesting to algorithm, subject the geometric arrangement of transmitters. In Figures 2 and position 3, all three transmitters beingto collinear, the finalposition estimatedetermines is dependent initially estimated in to how the initial estimate of the receiver theupon finalthe output of the algorithm, subject transmitters being collinear, estimate is dependent upon initially estimated position 2D space. When the 2D space is final divided intoIntwo planes2 by the joining the transmitters, the finalin the geometric arrangement ofthe transmitters. Figures and 3,line all the three transmitters being collinear, is calculated onlythe if the estimate in the the actual receiver 2Destimate space. When the 2D correctly space is divided intoinitial twoestimated planes byis the linesame joining the as transmitters, the finalis the final estimate is dependent upon initially position in 2Dplane space. When the 2D space position, as shown in Figure 2. Otherwise, the calculated position is the mirror image of the receiver estimate is calculated correctly only if the initial estimate is in the same plane as the actual receiver divided into two planes by the line joining the transmitters, the final estimate is calculated correctly position, with the line joining transmitters acting the mirror axis. position, shown in Figure 2. the Otherwise, the calculated position is the mirror image of the only if theasinitial estimate is in the same plane as theas actual receiver position, as shown in receiver Figure 2. position, with the line joining the transmitters acting as the mirror axis. Otherwise, the calculated position is the mirror image of the receiver position, with the line joining the transmitters acting as the mirror axis.
Figure 2. Collinear convergence.
Figure 2. Collinear Collinear convergence. convergence.
Figure Figure3. 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
Figure 3 shows the calculated receiver position to be (2, 2), which is the mirror image of (3, 3) Sensors 2016,position 16, 1637 6 of 13 receiver’s line with the(4, already transmitter (Figure 5); this led with respect to thewas line in joining (1, 4), 1), andcollinear (2, 3). However, theconfiguration mirroring disappears when the to a mathematical singularity hence the algorithm failed proceed. transmitters are rearranged in aand non-collinear configuration, asto shown 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 (Figure 5); this led to a mathematical singularity and hence the algorithm failed to proceed.
Figure 4. Non-collinear convergence. Figure 4. 4. Non-collinear Non-collinear convergence. convergence. Figure
Figure 5. 5. Singularity. Singularity. Figure
Figure 5. Singularity. An in-depth in-depth analysis analysis of of all all simulation simulation results supported the the design design and and development development of of the the An results supported experimentalsetup setupfor forvalidation validationofofthe the system. experimental positioning system setand up experimental system. TheThe experimental positioning system was was set up Anexperiments in-depth analysis of allconducted simulation results supported the design and of the and various experiments were test 3D positioning system for development robustness noise, various were conducted to testto the 3Dthe positioning system for robustness to noise,to sensors experimental setup detected for validation of the The experimental positioning was set up and sensors being to an system. obstruction, or sensors being outThe of system range. The real-time not beingnot detected due to andue obstruction, or sensors being out of range. real-time positioning various experiments were conducted to test the 3D positioning system for robustness to noise, sensors positioningofcapability a moving was also tested. capability a movingof receiver wasreceiver also tested. not being detected due to an obstruction, or sensors being out of range. The real-time positioning capability of a moving receiver was also tested. 4. Experimental Verification
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 schematic of a 3D positioning systemand based on ultrasonic is configured shown in to Figure 6. The Theconceptual transmitters are connected to an amplifier timing circuit, beacons which is Sensors 2016, 16, 1637 7 of 13 Figure 6. The transmitters are connected to an amplifier and timing circuit, which is configured to the dispatch 200 microsecond (eight cycles) bursts. The transmitter circuit receives a trigger from dispatch 200 microsecond (eight cycles) bursts. The transmitter circuit receives a trigger from the The conceptual schematicthe of atiming 3D positioning system based on ultrasonic beacons shown in microcontroller, which initiates of the ultrasonic signals being sent. The isreceiver circuit microcontroller, which initiates the timing of ultrasonic sent. Theisreceiver circuit Figure 6. amplifier The transmitters are connected anthe amplifier andsignals timing being circuit, which configured to consists of an and sends a binary 1tovalue to the microcontroller upon receiving the ultrasonic consists of200 an amplifier and (eight sends acycles) binarybursts. 1 valueThe to the microcontroller receiving the ultrasonic dispatch transmitter circuitupon receives a trigger from the signal. Errors duemicrosecond to multipath the positioning system. signal. Errors due to multipathhave havebeen been neglected neglected ininthe positioning system. microcontroller, which initiates the timing of the ultrasonic signals being sent. The receiver circuit consists of an amplifier and sends a binary 1 value to the microcontroller upon receiving the ultrasonic 40 KHz Signal signal. Errors due to multipath have been neglected in the positioning system. Transmitter Receiver 40 KHz Signal
Transmitter
Receiver Amplifier/Digitizer Circuitry Digital Input
40 KHz Driver Circuitry
40 KHz Driver Figure Circuitry
Digital Output
Digital Input
Microcontroller
Digital Output
Amplifier/Digitizer Circuitry Data Acquisition and Control Station
Data Acquisition and
Microcontroller 6. 3D positioning system schematic. Control Station
Figure 6. 3D positioning system schematic.
An experimental setup was built in an indoor environment for testing of the 3D positioning
Figure 6.in 3Dan positioning schematic.for testing of the 3D positioning An experimental setup was built indoor system environment system. The setup consisted of six 40 KHz transmitters mounted in a 2.4 m by 0.9 m grid on the ceiling system. The 7a) setup consisted ofcircuit six 40connected KHz transmitters mounted in a 2.4tomthe bycomputer 0.9 m grid on the ceiling (Figure and a receiver through a microcontroller 7b). An experimental setup was built in an indoor environment for testing of the 3D (Figure positioning (Figure 7a) and a receiver circuit connected through a microcontroller to the computer (Figure 7b). Initially, calibration of the Time-of-Flight measurements was conducted on a test bench. The system. The setup consisted of six 40 KHz transmitters mounted in a 2.4 m by 0.9 m grid on the ceiling conversion Time-of-Flight measurements to distance was obtained from the Initially, calibration theconverting Time-of-Flight measurements conducted onthe a test bench. The conversion (Figure 7a) factor and of a for receiver circuitthe connected through a was microcontroller to computer (Figure 7b). calibration process. This conversion factor was subsequently introduced in the positioning factorInitially, for converting the Time-of-Flight measurements to distance was obtained from the calibration calibration of the Time-of-Flight measurements was conducted on a test bench. The algorithms for post processing assubsequently well as for real time dynamic positioning algorithms. process. This conversion factor was introduced in to thedistance positioning algorithms for post conversion factor for converting the Time-of-Flight measurements was obtained fromThe the microcontroller employed was QSK62P Plus [22]. QSK62P Plus is a 16-Bit microcontroller that has calibration process. conversion factor was subsequently introduced in the positioning processing as well as forThis real time dynamic positioning algorithms. The microcontroller employed Serial Input/Output (I/O) that supports Serial Peripheral (SPI) bus to thealgorithms. computer. The The algorithms for [22]. post QSK62P processing as is well as for real timeInterface dynamic was QSK62P Plus Plus a 16-Bit microcontroller that positioning has Serial Input/Output (I/O) QSK62P microcontroller was chosen specifically among the available options as it had the required microcontroller employed was QSK62P Plus [22]. QSK62P Plus is a 16-Bit microcontroller that has that supports Serial Peripheral Interface (SPI) bus to the computer. The QSK62P microcontroller was number of I/O and SPI The frequency the microcontroller wasbus 3 MHz forcomputer. time-of-flight Serial Input/Output (I/O)ports. that supports Serial of Peripheral Interface (SPI) to the The chosen specifically among the available options as it had the required number of I/O and SPI ports. measurements. This allowed for veryspecifically high-resolution measurements. are QSK62P microcontroller was chosen amongdistance the available options asHowever, it had the there required The frequency of the microcontroller was 3 and MHzvariable, for time-of-flight measurements. This stages allowed for very certain offsets introduced, both constant due to the time delays in various of the number of I/O and SPI ports. The frequency of the microcontroller was 3 MHz for time-of-flight high-resolution distance measurements. However, there are certain offsets introduced, both constant 3D positioning circuitry, discussed further in Section 4.1. measurements. This allowed for very high-resolution distance measurements. However, there are and variable, due to the time delays in various stages of the further certain offsets introduced, both constant and variable, due to3D thepositioning time delays circuitry, in variousdiscussed stages of the in Section 4.1. 3D positioning 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) (b) 3D positioning system. (a) 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
Sensors 2016, 16,1637 1637 Sensors 2016, 16,
8 of 813of 13
The timing data, which was in the form of unprocessed microcontroller ticks, was sent to the computer through serial port interface. Theof data was received by MATLAB forwas further processing The timingthe data, which was in the unprocessed microcontroller ticks, sentsent to the The timing data, which was in the form form of unprocessed microcontroller ticks, was to the computer through thecoordinates. serialport port interface. interface. The MATLAB forfor further processing to calculate the receiver computer through the serial Thedata datawas wasreceived receivedbyby MATLAB further processing calculatethe thereceiver receivercoordinates. coordinates. toto calculate 4.1. Sources of Error 4.1. Sources of Error 4.1. Sources Error sources of error in the positioning system resulting primarily from hardware There areofvarious There are various sources8, of error in theoffset positioning system resultingwas primarily from hardware limitations. shown in sources Figure constant of 40 microseconds introduced due to delays ThereAs are various ofaerror in the positioning system resulting primarily from hardware limitations. As shown in Figure 8, a constant offset of 40 microseconds was introduced due to delays in the microcontrollers the analogue circuitry. the was receiver circuitdue could cause a limitations. As shown and in Figure 8, a constant offset ofAdditionally, 40 microseconds introduced to delays in the microcontrollers and the analogue circuitry. Additionally, the receiver circuit could cause a delay of up to 300 microseconds detecting the received signal, the leading to an errorcould of about in the microcontrollers and the in analogue circuitry. Additionally, receiver circuit cause9 acm. delay of up to 300 microseconds in detecting the received signal, leading to an error of about 9 cm. delay of up to 300 microseconds in detecting the received signal, leading to an error of about Treating the total clock error as an unknown in the iterative least square algorithms described Treating the total clock error as an unknown in the iterative least square algorithms described 9incm. in Treating the total clock error as an unknown in(subject the iterative least square described Section 2, this error can be significantly reduced totothe ofalgorithms constantclock clock errorinfor Section 2, this error can be significantly reduced(subject the assumption assumption of aaconstant error Section 2, this error can be significantly reduced (subject to the assumption of a constant clock error all simultaneous observations). for all simultaneous observations). for all simultaneous observations). Primary source of measurement error
Signal Travel Time
Signal Travel Time
Processor Trigger Circuit Delay Delay < 1 μs Constant 17 – 25 μs
Processor Trigger Circuit Delay Delay < 1 μs Constant 17 – 25 μs
Combine to form an approximately constant offset
Combine to form an approximately constant offset
Signal detect time Variable, ~300 μs
Primary source of measurement error
Signal detect time Variable, ~300 μs
Amplifier Circuit Delay Processor Constant 5 – 10 μs Delay 1-2 μs
Amplifier Circuit Delay Processor Constant 5 – 10 μs Delay 1-2 μs
Figure 8. Signal timeline and sources of error (not to scale).
4.2. Results
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 The 3D positioning system was tested in terms of its linear and angular range performances, 4.2. Results The 3D system in terms of its linear performances, effects of positioning an obstruction in the was path tested of the transmitter-receiver pair,and andangular real timerange positioning of a The 3D positioning system was tested in terms of its linear and angular range performances, effects of an obstruction in the path of the transmitter-receiver pair, and real time positioning of moving receiver. The experimental setup consisted of an area of 3.6 by 2.4 m and a height of about effects of an obstruction in the path of the transmitter-receiver pair, and real time positioning of a a moving 2.8 m. receiver. The experimental setup consisted of an area of 3.6 by 2.4 m and a height of moving receiver. The experimental setup signal consisted of an area 3.6 by background 2.4 m and anoise height of about on component characteristics, power, and on of nominal figures, about 2.8Based m. 2.8the m.calculated nominal range of the ultrasonic system wasand about m, though measurements up figures, to Based on component characteristics, signal power, on 3nominal background noise Based on component characteristics, signal power, and on nominal background noise figures, 4 m were recorded. The range could be extended by improving the circuitry or procuring off the shelf the calculated nominal range of the ultrasonic system was about 3 m, though measurements up to the calculated nominal range of theWith ultrasonic system was about 3 m, though measurements up to commercially available hardware. higher range, a larger area could be covered with fewer 4 m were recorded. The range could be aextended by improving the circuitry or procuring off the 4m were recorded. Therange rangehelped could be by improving the circuitry or procuring off the shelf anchors. The limited to extended mitigate the effects of errors introduced due to multi-path shelf commercially available hardware. With a higher range, a larger area could be covered with reflections. The origin ofhardware. the globalWith coordinate system corresponded to acould point on floor with commercially available a higher range, a larger area be the covered with the fewer fewer anchors. The limited range helped to mitigate the effects of errors introduced due to multi-path Z axis perpendicular and the X/Y axes parallel to the transmitter arrangement. A total of 256 points anchors. The limited range helped to mitigate the effects of errors introduced due to multi-path reflections. The origin thepoint global coordinate to a point on thewhere floor with were measured andof each was an averagesystem of threecorresponded readings. Eliminating theon points the thethe reflections. The origin of the global coordinate system corresponded to a point the floor with Z axis perpendicular the X/Y axes parallel to the transmitter arrangement. Atotal totalofof points could and not be calculated due to range the number of points to256 196. Z coordinates axis perpendicular and the X/Y axes parallel to limitations, the transmitter arrangement. A reduced 256 points were measured and each point was an average of three readings. Eliminating the points where The linear range distribution obtained is shown in Figure 9. were measured and each point was an average of three readings. Eliminating the points where thethe coordinates could not thenumber numberofofpoints pointsreduced reduced 196. coordinates could notbebecalculated calculateddue due to to range range limitations, limitations, the to to 196. TheThe linear range distribution obtained is shown in Figure 9. linear range distribution obtained is shown in Figure 9.
Figure 9. Linear range distribution of the ultrasonic sensors.
Figure9.9.Linear Linearrange rangedistribution distribution of of the Figure the ultrasonic ultrasonicsensors. sensors.
Sensors 2016, 16, 1637 Sensors 2016, 16, 1637
9 of 13 9 of 13
important parameter in determining the The angular range of the ultrasonic sensors is an important volume. Ultrasonic sensor datasheets normally statestate that configuration of of the thetransmitters transmittersfor fora agiven given volume. Ultrasonic sensor datasheets normally ◦ the sensors have have a conical rangerange map,map, with with an opening angleangle of about 45° [23]. its to high that the sensors a conical an opening of about 45 Due [23]. to Due its relevance for operational implementations, the angular of all six transmitters was thoroughly high relevance for operational implementations, the range angular range of all six transmitters was monitored during the during entire experimental campaign of the 3D of positioning system. Since all thoroughly monitored the entire experimental campaign the 3D positioning system. transmitters were of the same they were expected behave similarly. Coordinate Since all transmitters were of configuration, the same configuration, they wereto expected to behave similarly. transformations from the global system to coordinate with the origin atthe theorigin receiver Coordinate transformations fromreference the global reference system tosystems coordinate systems with at were performed. Although there was no separate experimental investigation performed to assess the the receiver were performed. Although there was no separate experimental investigation performed angular range of therange ultrasonic thesensors, angularthe range datarange for alldata receiver to assessdetection the angular detection of thesensors, ultrasonic angular for allpositions receiver from the experiments showed a coverage 45°, as shown in accordance positions from the experiments showed aexceeding coverage exceeding 45◦ ,inasFigure shown10, inwhich Figureis10, which is in with the sensor accordance withdatasheet. 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 transmitterThe 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. Table 1 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
all Sensors three 2016, axes.16,It1637 is observed that the error in the Z coordinate is considerably higher than in 10 theof X 13 or Y coordinates, which is intuitive as the transmitter grid is arranged in an X-Y plane. Table 2 lists coordinates, which is intuitive as the transmitter grid is arranged in an X-Y plane. Table 2 lists thethe coordinates, which is intuitive as the transmitter grid is arranged in an X-Y plane. Table 2 lists the position errors. position errors. 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) (a)
(b) (b)
(c) (c)
Figure 12. Errors in the measured receiver coordinates. (a) Error in X coordinates; (b) Error in Y Figure 12. Errors in the receiver coordinates. (a) Error in X coordinates; (b) Error in Y coordinates; (c) Error in measured Zmeasured coordinates. Figure 12. Errors in the 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. Table 1. X, Mean Y, and (cm) Z coordinates error statistics. (cm) Coordinates Standard Deviation
Coordinates X
Coordinates X Y
Y XZ YZ Z
Mean (cm) 1.83(cm) Standard Deviation 9.45 Mean (cm) Standard Deviation (cm) 1.83 9.45 3.35 11.28 3.35 11.28 1.83 9.45 −10.97 7.01 −10.97 7.01 3.35 11.28 Table− 2.10.97 Position error statistics.7.01 Table 2. Position error statistics.
Mean (cm) Standard Deviation (cm) Table error statistics.(cm) Mean (cm)2. Position Standard Deviation 17.51 16.30 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 to evaluate the positioning system’s Dynamicastests were also performed on test the volume. receiver performance the receiver moved within the The receiver was moved at a speed of performance as the receiver moved within the test volume. The receiver moved at a speed of about 3 cm/s in a straight line and in a circle, as shown in Figures 13 andwas 14, respectively, and the about 3 cm/s in a straight line and in a circle, as shown in Figures 13 and 14, respectively, and the Dynamic tests were also performed on the receiver to evaluate the positioning system’s motion of the receiver was captured by the 3D positioning system in real time. Readings were taken motion of the receiver was by in thea 3D system realfound time.was Readings were performance as the receiver moved within thepositioning test Thein receiver at ataken for straight line motion andcaptured for motion circle. Anvolume. outlier point was to bemoved erroneous inspeed all for straight line motion and for motion in a circle. An outlier point was found to be erroneous in allthe of X, about 3 cm/s in a straight line and in a circle, as shownThere in Figures 13 and of 14,about respectively, and Y, and Z coordinates, as the coordinates were coupled. was a latency 1.98 s between X, Y,successive and Z coordinates, ascaptured the coordinates coupled. was a time latency of about 1.98because swere between motion of the receiver wascalculations, by the were 3D positioning system in real lag time. Readings taken two position which was primarilyThere due to the introduced 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, Y, and Z coordinates, as the coordinates were coupled. There was a latency of about 1.98 s between Sensors 2016, 16, 1637 11 of 13 Sensors 2016, 16, 1637 11 ofof 13 two successive position calculations, which was primarily due to the time lag introduced because data data transmission transmission to to the the computer computer for for the the position position computation. computation. This This explains explains the the presence presence of of about about dataoutliers transmission to the tests. computer for the position computation. This explains the presence of about 15% in dynamic 15% outliers in dynamic tests. 15% outliers in dynamic tests.
Figure 13. Straight Straight line motion. motion. Figure Figure 13. 13. Straight line line motion.
Figure 14. Motion in a circle. Figure 14. 14. Motion Motion in in aa circle. circle. Figure
5. Conclusions and Future Work 5. Conclusions 5. Conclusionsand andFuture Future Work Work This paper demonstrated the feasibility of an indoor 3D positioning system based on This paper paper demonstrated demonstrated the feasibility feasibility of of an an indoor indoor 3D 3D positioning positioning system system based based on on This multilateration using ultrasonic the beacons. This approach is particularly suitable for navigation of multilateration using using ultrasonic ultrasonic beacons. beacons. This approach is particularly suitable suitable for for navigation navigation of of multilateration This approach is particularly autonomous vehicles in indoor and urban environments and is optimally fit to overcome the autonomousvehicles vehiclesin in indoor and urban environmentsis optimally and is optimally fit to the overcome the autonomous indoor and environments fit to overcome limitations of radionavigation andurban Global Navigationand Satellite Systems (GNSS) in theselimitations scenarios limitations of radionavigation and Global Satellite Navigation Satellite Systems (GNSS) in these scenarios of radionavigation and Global Navigation Systems (GNSS) in these scenarios [2,5]. As the [2,5]. As the considered ultrasonic sensors are relatively inexpensive and easy to set up, the proposed [2,5]. As the considered ultrasonic sensors are relatively inexpensive and easy to set up, the proposed considered sensors are relatively easy to set up, the proposed positioningultrasonic system has the potential to be inexpensive scaled up to and cover a bigger volume, openingpositioning up various positioning system has the potential to be scaled up to cover a bigger volume, openingoperational up various system has the potential to be scaled up to cover a bigger volume, opening up various operational applications. The inherent nature of the slow propagating speed of ultrasonic waves operational applications. The inherent nature of the slow propagating speed of ultrasonic waves applications. The inherent nature of and the slow speed of ultrasonic waves allows for higher allows for higher signal resolution thus propagating leads to increased accuracy in position estimations. The allows for higher signal resolution and thus leads to increased accuracy in position estimations. The signal resolution and thus leads to increased accuracy in position estimations. The system was tested system was tested for robustness in the presence of noise, obstructions in line of sight of sensors, system was tested for robustness in theobstructions presence ofin noise, obstructions in linesensors of sightbeing of sensors, for robustness in the of failures. noise, line of sight of system sensors, out of sensors being out of presence range, and Having an overdetermined for position estimation sensorsand being out ofHaving range, an and failures. Having an overdetermined system for position estimation range, failures. overdetermined system for position estimation mitigates many of the mitigates many of the undesirable effects, thereby increasing the system robustness. mitigates many of the undesirable effects, thereby increasing the system robustness. undesirable thereby of increasing the system robustness. Future effects, developments the ultrasonic positioning 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
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.
2. 3. 4. 5. 6. 7. 8.
9. 10.
11.
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. Sabatini, R.; Moore, T.; Hill, C. A New Avionics-Based GNSS Integrity Augmentation System: Part 1—Fundamentals. J. Navig. 2013, 66, 363–384. [CrossRef] 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] 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. 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. 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] Ward, A.; Jones, A.; Hopper, A. A new location technique for the active office. IEEE Pers. Commun. 1997, 4, 42–47. [CrossRef] 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. Hazas, M.; Hopper, A. Broadband Ultrasonic Location Systems for Improved Indoor Positioning. IEEE Trans. Mob. Comput. 2006, 5, 536–547. [CrossRef] 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. 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
12. 13.
14. 15.
16.
17. 18. 19. 20.
21.
22. 23. 24.
25.
13 of 13
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] 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. 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] 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. 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. 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. 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. 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. 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] 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] 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. Matsushita Electronic Company. Ultrasonic Ceramic Microphone Data Sheet. Available online: http://www.jameco.com/Jameco/Products/ProdDS/2120268.pdf (accessed on 3 September 2011). 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] 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/).