Next Article in Journal
Theoretical Prediction of Experimental Jump and Pull-In Dynamics in a MEMS Sensor
Next Article in Special Issue
A Brightness-Referenced Star Identification Algorithm for APS Star Trackers
Previous Article in Journal
An Efficient Moving Target Detection Algorithm Based on Sparsity-Aware Spectrum Estimation
Previous Article in Special Issue
The Open Service Signal in Space Navigation Data Comparison of the Global Positioning System and the BeiDou Navigation Satellite System
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

A Novel Angle Computation and Calibration Algorithm of Bio-Inspired Sky-Light Polarization Navigation Sensor

College of Mechantronics and Automation, National University of Defense Technology, Changsha 410073, Hunan, China
*
Author to whom correspondence should be addressed.
Sensors 2014, 14(9), 17068-17088; https://doi.org/10.3390/s140917068
Submission received: 27 June 2014 / Revised: 27 August 2014 / Accepted: 10 September 2014 / Published: 15 September 2014
(This article belongs to the Special Issue Sensor Innovations for Spacecraft Guidance, Navigation, and Control)

Abstract

: Navigation plays a vital role in our daily life. As traditional and commonly used navigation technologies, Inertial Navigation System (INS) and Global Navigation Satellite System (GNSS) can provide accurate location information, but suffer from the accumulative error of inertial sensors and cannot be used in a satellite denied environment. The remarkable navigation ability of animals shows that the pattern of the polarization sky can be used for navigation. A bio-inspired POLarization Navigation Sensor (POLNS) is constructed to detect the polarization of skylight. Contrary to the previous approach, we utilize all the outputs of POLNS to compute input polarization angle, based on Least Squares, which provides optimal angle estimation. In addition, a new sensor calibration algorithm is presented, in which the installation angle errors and sensor biases are taken into consideration. Derivation and implementation of our calibration algorithm are discussed in detail. To evaluate the performance of our algorithms, simulation and real data test are done to compare our algorithms with several exiting algorithms. Comparison results indicate that our algorithms are superior to the others and are more feasible and effective in practice.

1. Introduction

It is vital to know the position, velocity and attitude of an agent in many applications. Inertial Navigation System (INS) and Global Navigation Satellite System (GNSS) are conventional navigation technologies and have been widely used in many fields. INS is able to provide navigation information at a high frequency without receiving external signal, but the precision of INS decreases with time due to the accumulation of inertial sensor biases and noise [1,2]. On the contrary, GNSS can provide accurate location and velocity with bounded errors at a low frequency; however, GNSS cannot be used when the GNSS signal is unreachable or disturbed. Furthermore, the high precision INS and GNSS receivers are always bulky and expensive so they are not suitable for certain applications. What we expected is a new system, able to overcome the shortcomings of conventional navigation systems.

The remarkable navigational abilities of many animals have provided an excellent reference for us. It has been proved that the small brains of insect and animal are able to produce exquisitely efficient, robust navigation in complex environments [3,4]. The desert ants Cataglyphis, for example, are social insects (like all ants), but forage by themselves, and are able to find their way home unfailingly, in a straight line, after foraging hundreds of meters away from their nest [5]. It has been shown that Cataglyhpis get their compass direction mainly from the polarization of the blue sky [6]. Some fly insects, such as bees [7], butterfly, and dragonfly [8], are also able to utilize polarized skylight in their navigation activities. Billions of birds migrate between continents twice each year and return to the same breeding sites year after year with voyages of up to 25,000 km [9]. It is suggested that those migratory birds use skylight polarization patterns to derive an absolute directional system, which is used for calibrating all of their other compasses [10]. The polarization skylight is a natural resource of the Earth, which is caused by the scattering of sunlight in the Earth's atmosphere and is partially linearly polarized [11]. Ideas derived from the studies of insect and animal navigation behaviors have shown that the polarization of skylight can be used as a compass in navigational tasks.

According to the mechanism of processing of polarized-light in the insect, the ommatidia in the compound eyes, and the polarization-sensitive neurons (POL-neurons), are the key organs [12,13]. In each ommatidium, there are two sets of polarization-sensitive photoreceptors, which are tuned to orthogonal e-vectors (the directions of polarization). The POL-neurons receive antagonistic input from two polarization-sensitive channels with orthogonal orientations (Figure 1). This is a crossed-analyzed configuration, which enhances the polarized-light contrast sensitivity and reduces the influence of the fluctuations of light intensity. In addition, it is reported that there are three types of cricket POL-neurons which are sensitive to different e-vector directions, i.e., approximately 10 deg, 60 deg, and 130 deg with respect to the body axis [14].

In order to mimic the principle of animals, researchers have done a great deal of work. Lambrinos [11,13] presented an original polarization compass model and method for extracting compass information. Chu [1517] also constructed a POLarization Navigation Sensor (POLNS) and analyzed the sensor error with numeric simulations. A novel algorithm of the direction angle calculation was presented in [18]. In order to measure polarization information with an image array, studies on the division-of-focal-plane polarimeter have been presented in [1921]. Furthermore, Karman [8] gave a review of bio-inspired, polarized skylight-based navigation sensors.

Studies on the POLNS mainly concentrate on the mechanical construction, the angle computation algorithm, and the sensor calibration. As for the mechanical construction of the POLNS, they have similar designs, inspired by nervous systems of insects, and ours is no exception. There are three channels, called POLarization-Opponent (POL-OP) units, in a POLNS. In terms of the angle computation algorithm, recent studies show different approaches. Lambrinos [13] and Chu [1517] only use two of the three POL-OP units for angle computation. A transform has been utilized in [18] for angle calculation, which uses different pairs of the three POL-OP units, along with the different input polarization angles. In those angle computation algorithms, constant or selective, only two of the three POL-OP units are used, the other one is left useless, which is an unwise choice.

