1. Introduction
Planetary rovers are wheeled robots characterized by extremely slow speed and rotation. They typically move in a stop-and-go fashion so that they can scan their surroundings to find a drivable path, and discover scientific targets in the exploration area. For example, NASA’s Mars Exploration Rovers have an average speed of 1 cm/s when moving on hard and flat surfaces and even less in normal motion [
1]. Typical motion scenarios of planetary rovers include straight drives, arc turns and turn-in-place maneuvers,
etc. [
2].
To explore an unknown environment, the rover must know two things: “where am I?” and at the same time, “where am I heading to?” The answers to these questions are essential to allow the manned/unmanned robot to perform reliably and not become lost in a given environment. Navigation would appear to be easy for planetary rovers due to their slow dynamics, but unfortunately the sensors that are available for terrestrial robot navigation are not always available onboard the planetary rovers. In terrestrial applications the traditional methods of estimating the attitude and position of mobile robots include dead reckoning, use of a global positioning system (GPS), magnetic compass and map matching,
etc. However, none of these methods alone can solve the problem of self-localization on another planet. For example, a GPS-like system is not available on the Moon or Mars yet. Magnetic compasses commonly employed for absolute heading estimations on Earth cannot be used on other planets. For instance, the magnetic field on Mars and Moon is too weak and irregular to be useful as a navigational aid [
3,
4]. Similarly, gyro-compassing, which is a common method of seeking the north by high-grade IMUs using Earth’s rotation [
5], is not suitable on many other planets, due, for example, to the extremely slow rotation of the Moon around its own axis. Digital maps are not available or have too low resolution to provide accurate navigation information for planetary rovers. All these limitations ultimately make planetary rovers navigation in a completely unknown environment difficult. Therefore, there is an urgent need to solve the dual problems of relative and absolute navigation on remote planets.
Relative (local) navigation information can be obtained in a way similar to that used for terrestrial ground vehicles, e.g., through integration of angular rates to get attitude and displacement from wheel encoders [
6]. However, absolute (global) navigation information, which provides the navigational information of a vehicle directly in global coordinates and does not diverge with the passage of time, is difficult to obtain on a planetary surface. Another reason that absolute navigational information is needed in the navigating framework of a planetary rover is to limit the unbounded error growth of a dead reckoning positioning system. Absolute heading is especially essential to reduce cross track errors in mobile robots [
7].
The field of planetary rover navigation has been widely researched since the launch of the Path-finder mission by NASA in 1997. A Sun sensor was developed in [
8] to provide planetary rovers with heading estimations, but the algorithm was computationally too burdensome to be used on actual rovers. Further improvements in design and usage were provided in [
9]. A charge-coupled device (CCD) type sensor was used in [
10] which has a wide FOV and was modeled as a fish-eye lens. It involves a complex calibration procedure with 21 parameters. An algorithm to estimate absolute heading and relative position using a Sun sensor, Earth sensor and an inclinometer was provided in [
11]. The attitude estimation algorithm was described from multiple vector observations using optimization based on Davenport’s
q-Method [
12] However, the authors validate their propositions only through simulations, and provide no real data from field experimentation. They also do not consider all possible motion scenarios, as was done in the present study.
A position sensitive detector (PSD) type Sun sensor, similar to ours, has been used in [
13]. The PSD type Sun sensor uses less power and simple algorithm to detect the Sun’s position in the sensor frame, and suffers less atmospheric effects and is quite robust. The authors also provided an algorithm for estimating absolute heading and absolute position using the Sun sensor and an inclinometer, employing the
q-Method. The accuracy of position estimation was quite coarse. They achieved absolute heading angle within a few degrees but used a nonlinear minimization approach, which requires much more time as compared to our approach. Furthermore, the optimization based methods can only be employed in a static condition [
14], and requires the vehicle to stop for few minutes [
15] during the collection of the sensor’s multiple observations. In contrast, our approach is a
one-shot heading estimation method, called Estimation of absolute Attitude using Sun sensor and Inclinometer (
EASI), and can be performed in real time at 10 Hz (determined by the Sun sensor’s update rate), using the Sun sensor and inclinometer data only.
The Sun is the most prominent navigation beacon for space applications. We have designed an absolute heading estimation algorithm which employs low cost, low power and low volume MEMS sensors, suitable for micro rovers (<20 kg). Efforts to employ such miniaturized navigation sensors are already occurring [
16,
17]. Further, to achieve reliable and more accurate navigation information at a high data rate, we have integrated the relative and absolute navigation sensors in a framework of nonlinear filters. We only chose and compared non-linear filters which can be executed with the limited computation resources of micro planetary rovers, e.g., the Extended Kalman filter (EKF), Unscented Kalman filters (UKF),
etc. Other non-linear filters which have high computational expense (e.g., Particle filters, Divided difference filters,
etc.) are not considered in this work, for the sake of simplicity and applicability.
The aim of this work is to achieve reliable and accurate navigation estimation within the desired goals of a planetary rover, e.g., with less than 10% error in position and 2° in attitude [
18], taking into account all possible motion scenarios, including long time stationary, move in straight and curved paths, and take turn-in-place (
TiP) motion [
2],
etc.The following are the main elements of this study. First we provide an algorithm (EASI) to estimate the absolute heading angle using MEMS sensors, specifically, a Sun sensor and inclinometer. We integrate the relative and absolute navigation sensors to achieve an improvement in navigation accuracy and reliability. Our integration filter integrates the gyro, Sun sensor and inclinometer for long term attitude accuracy, and hence stabilizes the estimation of position. When the rover stops, we use the Sun sensor and inclinometer data to estimate absolute heading and roll, pitch angles. During in-motion state, the integration filter fuses data from the gyro, Sun sensor, and inclinometer to continuously track the attitude. Drifts in gyro-only attitude are bounded by the absolute information of the EASI algorithm. Next, the optimization based heading estimation algorithm (q-Method) and EASI algorithm are compared in different motion scenarios, and finally the nonlinear fusion filters (EKF/UKF) are compared in terms of accuracy and reliability. The aim is to show the viability of using minimal/low-cost MEMS sensors in a micro rover navigation system having very limited space and power resources.
The conceptual diagram of the relative and absolute sensors integration algorithm is shown in
Figure 1. At the end of this work, we will show the benefits gained by integrating the relative and absolute navigation sensor data, and compare two nonlinear filters, using real experimental data.
The organization of this paper is as follows: in
Section 2, we present the attitude initialization and propagation algorithm, and in
Section 3, two absolute attitude estimation algorithms are provided in detail.
Section 4 deals with multi-sensor fusion and description of the hardware used in this work. In
Section 5, we present the experimental setup, comparisons of the results and discussion. And finally in
Section 6, we conclude this paper with some comments on future research directions.
3. Absolute Attitude Update Using Sun Sensor and Inclinometer in a Planetary Environment
Gyroscopic-based attitude propagation suffers from divergence with time due to the presence of noise in the sensor signals, and consequently this method cannot be used for estimating attitude for operations over a long period of time. The unbounded growth in error in attitude that occurs when it is solely determined by gyroscope must be limited by some absolute reference; otherwise the estimation will become useless after some time, depending on the accuracy of the gyros used.
In near-Earth applications, we have many options for obtaining the absolute heading of the vehicle, but there is a limited number of heading estimation sensors in a planetary rover application. The Sun is the most prominent navigation beacon in the sky and as the technology develops, use of the Sun for navigating unmanned vehicles in space is becoming more practical.
In this section we briefly present two absolute heading estimation algorithms:(i) the Estimation of Absolute heading using a Sun sensor and Inclinometer (
EASI), developed in our previous work [
20]; and (ii) an optimization-based algorithm (
q-Method) [
11,
13]. Both algorithms incorporate information from a Sun sensor and an inclinometer, and produce the sensor’s absolute roll, pitch angles and heading angle with respect to true north at a particular instant in time, date and location on the surface of the planet during operation.
3.1. The Sun Position Tracking and Sun Ephemeris
Absolute heading estimation algorithms rely on accurate tracking of the Sun’s position by some optical sensor, such as a CCD image sensor or a PSD type sensor, which measures the position of a light spot in one or two dimensions on the sensor’s surface. Using any kind of optical sensor, the goal is to track the Sun position,
i.e., the Sun’s azimuth and elevation angles, as it sweeps across the horizon. The Sun ephemeris is a tabulated dataset based on mathematical models of the motion of the Sun and Earth. Given a date and time, these tables also provide a very precise Sun position in the inertial frame. After some transformations, the Sun position can be predicted in the navigation frame [
23].The PSD type Sun sensors, as used in this work and shown in
Figure 3, measure the incidence angle of a Sun ray in both azimuth and elevation based on a quadrant photodetector device.
The sunlight is guided to the detector through a window above the sensor. Depending on the angle of incidence, the sunlight induces photocurrents in the four quadrants of the detector. The angle
is an angle between the
z-axis and the projection of the Sun ray on the
x-
z plane. Similarly, the angle
is an angle between the
z-axis and the projection of the Sun ray on the
y-
z plane. These two angles are also referred to as Angle-
x and Angle-
y, respectively, in the Sensor’s data sheet [
24].
3.2. Estimation of Absolute Heading Using Sun Sensor and Inclinometer (EASI Algorithm)
The Sun sensor used in this work does not directly give the Sun’s position. However, the Sun’s azimuth and elevation angles can be calculated from the sensor’s output angles (
i.e., angle
α, angle
β) using simple trigonometry. The mathematical details of the
EASI algorithm are given in our previous work [
20]. The
EASI algorithm is described here briefly in Algorithm 1, below. The relation between the Sun’s position and the rover’s absolute heading angle is depicted in
Figure 4.
Algorithm 1. Estimation of Absolute heading angle using Sun sensor and Inclinometer (EASI algorithm) |
Get Sun ray vector from sensor output angles. Transform SS to rover frame. Transform Sb to local-flat frame. Get Sun’s azimuth (αSS) and elevation angles () from vector as: Using local date, time and location (latitude, longitude), get Sun’s azimuth () and elevation () angles from Ephemeris models. Determine rover’s absolute heading by comparing the Sun’s position in steps 4 and 5.
|
3.3. Optimization-Based Absolute Attitude Estimation (q-Method)
Optimization based heading estimation is another method for estimating absolute roll, pitch and heading angles based on multiple Sun observations and gravity vector observations. It uses at least a pair of Sun and gravity vectors and applies optimization techniques to minimize the cost function. However, in practice many observations must be collected from both sensors before applying optimization technique. The result is a transformation matrix between two observation frames, in this case, the Planet-centered Planet-fixed frame (F-frame) and the Sun sensor frame (S-frame). Using this approach, as explained in [
11,
15] we obtain prediction vectors, namely the Sun position and gravity vector, in the F-frame from the Sun ephemeris data, and from the gravity model, respectively, as in Equation (7):
where
SI and
gn are vectors in the inertial frame (I-frame) and n-frame. The corresponding measurements of the Sun position (
) and gravity vector (
) are obtained from the Sun sensor and inclinometer in the sensor frame. Note that the transformation between the inclinometer and Sun sensor frame is assumed to be a unity matrix,
i.e., both sensors are assumed to be perfectly aligned. After we capture the predicted and measured vectors in two different frames, it simply becomes Wahba’s attitude estimation problem based on vector observations [
25]. The aim is to minimize the cost function, which relates two sets of observation vectors
,
i.e.,:
Many methods are available to estimate attitude from a multiple vector observation, e.g., QUEST, FOAM, Davenport’s
q-Method [
12],
etc. By applying any of these methods, we can get the rotations matrix between two observation frames. In addition, this rotation matrix is used to find the absolute tilt angles of the rover with respect to a local level frame, and heading angle from true north.
To start with, we concatenate the predicted and observed vectors and apply Davenport’s
q-Method for rotation estimation. This method is explained with mathematical details in [
15]. The output of this rotation estimation algorithm is a matrix (
) which describes the rotation between two observation frames.
Figure 5 and Algorithm 2 show the block diagram and mathematical flow of
q-Method.
Algorithm 2. Optimization based absolute attitude estimation algorithm (q-Method) |
Concatenate observation vectors: Calculate: B = WVT; Q = B + BT Extract Z from B matrix: Z = [B23 − B32B31 − B13B12 − B21] Form 4 × 4 matrix K: Find Eigen data of K. The Eigenvector corresponding to the largest Eigen value of K is q vector: Desired rotation matrix can be found from quaternion vector: Attitude angles extraction: Hence roll, pitch and heading angles can be derived from matrix () as:
|
4. Multi-Sensor Data Fusion: Design and Comparison of Non-linear Filters
The attitude of the rover is propagated as given in Equations (5) in
Section 2.3. Two nonlinear filters, the Extended Kalman filter and Unscented Kalman filter, were designed and compared in pursuit of better accuracy in this nonlinear environment. In designing EKF and UKF, we assumed low dynamic acceleration of the planetary rovers, which is a valid assumption for slow speed planetary rovers, and utilized the acceleration data from the inclinometer/accelerometer directly in the measurement equation. Hence both the process model and measurement model are nonlinear, involving sinusoidal terms. First, we present the predicted and updated parts of the EKF and UKF filters.
4.1. Extended Kalman Filter and Unscented Kalman Filter Algorithm
4.1.1. Process Model
We choose the state vector as follows:
where
are roll, pitch, yaw angles and
represents the three gyro bias components. The discrete time nonlinear process model to be used for attitude propagation in EKF/UKF is given below:
where,
is
state vector,
is
state noise process vector, with covariance matrix
. The system Jacobean matrices, which are used in the EKF algorithm, are computed as:
Then, the time prediction step in EKF is:
The time prediction step in UKF does not require calculation of the Jacobean matrices, instead it generates sigma points
based on the a priori state estimate and associated covariance matrix [
26]. The UKF algorithm then propagates these sigma points directly through the nonlinear system dynamics, as in Equation (13):
Then, the transformed sigma points are combined to capture the mean and covariance of the state:
4.1.2. Measurement Update in EKF and UKF
In a measurement update, due to the low dynamics of the planetary rover, it is appropriate to embed the acceleration output directly in the measurement equation. The measurement model, using acceleration from the inclinometer and heading angle calculated in the
EASI/
q-Method algorithms, is given below:
where,
is
observation vector and
is
measurement noise process vector, with covariance matrix
Rk. Further it is assumed that:
.
The EKF will require measurement of the Jacobean matrix calculated as below:
The measurement update step of EKF proceeds as usual:
where,
and
.
For the measurement update step of UKF, we can calculate sigma points from the freshly predicted state vector and transform the sigma points through the measurement model directly. The transformed sigma points are combined to produce the predicted measurement vector at time k + 1:
To update the state and associated covariance matrix, the UKF algorithm proceeds as follows. It first calculates the covariance (
) of the predicted measurement vector and adds the noise covariance matrix to account for sensor measurement noise. Then, the cross covariance matrix (
) between the predicted state and predicted measurement vector is calculated as:
After this step, the measurement update in UKF takes a form similar to EKF, Equation (17). The whole process flowchart along with the corresponding equations for both nonlinear filters is given in
Figure 6.
4.2. Position Update
In this work we have calculated the rover position using the traditional
wheel-odometry method,
gyro-odometry and by combining the wheel encoder data and the output of the
EASI algorithm, called
EASI-odometry. However, even if we provide accurate attitude estimates, the position error will grow due to errors in the dead reckoning process when using wheel encoder data to get change in position, as given in Equations (20) and (21),
where
is the forward velocity from wheel encoder and
is the change in position during time
. The transformation matrix (
) can be composed of just the heading angle in the case of wheel-odometry, three propagated attitude angles in the case of gyro-odometry [
27] or stabilized attitude in the case of
EASI-odometry.
For stabilized position estimation (
i.e., non-drifting position), we need some external reference to correct the position errors in
PositionEKF. The
PositionEKF is designed to update the position only, if position measurements are available from any other external absolute sensor/system. For example, in this work, we have used GPS absolute position measurements (with 5m accuracy) after every 30 s, to simulate absolute position reference data in planetary environment. The measurement model for position updates in
PositionEKF can be written as:
Note that position measurements must be transformed to local-tangent frame (n-frame) before incorporating in estimator frame work, hence it becomes a non-linear function with noise vector .
This infrequent position measurement is chosen because on a planetary rover, absolute position measurements are not as frequently available as in terrestrial applications [
3,
28]. Position is propagated using wheel encoder data and attitude estimated from the
EASI algorithm, and the position is updated if any source of absolute position becomes available, e.g., from the onboard map matching algorithm (DEM), rover tracking from the orbiter circling the planet, direct rover tracking from an Earth-based station,
etc. None of these external sources of rover position estimation can provide frequent position measurements to update the localization data in
PositionEKF due to their limitations. However, infrequent position measurements are sufficient if we have precise and well calibrated wheel encoders and there is no wheel slippage or rover skidding during motion. The divergence in localization due to odometry errors may be reduced by incorporating global position information in a position EKF framework, as shown in
Figure 7.
4.3. Hardware Description of Navigation Sensor Module for Micro Planetary Rover
We have developed a low cost, low weight and low power consumption navigation module called the Kitech Advanced Intelligent Rovers Sensor System
(KAIROSS), as shown in
Figure 8 below. This prototype unit uses two navigation sensors, a ISS-D60 (Sun sensor, Solar MEMS Technologies, Sevilla, Spain) and STIM300 (IMU, Sensonor AS, Horten, Norway), based on MEMS technology. The Sun sensor is a PSD type sensor with two orthogonal axes and a wide field of view. The IMU consists of a 3-axis accelerometer, 3-axis gyros and 3-axis inclinometer, with onboard calibration and temperature compensation routines. The main parameters of
KAIROSS and the sensors used in this work are given in
Table 1.
In KAIROSS, we have used the OMAP-L138 processor from Texas Instruments (TI, Dallas, TX, USA) for on-board processing, which has a dual-core SoC, a ARM926EJ-S RISC MPU, and C674x DSP, with 8MB SPI flash memory for kernel image for stand-alone system, 10/100Mbps Ethernet peripheral for data and commands transfer, 3 UARTs for getting data from the sensors, USB2.0 for WiFi, I2C bus interface, and DMA, etc. This system has two separated processes. Getting data from the sensor is handled by the DSP processor so that it ensures exact time stamps; and on the ARM side, it runs the Linux kernel and handles communication with the main control center. KAIROSS can be operated with an external/internal battery pack and weighs only 270 grams.
The test rover used for the experiments is an MXU 500i (KYMCO, Spartanburg, SC, USA), an off-road rover that can be remotely controlled, and which was modified for autonomous mode capabilities as a UGV. The navigation system is installed on top of the test rover.
5. Experimental Set-up and Results Discussion
To verify our proposed algorithms, the experiments are conducted on an Earth-based test rover. The differences in terms of rover navigation between the Earth-based tests and actual rover (e.g., lunar rover) is that the Earth’s rotation angular velocity is about 27 times faster than that of the Moon, which results in a slower interval of Sun observations. The other major difference is the radius of the planet, which affects the positional accuracy as estimated on Earth-based test rovers. The Sun illumination and Sun appearance duration time may also be different than those on Earth [
29]. We considered possible motion scenarios commonly encountered by planetary rovers. These include:
Long time (e.g.,hours) stationary state: Planetary rovers remain stationary most of the time unless they are commanded to move forward or perform some task.
Turn in place (TiP) motion: This is a very common motion scenario on a planet with many unforeseen obstacles. The rover has to avoid them by performing a turn-in-place motion to reach the goal with minimum energy and time.
- (i)
TiP in large steps: Turn-in-place rotation test of the rover in steps of 90°, both clockwise (CW) and then counter-clockwise (CCW) was performed. This test was conducted to check the capabilities of the developed algorithm to track the changing absolute heading angle when the rover takes large turns to avoid obstacles on the planet surface.
- (ii)
TiP in small steps: This is the TiP test in steps of 20°, to check the small angle change tracking of the algorithm.
- (iii)
Continuous TiP: Sometimes the rover has to turn about continuously to change direction. This test verifies the algorithm’s ability to track absolute angle change during continuous turning of the rover from 0–360°, in CW and CCW rotations.
With arbitrary attitude: Most of the time rovers are commanded to move forward a few centimeters and then look around, and take a curved path, with an arbitrary attitude, around any encountered obstacle or target rock, to take an appropriate action.
5.1. Long-Time Static Test
For Test (A), we kept the sensor module stationary for about 2.5 h at a fixed location (longitude: 126.841833° and latitude: 37.293353°) in a particular direction on 27 October 2014 and captured data from KAIROSS. The roll and pitch angles were 4.5° and 6°, respectively during this static test. The purpose of this experiment was to test the long term stability of heading estimation algorithms, both EASI and q-Method, using onboard sensors only. The position (longitude, latitude) of the rover was taken from Google-Earth and time/date was the onboard system time. In actual planetary rovers, however, the absolute position may be acquired from other sources.
The results of the long time stationary condition are shown in
Figure 9 and
Figure 10. In
Figure 9, we compare the azimuth and elevation angles as predicted by the Sun Ephemeris data with that of the Sun sensor measurements, from 11:00 AM to 13:30 PM, a 2.5 h time duration. Both azimuth angles match as expected, but there is a fixed offset of about 3° in the elevation angles. This offset is due to the atmospheric effect as the Sun rays are refracted when entering the Earth’s atmosphere. This effect is called “
Albedo Effect”; however, the Albedo Effect is absent in atmosphere-free planets, which is our intended application.
The final outputs of the two heading estimation algorithms are plotted in
Figure 10. The absolute heading angle determined by the
EASI algorithm is quite smooth with a mean error of 0.26°, standard deviation of 0.21° and a maximum error of less than 1°. However, the absolute heading estimate provided by the
q-Method has an error of about 2°. This proves that the proposed algorithm (
EASI) has better performance than the optimization based
q-Method in this long term static test. In addition, the heading angle of
EASI does not diverge, though it is noisier compared to the gyro-only solution, which inherently diverges as a result of the dead reckoning process. A quantitative comparison of the heading estimation algorithms is given in
Table 2.
5.2. Turn-In-Place (TiP) Tests
The second motion scenario, Turn-In-Place (TiP) is a very important type of motion from a planetary rover’s perspective, as the rover has to take sharp turns to avoid unforeseen obstacles.
To test the
TiP motion scenario (B), a sensor set up composed of
KAIROSS, a Goniometer and a high precision magnetic compass was used, as shown in
Figure 11.
In the first test (B-i), the sensor module was rotated through large steps of 90°, in CW and then CCW. For each step, the rover rested for about 2 min before performing the next rotation and completed a full 0~360° rotation and back. The output of the absolute heading estimation algorithms were compared against the reference value taken from the Goniometer readings, and the absolute heading angle measured by a very precise magnetic compass. The results of this test are shown in
Figure 12,
Figure 13 and
Figure 14 and in
Table 3.
In the second
TiP test (B-ii), the sensor plate was rotated in short steps of 20°, to ensure that the developed algorithms can also reliably track small changes in absolute heading angle, while performing the turn-in-place rotation, as shown in
Figure 15 and
Figure 16. The zoom-in view (
a,
b,
c) and statistical comparison are shown in
Figure 16 and in
Table 4. The
q-Method has a large mean error and standard deviation as compared to the
EASI algorithm. The
q-Method does not track heading angle well in this quasi-dynamic test due to the dynamic motion, because it needs multiple measurements from the same position to perform an optimization operation.
In the third Turn-in-place test (B-iii), the sensor plate was rotated continuously in order to check the continuous tracking of absolute angle by both algorithms, as shown in
Figure 17,
Figure 18 and
Table 5. This scenario of motion may sometimes be required to turn the rover back because of some large encountered obstacle, for example. The statistical comparison at the start (
a), mid (
b) and at the end (
c) of this test shows that
EASI algorithm has better performance against the
q-Method, and a little better performance in UKF as compared to EKF is also observed in this application.
5.3. Long Time Dynamic Test
To test the algorithm’s performance under the dynamic condition of the rover (Test-C), the sensor module was fixed on a hand-driven cart and moved slowly (e.g., 2 cm/s.) in a stop-and-go fashion and with arbitrary roll, pitch and heading. At the start of the dynamic test, the sensor module was kept static for some time to capture the turn-on bias of the IMU. During motion, the Sun obstruction condition was also tested by blocking the Sun radiation for some time.
In this test, the sensor module was placed at a certain initial orientation, and it was arranged that the module would end up in same orientation at the end of this long dynamic test. Hence, the initial and final orientation angles were taken as reference values for error calculations. We drove our sensor module with different speeds and with an arbitrary attitude for about an hour. The motion was in a stop-and-go fashion in order to mimic the planetary rover’s motion. The integrated (or fused) results are expected to show superior performance in terms of accuracy and robustness in comparison to a single navigation sensor.
The EKF and UKF were compared for accuracy and robustness by simulating a scenario in which the Sun radiations were obstructed for some reason, such as the rover being under the shadow of a big rock, or when the Sun sensor is occluded by the rover’s own shadow. In that case the Sun’s radiation was below the critical value of 300 W/m2. In Sun obstruction situations, the absolute heading information from EASI or q-Method is not available to update the EKF/UKF.
Roll and pitch angles propagated by the gyro-only method show clear divergence (
Figure 19), whereas the EKF/UKF has almost the same performance, as is evident from the end-trajectory zoomed-in views (
Figure 20). The numerical comparison of roll/pitch is given in
Table 6, below.
The estimated heading angle provided by different algorithms is given in
Figure 21. There were Sun obstructions periods of different time durations during this long-time dynamic test, in order to check the capability of the estimators, EKF/UKF during Sun obstruction periods.
Three Sun-obstruction periods of different time lengths (5, 10 and 8 min) were considered during the motion, to check the robustness of the heading estimation output of the EKF/UKF algorithms. It was noted that during Sun obstruction periods, neither the
EASI nor the
q-Method work because of the Sun sensor limitations. However, the fused data of IMU and
EASI (
i.e., the EKF/UKF) provided heading angle tracking even during the Sun obstruction periods. The zoom-in view of the start and end heading angle is given in
Figure 22. The Sun radiation data with threshold for this experiment is shown in
Figure 23. The quantitative comparison of heading estimation algorithms is given in
Table 7.
The comparison of EASI and q-Method shows that in the static condition, both absolute heading estimation algorithms work well as expected, but in the dynamic case, the q-Method fails to estimate heading reliably, whereas the EASI has good performance both in the static and in the dynamic situation too. The reason is that EASI is a one-shot algorithm whereas the q-Method requires the collection of a number of measurements before applying some kind of optimization method.
In
Figure 24 and
Figure 25, we have summarized the statistical results of all five tests conducted in this study, providing the mean error and standard deviation of all the algorithms compared in each test.
Both the qualitative and quantitative results confirm that the developed algorithm, EASI outperforms the conventional optimization-based q-Method, especially in the dynamic condition. It was also demonstrated in this work that multisensory fusion has higher accuracy and robustness than the individual sensor/methods, in estimating attitude for the planetary test rover.
5.4. Planetary Rover’s Localization
For completeness, we also developed an integrated position estimation algorithm for the planetary rover, shown in
Figure 26. For comparison, three localization methods were considered: conventional
wheel-odometry as for ground robots,
gyro-odometry and
EASI-odometry. In
wheel-odometry, the forward position change is calculated for every motion from pre-calibrated encoder data, and heading angle is calculated from steering wheel encoder data. However, this kind of motion estimation is only valid over a limited period of time and on flat surfaces. Depending on surface roughness, this method is not reliable for long time operations.
However, the performance of wheel-odometry can be enhanced by including the gyro data in the attitude calculation. Instead of using only heading angle from the steering wheel encoder, in gyro-odometry, 3D attitude angles are used to propagate wheel position data. This type of position estimation has good performance as compared to wheel encoders only, but still depends on the accuracy of the gyros used. During long time operations, gyro-odometry also suffers from drift and position estimates become no longer usable, and cross-track errors especially have increased error in estimating heading angle.
To reduce errors in
gyro-odometry, we must compensate attitude errors by some absolute means, e.g., from the inclinometer and Sun sensor data used in this work. By combining the Sun sensor and IMU, called
EASI-odometry, the errors in localization of the rover are also greatly reduced. The localization estimates were compared with the high-performance NovAtel GPS module with 5 m accuracy. The absolute error in position estimates are shown in
Figure 27 below. The quantitative comparison of the three position estimation methods is given in
Table 8.
The quantitative comparison of position estimates shows that the position errors of the EASI-odometry were less than 3m when compared with a NovAtel GPS module in this 10 min and about 200 m run.
6. Conclusions
In this work, we have presented methods for estimating attitude and position using different algorithms which only employ on-board low cost, low power MEMS sensors. Two absolute heading estimation algorithms were developed and compared for accuracy and reliability. The EASI algorithm outperformed the traditionally used optimization-based q-Method in rover’s in-motion condition. However, in static tests, both algorithms exhibited comparable performance. The drawback of the absolute heading angle determination algorithms is that their output is noisier and the Sun sensor does not produce any measurements below a certain Sun light radiation (<300 W/m2). At the same time, the gyro-only attitude determination has an inherent limitation during long time operations, as the attitude angles start drifting after some time.
To cope with this issue, the output of the absolute attitude estimation algorithm was fused with the relative attitude sensor, i.e., MEMS gyros, to reduce error drift in attitude with the passage of time. The fused attitude solution provides a reliable heading angle in the event of Sun radiation blockage and has better accuracy as compared to absolute heading algorithms alone. Furthermore, the fused attitude is non-drifting and less noisy as compared to the gyro-only or EASI/q-Methods.
For the sensor fusion in this nonlinear problem, we compared two commonly known filters, the Extended Kalman filter and Unscented Kalman filter. The UKF has a little better performance than EKF in this application; however, both filters have error <1°, in heading angle estimation. For completeness, we also compared the localization results of three algorithms, and it was shown that when the localization algorithm was integrated with the EASI algorithm, the errors in the position were also reduced to less than 3 m in a 200 m run, which is about 1.5% of the total distance travelled. As a future research work, the absolute heading estimation algorithm will be integrated with other localization systems, e.g., visual odometry, DEM matching, etc.