With regards to the sensor calibration algorithms, they have barely been reported. Zhao [22] presented an error compensation algorithms, based on LS-SVM (Least Square Support Vector Machine [23,24]). However, the main shortage of this algorithm is that it only does output angle error compensation according to the input polarization angle, which does not take the real error sources (e.g., the installation angle error and voltage bias) into consideration.

In this paper, we focus on the angle computation algorithm and the sensor calibration of a POLNS. We present a Least Squares based calculation algorithm by employing the outputs of all the POL-OP units, which can also be used for arbitrary installation angle assignment and easily expanded to multiple POL-OP unit design. As for the sensor calibration, a new approach is presented which is able to estimate the installation angles and the biases of the voltage output. Numeric simulation and real data test have been done to evaluate the performance of our angle computation and sensor calibration algorithms. Results comparison shows that, both angle computation and calibration algorithms presented in this paper have higher precision and more robustness than those of the existing algorithms.

The remainder of this paper is organized as follows: the sensor system model and the novel angle computation algorithm are detail in Section 2, followed by our calibration algorithm in Section 3. Numeric simulation and real data test are presented in Sections 4 and 5, respectively. Finally, the conclusions of this paper are given in Section 6.

2. Sensor Modeling and Angle Calculation

2.1. Sensor Overview

Our sensor consists of the mechanical construction part and the circuit part. As shown in Figure 2b, there are three POL-OP units, with each POL-OP unit consisting of one pair of wire grid polarizers and one pair of photodiodes. The polarization directions of three POL-OP units are arranged in different angles. If they are ideally arranged, as shown in Figure 2c, they are adjusted by 0 degree, 60 degree, and 120 degree to the reference body axis. As for the two polarizers in a POL-OP unit, the polarization direction of one polarizer was adjusted by 90 degree to that of the other one, which mimics the crossed-analyzer configuration in the POL-area of insect eyes [13]. In reality, the actual installation angle may be different from what we want because of the mechanization processing error and the polarizer installation error. To deal with this problem, a novel angle computation algorithm is presented later in this paper.

Regarding the circuit of the sensor, the signal flowchart is shown in Figure 3. The photodiodes, S1087 [25], allows reliable optical measurements in the visible to near infrared range with a wide dynamic range from a low-light level to a high-light level. In order to deal with the wide range of the current coming from the photodiode, log ratio amplifiers (LOG104, [26]) are utilized, which is also a bio-inspired design [13]. Once the current is converted into voltage, a high resolution Analog Digital Converter (ADC, AD7734, [27]) is employed to transfer the analog signal to digital sequences. The digital sequences are preprocessed in an MCU (Micro Control Unit); and the data are sent to a computer through the serial communication interface of the RS485.

2.2. Modeling and Angle Calculation

The output current of photodiode is linear to the light level, which can be modeled as [13,18]:

s i , j ( ϕ ) = K I ( 1 + d cos ( 2 ϕ 2 α i , j ) ) , i = 1 , 2 , 3 ; j = 1 , 2
where K is an amplification factor related to the photodiode, I is the total intensity I = Imax + Imin, with Imax, Imin being the maximum and the minimum intensity, d denotes the polarization degree of the input light, ϕ is the angle between direction of input polarized light and the reference direction of the sensor, and αi,j is the maximum polarization angle of each polarizer, of which the value maximizes si,j (ϕ). The output of each log ratio amplifier can be modeled as [13,18]:
V i ( d , ϕ ) = 1 2 log ( 1 + d cos ( 2 ( ϕ α i , 1 ) ) 1 + d cos ( 2 ( ϕ α i , 2 ) ) ) , i = 1 , 2 , 3

The maximum polarization angle of each polarizer αi,j is determined by the mechanical setup, thus, it is also called installation angle. If the polarizers are ideally fixed, as shown in Figure 2c, then we have:

α i , j = π 3 ( i 1 ) + π 2 ( j 1 ) i = 1 , 2 , 3 ; j = 1 , 2

The output of each POL-OP unit is the function of the input polarization angle ϕ and polarization degree d. The aim of the sensor is to compute those two parameters by using the outputs of POLNS outputs, which is the progress of angle computation. According to Equation (2), it is easy to know that there are two unknown parameters and three known equations. Theoretically, the two parameters can be computed by arbitrarily using two of the three equations. In reality, this idea has been used by researchers Lambrinos [13] and Zhao [18]. The difference between them is the choice of the two equations. Lamrinos used a constant two equations, while Zhao used two equations selectively according to the input polarization angle. These algorithms are feasible and can provide accurate angle estimation based on the assumption that the installation angles are known precisely and the measurement noise can be ignored. In practice, the assumption is difficult to be realized.

Contrary to the previous algorithms, a new angle computation algorithm is presented for the sake of reducing the influence of the installation angle error and measurement noise, and giving the optimal angle estimation.

We present a transform to Equation (2) as follows:

a i 1 d cos ( 2 ϕ ) + a i 2 d sin ( 2 ϕ ) = y i , i = 1 , 2 , 3
where:
a i 1 = 10 2 V i cos ( 2 α i , 2 ) cos ( 2 α i , 1 ) a i 2 = 10 2 V i sin ( 2 α i , 2 ) sin ( 2 α i , 1 ) y i = 1 10 2 V i

The equation group of Equation (4) can be rewritten as:

Ar = Y
where:
A = [ a 11 a 12 a 21 a 22 a 31 a 32 ] , Y = [ y 1 y 2 y 3 ] , r = [ r 1 r 2 ] = [ d cos ( 2 ϕ ) d sin ( 2 ϕ ) ]

In order to obtain polarization angle ϕ and polarization degree d, the vector r is computed first. As shown in Equations (6) and (7), there are three equations and two unknown variables. In the novel approach, we utilize the Least Squares to estimate the vector r. Then r is computed by:

r = ( A T A ) 1 A T Y

Once r is obtained, the ϕ and d are computed as follows:

ϕ = 1 2 atan 2 ( r 2 , r 1 )
d = r

In the novel approach, a Least Squares based estimation is presented with the aim of increasing the precision and robustness of the result. In practice, all devices used in the sensor are inevitably polluted by biases and noise. With the utilization of Least Squares estimation, the residual error is minimized, thus, the optimal estimation is obtained. Moreover, this algorithm has several obvious advantages:

(1)

This algorithm is more anti-noise than the existing solutions, because we use all of the POL-OP units' output and give an optimal estimation while the existing solutions adopt two of the units.

(2)

The algorithm is not restricted to the fixed installation angle (e.g., 0 degree, 60 degree, and 120 degree), and can be used for an arbitrary installation angle.

(3)

The algorithm is easily extended to multiple-channel design

3. Sensor Calibration

In regards to the sensor calibration, the error model of the sensor was analyzed first, and then the nonlinear Least Squares based calibration algorithm was deduced, and finally the implementation of the algorithm was realized.

3.1. Error Model

In the sensor measurement model given in Equations (1) and (2), the amplification factor K of each photodiode is assumed as identical; the installation angle αi,j is known precisely, and the output voltage has no bias or noise. However, it is an ideal model and not true in reality. The error model of the sensor is described as follows:

V i ( d , ϕ ) = 1 2 log ( 1 + d cos ( 2 ( ϕ α i , 1 ) ) 1 + d cos ( 2 ( ϕ α ˜ i , 2 ) ) ) + n i , i = 1 , 2 , 3
V i = V i b i , i = 1 , 2 , 3 α i , j = α i , j ɛ i , j , i = 1 , 2 , 3 ; j = 1 , 2
where i, α̃i,j are the estimated or measured values of the real values Vi, αi.j, respectively, with bi, εi,j being their error values; ni is the measurement noise of ADC, which is modeled as white noise. In this paper, εi,j is called the installation angle error. What should be noticed is that, because we choose the axis direction of the polarizer p1,1 as the reference direction (as shown in Figure 2c), then the installation angle error related to this polarizer is zero, which is:
ɛ 1 , 1 0

As for the voltage error bi, it mainly composes of two parts, in which one is the inconsistent amplification factor Ki,j and the other comes from device bias bdevice,i.

b i = b K + b device = 1 2 log K i , 1 K i , 2 + b device , i

The goal of our calibration algorithm is to determine installation angle errors and voltage biases.

3.2. Least Squares Based Calibration Algorithm

The polarization angle ϕ is computed by using Equations (5)(9), which is a nonlinear function, provided that there are N + 1 measurements, then, N + 1 polarization angles can be computed as follows:

ϕ k = f ( x k ) , k = 0 , 1 , 2 , , N
where k denotes the k th measurement, and:
x k = [ α 1 , 1 , α 1 , 2 , α 2 , 1 , α 2 , 2 , α 3 , 1 , α 3 , 2 , V 1 , k , V 2 , k , V 3 , k ] T
where αi,j can be initialized from Figure 2c and Vi,k is the kth voltage measurement of the ith POL-OP unit.

In this paper, the error value, estimated value and true value of a variable or vector are defined as follows:

a = a δ a
where a is the true value and ã, δa are the estimated (or measured) value and error value, respectively. As an exception, the error values of xk and δx are slightly different, which can be obtained from Equations (12) and (13)
x k = x k δ x
δ x = [ 0 , ɛ 1 , 2 , ɛ 2 , 1 , ɛ 2 , 2 , ɛ 3 , 1 , ɛ 3 , 2 , b 1 , b 2 , b 3 ] T

It is notable that, though the last three elements of xk are variable depending on the input, δx is constant and the first element of δx is zero because of Equation (13).

The Taylor expansion of Equation (15) is written as:

ϕ k = f ( x k δ x ) = f ( x k ) J ( x k ) δ x + Ο ( δ x 2 ) = ϕ k J ( x k ) δ x + Ο ( δ x 2 )
where J is the Jacobian. This is a vector containing the first partial derivatives of the function components, which is detailed in the appendix.

Based on Equations (17) and (20), we obtain:

δ ϕ k J ( x k ) δ x

In the process of calibration, the relative input polarization angles are assumed as known, which is feasible in practice by using a precise rotation table. Thus, what we are able to know exactly about the input polarization light is the relative polarization angle, which is:

Δ ϕ k = ϕ k ϕ 0 , k = 1 , 2 , , N

Combining Equations (20) and (22), we obtain:

Δ ϕ k = ϕ k ϕ 0 J ( x k ) δ x + δ ϕ 0 + O ( δ x 2 ) , k = 1 , 2 , , N

This equation can be rewritten as:

HP = Z
where HkRN×9, PR9 and ZRN. They are defined as follows:
H = [ H 1 H 2 H N ] , H k = [ J k ( 2 : 9 ) , 1 ]
P = [ ɛ 1 , 2 , ɛ 2 , 1 , ɛ 2 , 2 , ɛ 3 , 1 , ɛ 3 , 2 , b 1 , b 2 , b 3 , δ ϕ 0 ] T
Z = [ Z 1 Z 2 Z N ] , Z k = ϕ k ϕ 0 Δ ϕ k
where Jk(2 : 9) ∈ R8 is the subvector of Jk, which consists of the last eight elements of Jk.

To estimate the vector P is our objective of sensor calibration. A least square method is fit well with this problem, and P can be calculated as follows:

P = ( H T H ) 1 H T Z

Once we get an estimation of the sensor parameter P, we can compensate the measurement as follows:

x k = x k δ x ( P )
where δx(P) denotes that δx is the function of P, which can be obtained by comparing Equations (19) and (26).

To evaluate the performance of the calibration results, two indicators are given. One is to compare the estimated polarization angle with the known input polarization angle, which can be computed by using Equation (27). In other word, the vector Z can be used as the measurement of Least Square and also used for evaluating the results. Another variable is employed to represent the angle error:

e ϕ = Z

The other indicator used is to compare the measure voltage and estimated voltage as follows:

e V = [ e v 1 , e v 2 , , e v N ] T
where:
e v k = [ V ( ϕ k , α ) + b V k ]

In this paper, the results are examined by using a linear combination of both indicators:

e = w 1 e ϕ + w 2 e V N
where w1, w2 are weight factors, which can be arbitrarily set, but in this paper, we set that w1 = w2 = 0.5.

Furthermore, the precision of the matrix H depends on k. If the initial estimated has large error, the matrix H also has large linearization error, and then the result computed by Equation (28) may be not accurate. In order to reduce the linearization error and improve the estimation precision, an iterative least square [28,29] implementation algorithm is employed, which is detailed in the next section.

3.3. Implementation of the Calibration

In this section, the implementation process of iterative least square calibration is presented. What we known are the relative input polarization angle Δϕk and a series of the sensor measurements V i k. The objective of calibration is to estimate the sensor parameter P as precisely as possible. The implementation steps are shown in Figure 4.

First, several variables 0, δ0, P0 are initialized and the current iterative number j, the indicator threshold ethreshold and the maximum iterative number Nmax are also set. Secondly, the initial value of (1) in obtained by compensating (0) with δ0. Then the iteration loop is started. During the iteration, the main steps contain computing ϕ̃(j), (j),H(j), estimating P(j), compensating (j) and computing the indicator e(j). After iteration, if the indicator is less than the set threshold or the current iterative number is greater than the set maximum one, the loop is stopped and the calibration results are given, otherwise, the iteration loop continues.

4. Simulation

In order to evaluate the performance and feasibility of our algorithm, a series of numeric simulations have been done before the test on the real data. For the angle computation algorithm, the performances of different algorithms were compared with different sensor error and noise input. Furthermore, to assess the influence of different polarization degrees, another simulation has been done. As for the calibration algorithm, a comparison was also made between the algorithm in this study and the algorithm presented by Zhao.

4.1. Angle Output Comparison with Different Algorithms

In order to investigate angle output performance effected by the voltage biases, the installation angle error, and the voltage noise, three different simulation are done with different error combinations, namely the voltage bias error (denoted by “B”), the voltage bias error, and installation angle error (denoted by “B+AE”), and the combination of the three types of error (denoted by “B+AE+N”). In each simulation, the results of three algorithms, namely algorithm presented by Lambranios, algorithm presented by Zhao, and our algorithm, are compared. Assuming that the polarization degree is 0.5, the voltage bias is 5 mV, the installation angle error is 1 degree, and the noise of the voltage output is white noise with the standard variance of 1 mV.

As for different error inputs, the results are shown in Table 1. As can be seen from the table, with the increase of error sources, the accuracies of all the algorithms decrease. Among the three algorithms, the result of our algorithm is much more accurate than those of the others. Particularly, the results with the input error of “B+AE+N” are compared in Figure 5. It is clear that our algorithm outperforms the other two because all of the three POL-OP units were utilized, and an optimal estimation was given based on the Least-Square. This approach is able to restrain the sensor biases and noise effectively and can be easily expanded to multiple POL-OP units. The more POL-OP units are used, the higher accuracy our algorithm will give. The results also show that, in most cases, the algorithms of Zhao are superior to those of Lambranios, however, they have the same results in certain polarization input angles (from 20 degree to 40 degree and from 105 degree to 135 degree, as shown the parts with a yellow background in Figure 5). The results can be easily explained in that Zhao chooses the optimal two POL-OP units of the three while Lambranios choose two of them constantly; when they choose the same two units they have the same results. On the other hand, when they choose different units, Zhao's algorithm shows a better performance.

The three algorithms with different polarization degrees are evaluated for the sake of the study on the influence caused by polarization degree. The error source is “B+AE+N” but the polarization degree is different. As shown in Figure 6, the standard deviation of the estimated angle error decreases as the polarization degree increases. The reason is that the amplitude of voltage output has a positive correlation with the polarization degree. For the same error source, the signal to noise ratio also increases as the voltage amplitude increases. Therefore, all the algorithms show a better performance in high polarization degrees. Our algorithm, however, has similar precision, even in low polarization degrees. The simulation results show that our algorithm is more accurate and robust than the others.

4.2. Calibration Results

In order to test the performance of the iterative Least Squares based calibration algorithm, the algorithm is tested with large initial errors, which is very important in a real calibration process. Taking the installation angle calibration for example, before calibration, an initial value of the angle with bounded error should be given. If our algorithm is able to be convergent for a large initial error, then just an inexact value of the installation angle is needed by using a common protractor. As shown in Table 2, there are eight calibration parameters, the initial installation angle error is four degrees, and the voltage bias are set to 10 mV. Before calibration, the parameters are all assumed as zeros. After the first calibration loop, an estimation of the parameters is obtained which is quite unacceptable, however, an accurate estimation is obtained after five iterations, with the installation angle error being about 0.01 deg, and the voltage bias being about 0.03 mV. The simulation results show the accuracy and robustness of our calibration algorithm.

To compare the angle estimation precision before calibration and after calibration, the angle estimation with calibrated parameters is recalculated. Firstly, the data that are also used for calibration are applied to compare the calibration performance. The results are shown in Figure 7. Both calibration algorithms have improved the angle computation precision, and have a similar accuracy after calibration. However, when another two groups of numeric data are utilized, which have the same error sources but different polarization degrees, the results of the two calibration methods show differently. As shown in Figure 8, it is obvious that our algorithm has much more precision than Zhao's algorithm at the polarization degrees of 0.4 and 0.8, which enables our algorithm to be more applicable in practice. The reason for this is that Zhao's algorithm only performs curve-fitting for the angle error and compensates for it, which may be useful if the sensor has the same error trait. However, when the error trait changes, the accuracy decreases. On the contrary, in our algorithm, the aim is to find the real error resource and compensate for it, which is independent of the polarization degree and polarization input angle. Thus, our calibration algorithm is superior to Zhao's algorithm.

5. Real Data Test

5.1. Experiment Setup

To verify the performance of the novel algorithm of angle computation and sensor calibration in a real system, the algorithms are tested with our bio-inspired polarization navigation sensor. The test system consists of a 24 V Li-Po battery, a precise angle-dividing table, which is able to provide accurate rotating angle discretely with the minimal step of 360/391 degree, a polarization sensor, and a laptop for saving the sensor voltage output. The angle-dividing table rotates horizontally driven by hand with the precision of 0.0001 degree at each step, which is accurate enough for the test. As for the calibration test, to get a standard polarization light source, an integrating sphere is used in [17], however, due to the lack of a sphere, an LCD screen of a tablet PC is utilized to provide the standard polarization light, as shown in Figure 9a. Furthermore, an outdoor test (as shown in Figure 9b) is also done to evaluate the performance of our calibration algorithm.

5.2. Results

For calibration, the angle-dividing table is rotated every 10 scales for each step and the table is kept static for about 10 s. The data are recorded at a sample rate of 100 Hz. There are a total of 20 steps with each step being 9.2072 degree. The raw voltage outputs are shown in Figure 10. After recording the data, 10 epochs of each step are randomly selected for calibration. The initial installation angles are obtained from the mechanical CAD design, which are also with the ideal values. The estimated calibration parameters are shown in Table 3. The result shows that the installation angle errors ranged from 0 to 3 degree and the voltage biases are nearly 10 mV. These errors are relatively large so it is very necessary to do the calibration before using the POLNS.

The same data are processed with three different angle computation algorithms and two calibration algorithms. The angle computation errors are compared in Figure 11. It is clear to see that the error trait of three angle computation algorithms have the similar trends. The reason is that the input light source has relative high polarization degree, to be exact; it is 0.9 for this calibration. According to the simulation results shown in Figure 6, the three algorithms have fewer differences in the high polarization degree. Even so, our algorithm shows a better performance than the other two. After calibration and error compensation, the results of Zhao's algorithm was more or less the same as ours.

In reality, the polarization degree of skylight is barely able to reach 0.9. The calibrated parameters are used to compensate one experiment done in the outdoor. The results are compared in Figure 12 and the computed polarization degree is shown in Figure 13. The maximum angle error is about 0.5 degree, which is half of the Zhao's algorithm. The result shows that our calibration algorithm is more robust and useful than Zhao's. Furthermore, it can be noticed that both algorithms have a relative large error of numeric simulation, which is because of unstable sky polarization pattern, which may be caused by moving clouds and the movement of the sun during the real data test.

6. Conclusions

In the work presented here, we have studied two important issues of bio-inspired POLNS: input polarization angle computation and sensor calibration. Regarding the angle computation algorithm, conventional solutions use only two units of the three POL-OP units of the POLNS, in which sensor output information is not fully utilized. Based on Least Squares algorithm and our sensor model, a novel angle computation algorithm is derived, which is more anti-noise than the existing ones, and can be used for an arbitrary mechanical installation angle and is easily extended to multi-unit designs. With regards to sensor calibration, the main error sources of POLNS, installation angle errors and voltage biases, were analyzed first. Then, the calibration algorithm, based on a standard polarization light source and a precise turntable, was deduced. The aim of the calibration algorithm is to estimate the original sensor parameters and biases, which enables the algorithm to perform better than exiting algorithm.

The proposed two algorithms have been applied to several numeric simulations and real data tests. The comparison with existing algorithms shows that our angle computation algorithm has the same level of precision for different polarization degree input, is more accurate and robust than the other algorithms for the same error input, and that our calibration algorithm is more effective and useful in practice. With the results seen herein, simulation and actual test results are consistent with the analysis, which shows the feasibility and superiority of our algorithms.

Appendix: Calculation of the Jacobian

This section, shows the process of calculating the Jacobian J(xk), which are the partial derivatives of the nonlinear Equation (15). For simplify, J is utilized to denote the Jacobian in short in the following.

J ( x ) = [ f α 1 , 1 , f α 1 , 2 , f α 2 , 1 , f α 2 , 2 , f α 3 , 1 , f α 3 , 2 , f V 1 , f V 2 , f V 3 ]

In order to deduce the partial derivatives, some intermediate variables are introduced as follows:

D = [ D 1 D 3 D 3 D 2 ] = ( A T A ) = [ i = 1 3 a i 1 2 i = 1 3 a i 1 a i 2 i = 1 3 a i 1 a i 2 i = 1 3 a i 2 2 ]
B = [ B 1 B 2 ] = A Y = [ i = 1 3 a i 1 y i i = 1 3 a i 2 y i ]

Then the vector r can be computed by:

r = 1 T 3 [ T 1 T 2 ] = D 1 B = 1 D 1 D 2 D 3 2 [ D 2 B 1 D 3 B 2 D 3 B 1 + D 1 B 2 ]

According to Equation (9), we get the derivatives of ϕ with respect to r

J ϕ ( r ) = 1 2 r [ r 2 , r 1 ]

The following derivatives can also be deduced as:

J r ( T ) = 1 T 3 2 [ T 3 0 T 1 0 T 3 T 2 ]

Since the variable T is the function of D and B, as shown in Equation (A.4)D and B are substituted into one variable G = [DT, BT]T = [D1, D2, D3, B1, B2]T. Then, we can obtain:

J T ( G ) = [ 0 B 1 B 2 D 2 D 3 B 2 0 B 1 D 3 D 1 D 2 D 1 2 D 3 0 0 ]

Additionally, A and Y are substituted into one vector:

L = [ A T ( : , 1 ) , A T ( : , 2 ) , Y T ] T
where A (:,1), A(:,2) are the first column vector and the second column vector of A, respectively. Then, we have:
J G ( L ) = [ 2 A T ( : , 1 ) 0 1 × 3 0 1 × 3 0 1 × 3 2 A T ( : , 2 ) 0 1 × 3 A T ( : , 2 ) A T ( : , 1 ) 0 1 × 3 Y T 0 1 × 3 A T ( : , 1 ) 0 1 × 3 Y T A T ( : , 2 ) ]

As for the last derivative JL(x), it is computed as follows:

J L ( x ) = [ J 11 0 1 × 3 0 1 × 3 0 1 × 3 J 22 0 1 × 3 0 1 × 3 0 1 × 3 J 33 J 41 0 1 × 3 0 1 × 3 0 1 × 3 J 52 0 1 × 3 0 1 × 3 0 1 × 3 J 63 J 71 0 1 × 3 0 1 × 3 0 1 × 3 J 82 0 1 × 3 0 1 × 3 0 1 × 3 J 93 ]
where:
J 11 = [ 2 sin ( 2 α 1 , 1 ) 2 × 10 2 V 1 sin ( 2 α 1 , 2 ) 2 log ( 10 ) × 10 2 V 1 cos ( 2 α 1 , 2 ) ] J 22 = [ 2 sin ( 2 α 2 , 1 ) 2 × 10 2 V 2 sin ( 2 α 2 , 2 ) 2 log ( 10 ) × 10 2 V 2 cos ( 2 α 2 , 2 ) ] J 33 = [ 2 sin ( 2 α 3 , 1 ) 2 × 10 2 V 3 sin ( 2 α 3 , 2 ) 2 log ( 10 ) × 10 2 V 3 cos ( 2 α 3 , 2 ) ] J 41 = [ 2 cos ( 2 α 1 , 1 ) 2 × 10 2 V 1 cos ( 2 α 1 , 2 ) 2 log ( 10 ) × 10 2 V 1 sin ( 2 α 1 , 2 ) ] J 52 = [ 2 cos ( 2 α 2 , 1 ) 2 × 10 2 V 2 cos ( 2 α 2 , 2 ) 2 log ( 10 ) × 10 2 V 2 sin ( 2 α 2 , 2 ) ] J 63 = [ 2 cos ( 2 α 3 , 1 ) 2 × 10 2 V 3 cos ( 2 α 3 , 2 ) 2 log ( 10 ) × 10 2 V 3 sin ( 2 α 3 , 2 ) ] J 71 = [ 0 0 2 log ( 10 ) × 10 2 V 1 ] J 82 = [ 0 0 2 log ( 10 ) × 10 2 V 2 ] J 93 = [ 0 0 2 log ( 10 ) × 10 2 V 3 ]

Once all the intermediate derivatives have been calculated, the Jacobian is obtained:

J ( x ) = J ϕ ( r ) J r ( T ) J T ( G ) J G ( L ) J L ( x )

Acknowledgments

This work was supported by the National Natural Science Foundation of China (No.61104201). Sincere appreciation is given to Chen Fan and Qingan Jiang for their advice.

Author Contributions

Zhiwen Xian and Xiaoping Hu conceived and designed the experiments; Yujie Wang and Tao Ma performed the experiments; Junxiang Lian and Lilian Zhang analyzed the data; Juliang Cao contributed materials; Zhiwen Xian wrote the paper.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Titterton, D.; Weston, J.L. Strapdown Inertial Navigation Technology; The Institution of Electrical Engineers: London, UK, 2004. [Google Scholar]
  2. Lobo, J.; Dias, J. Inertial navigation system for mobile land vehicle. Proceedings of the Industrial Electronics, Athens, Greece, 10–14 July 1995.
  3. Wystrach, A.; Graham, P. What can we learn from studies of insect navigation. Anim. Behav. 2012, 84, 13–20. [Google Scholar]
  4. Srinivasan, M.V.; Zhang, S.W.; Chahl, J.S.; Stange, G.; Garratt, M. An overview of insect-inspired guidance for application in ground and airborne platforms. Proc. Inst. Mech. Eng. Part G: J. Aerosp. Eng. 2004, 218, 375–388. [Google Scholar]
  5. Wehner, R. Spatial Organization of Foraging Behavior in Individually Searching Desert Ants, Cataglyphis (Sahara Desert) and Ocymyrmex (Namib Desert). In From Individual to Collective Behavior in Social Insects; Pasteels, J.M., Deneubourg, J.-L., Eds.; Birkhauser: Basel, Switzerland, 1987; pp. 15–42. [Google Scholar]
  6. Wehner, R.; Lanfranconi, B. What do the ants know about the rotation of the sky? Nature 1981, 293, 731–773. [Google Scholar]
  7. Pahl, M.; Zhu, H.; Tautz, J.; Zhang, S. Large scale homing in honeybees. PLoS One 2011, 6. [Google Scholar] [CrossRef]
  8. Karman, S.B.; Diah, S.Z.M.; Gebeshuber, I.C. Bio-inspired polarized skylight-based navigation sensors: A review. Sensors 2012, 12, 14232–14261. [Google Scholar]
  9. Cochran, W.W.; Mouritsen, H.; Wikelski, M. Migrating songbirds recalibrate their magnetic compass daily from twilight cues. Science 2004, 304, 405–407. [Google Scholar]
  10. Muheim, R.; Phillips, J.B.; Akesson, S. Polarized light cues underlie compass calibration in migratory songbirds. Science 2006, 313, 837–839. [Google Scholar]
  11. Lambrinos, D.; Maris, M.; Kobayashi, H.; Labhart, T.; Pfeifer, R.; Wehner, R. An autonomous agent navigating with a polarized light compass. Adapt. Behav. 1997, 6, 131–161. [Google Scholar]
  12. Wehner, R. The Polarization-Vision Project: Championing Organismic Biology. In Neural Basis of Behavioural Daptations; Schildberger, K., Elsner, N., Eds.; Gustav Fischer Verlag: Stuttgart, Germany, 1994; pp. 103–143. [Google Scholar]
  13. Lambrinos, D.; Möller, R.; Labhart, T.; Pfeifer, R.; Wehner, R. A mobile robot employing insect strategies for navigation. Robot. Auton. Syst. 2000, 30, 39–64. [Google Scholar]
  14. Labhart, T. Polarization-opponent interneurons in the insect visual system. Nature 1988, 331. [Google Scholar]
  15. Chu, J.; Zhao, K.; Wang, T.; Zhang, Q. Research on a novel polarization sensor for navigation. Proceedings of the 2007 International Conference on Information Acquisition, Jeju City, Korea, 8–11 July 2007; pp. 241–246.
  16. Chu, J.; Zhao, K.; Zhang, Q.; Wang, T. Design of a novel polarization sensor for navigation. Proceedings of the IEEE International Conference on Mechatronics and Automation, Harbin, China, 5–8 August 2007; pp. 3161–3166.
  17. Chu, J.; Zhao, K.; Zhang, Q.; Wang, T. Construction and performance test of a novel polarization sensor for navigation. Sens. Actuators A Phys. 2008, 148, 75–82. [Google Scholar]
  18. Zhao, K.; Chu, J.; Wang, T.; Zhang, Q. A novel angle algorithm of polarization sensor for navigation. IEEE Trans. Instrum. Meas. 2009, 58, 2791–2796. [Google Scholar]
  19. Powell, S.; Gruev, V. Calibration methods for division-of-focal-plane polarimeters. Opt. Express 2013, 21, 21039–21056. [Google Scholar]
  20. Kulkarni, M.; Gruev, V. Integrated spectral-polarization imaging sensor with aluminum nanowire polarization filters. Opt. Express 2012, 20, 22997–23012. [Google Scholar]
  21. York, T.; Gruev, V. Characterization of a visible spectrum division-of-focal-plane polarimeter. Appl. Opt. 2012, 51, 5392–5400. [Google Scholar]
  22. Zhzo, K.; Chu, J.; Zhang, Q.; Wand, T. A novel polarization angle sensor and error compensation algorithm for navigation. J. Astronaut. 2009, 30, 503–509. [Google Scholar]
  23. Suykens, J. Least Squares-Support Vector Machines Matlab/c Toolbox. Available online: http://www.esat.kuleuven.be/sista/lssvmlab/ (accessed on 17 December 2013).
  24. Suykens, J.A.K.; Gestel, T.V.; Brabanter, J.D.; Moo, B.D.; Vandewalle, J. Least Squares Support Vector Machines; World Scientific: Singapore, Singapore, 2002. [Google Scholar]
  25. Hamamatsu Photonics. Available online: http://www.hamamatsu.com/jp/en/index.html (accessed on 12 December 2013).
  26. Log104 Logarithmic Amplifier. Available online: http://www.ti.com/product/LOG104 (accessed on 12 November 2013).
  27. Ad7734. Available online: http://www.analog.com/static/imported-files/data_sheets/AD7734.pdf (accessed on 11 November 2013).
  28. Madsen, K.; Nielsen, H.B.; Tingleff, O. Methods for Non-Linear Least Squares Problems; Informatics and Mathematical Modelling, Technical University of Denmark, DTU: Lyngby, Denmark, 2004. [Google Scholar]
  29. Marquardt, D.W. An algorithm for least-squares estimation of nonlinear parameters. J. Soc. Ind. Appl. Math. 1963, 11, 431–441. [Google Scholar]
Figure 1. The processing of polarized-light information in the insect nervous system. The two channels in an ommatidium are tuned to orthogonal polarization directions. The e-vector response of the photoreceptor (s1,s2) have a logarithmic intensity characteristic [11]. The POL-neuron response represents a difference between s1 and s2.
Figure 1. The processing of polarized-light information in the insect nervous system. The two channels in an ommatidium are tuned to orthogonal polarization directions. The e-vector response of the photoreceptor (s1,s2) have a logarithmic intensity characteristic [11]. The POL-neuron response represents a difference between s1 and s2.
Sensors 14 17068f1 1024
Figure 2. (a) The polarization sky-light navigation sensor, (b) mechanical structure, and (c) the ideal arrangement of three pairs of wire grid polarizers. The polarization direction of p1,1 (the red arrow in (c)) is selected as sensor reference direction.
Figure 2. (a) The polarization sky-light navigation sensor, (b) mechanical structure, and (c) the ideal arrangement of three pairs of wire grid polarizers. The polarization direction of p1,1 (the red arrow in (c)) is selected as sensor reference direction.
Sensors 14 17068f2 1024
Figure 3. Schematic representation of the circuit signal flowchart.
Figure 3. Schematic representation of the circuit signal flowchart.
Sensors 14 17068f3 1024
Figure 4. The flowchart of the implementation of our calibration algorithm.
Figure 4. The flowchart of the implementation of our calibration algorithm.
Sensors 14 17068f4 1024
Figure 5. Angle estimation error comparison of different algorithms before calibration. It is clear that our algorithm shows a better performance than the other two, however, the result still has a sinusoidal trend, which indicates that a calibration is necessary in order to further improve the senor precision.
Figure 5. Angle estimation error comparison of different algorithms before calibration. It is clear that our algorithm shows a better performance than the other two, however, the result still has a sinusoidal trend, which indicates that a calibration is necessary in order to further improve the senor precision.
Sensors 14 17068f5 1024
Figure 6. Angle estimation error comparison of different algorithm with different polarization degrees.
Figure 6. Angle estimation error comparison of different algorithm with different polarization degrees.
Sensors 14 17068f6 1024
Figure 7. Estimated angle error comparison of pre-calibration and post-calibration.
Figure 7. Estimated angle error comparison of pre-calibration and post-calibration.
Sensors 14 17068f7 1024
Figure 8. Estimated angle error comparison of post-calibration with different polarization degrees.
Figure 8. Estimated angle error comparison of post-calibration with different polarization degrees.
Sensors 14 17068f8 1024
Figure 9. Polarization navigation sensor test setup. (a) Sensor calibration test (b) Outdoor test.
Figure 9. Polarization navigation sensor test setup. (a) Sensor calibration test (b) Outdoor test.
Sensors 14 17068f9 1024
Figure 10. Raw voltage outputs at the 20 steps during the sensor calibration test. Each step contains about 1000 epochs. The data of voltage 3 at Step 2 have been amplified, in which the two bars denote the minimum value and maximum value of the sample data. The voltage output is stable, as shown in the amplificatory figure, with the noise of the voltage measurement being less than 5 mV.
Figure 10. Raw voltage outputs at the 20 steps during the sensor calibration test. Each step contains about 1000 epochs. The data of voltage 3 at Step 2 have been amplified, in which the two bars denote the minimum value and maximum value of the sample data. The voltage output is stable, as shown in the amplificatory figure, with the noise of the voltage measurement being less than 5 mV.
Sensors 14 17068f10 1024
Figure 11. Angle computation results with real data. Three angle computation algorithms, namely Lambranios, Zhao, and ours, are tested before calibration. The results of post-calibration of Zhao's algorithm and our calibration algorithm are also shown in the figure.
Figure 11. Angle computation results with real data. Three angle computation algorithms, namely Lambranios, Zhao, and ours, are tested before calibration. The results of post-calibration of Zhao's algorithm and our calibration algorithm are also shown in the figure.
Sensors 14 17068f11 1024
Figure 12. Estimated angle error comparison of the post-calibration with outdoor test data.
Figure 12. Estimated angle error comparison of the post-calibration with outdoor test data.
Sensors 14 17068f12 1024
Figure 13. The computed polarization degree of outdoor test.
Figure 13. The computed polarization degree of outdoor test.
Sensors 14 17068f13 1024
Table 1. Angle estimation error of three algorithms with different error inputs.
Table 1. Angle estimation error of three algorithms with different error inputs.
AlgorithmLambraniosZhaoOurs
Err SourceBB+AEB+AE+NBB+AEB+AE+NBB+AEB+AE+N
Max Err(deg)1.071.441.600.641.111.060.150.630.75
Avg Err(deg)0.03−0.21−0.22−0.00−0.16−0.150.00−0.16−0.15
Std Err(deg)0.840.940.940.400.440.460.100.200.22
Table 2. Parameters estimation of iterative Least Square based calibration algorithm.
Table 2. Parameters estimation of iterative Least Square based calibration algorithm.
Paramsε1,2ε2,1ε2,2ε3,1ε3,2b1b2b3
units(deg)(deg)(deg)(deg)(deg)(mV)(mV)(mV)
True value4.00−4.004.004.00−4.00−10.0010.00−10.00
IterNum = 00.000.000.000.000.000.000.000.00
IterNum = 14.77−3.023.514.53−3.82−9.709.88−8.57
IterNum = 24.00−4.004.024.02−4.01−9.9310.04−9.96
IterNum = 54.00−4.014.004.00−4.01−9.9710.03−10.00
Table 3. Calibration parameter estimation of our real system.
Table 3. Calibration parameter estimation of our real system.
Parametersα1,1α1,2α2,1α2,2α3,1α3,2b1b2b3
units(deg)(deg)(deg)(deg)(deg)(deg)(mV)(mV)(mV)
initial0.0060.0120.090.0150.0210.0000
final0.0058.6117.988.6147.4209.0−1.2−8.9−5.4

Share and Cite

MDPI and ACS Style

Xian, Z.; Hu, X.; Lian, J.; Zhang, L.; Cao, J.; Wang, Y.; Ma, T. A Novel Angle Computation and Calibration Algorithm of Bio-Inspired Sky-Light Polarization Navigation Sensor. Sensors 2014, 14, 17068-17088. https://doi.org/10.3390/s140917068

AMA Style

Xian Z, Hu X, Lian J, Zhang L, Cao J, Wang Y, Ma T. A Novel Angle Computation and Calibration Algorithm of Bio-Inspired Sky-Light Polarization Navigation Sensor. Sensors. 2014; 14(9):17068-17088. https://doi.org/10.3390/s140917068

Chicago/Turabian Style

Xian, Zhiwen, Xiaoping Hu, Junxiang Lian, Lilian Zhang, Juliang Cao, Yujie Wang, and Tao Ma. 2014. "A Novel Angle Computation and Calibration Algorithm of Bio-Inspired Sky-Light Polarization Navigation Sensor" Sensors 14, no. 9: 17068-17088. https://doi.org/10.3390/s140917068

Article Metrics

Back to TopTop