A relatively inexpensive Sun sensor for determining the absolute heading of planetary rovers to within ± 3° using a monochrome charge-coupled device (CCD) camera is presented. The Sun sensor was developed for the Field Integrated, Design and Operations (FIDO) rover. This rover is an advance technology rover that is a terrestrial prototype of the rovers that NASA/JPL plans to send to Mars in 2003. The goal of the FIDO team was to develop a Sun sensor that fills the current cost/performance gap, uses the power of sub-pixel interpolation, makes use of current hardware on the rover, and demands very little computational overhead. In addition, a great deal of emphasis was placed on robustness to calibration errors and the flexibility to make a transition to a flight rover with very little modification.
The resulting Sun sensor, which is shown in Figure 1, consists of a CCD monochrome camera, two neutral-density filters, a wide-angle lens, and housing. The neutral-density filters reduce incident light to capture only the Sun’s disk. The Sun sensor camera is modeled as a fish-eye camera/lens system with 21 parameters; the parameters are computed in the calibration procedure that can be performed easily and even “on the fly.” The Sun sensor captures images of the Sun using an onboard frame grabber mounted on the rover-computing stack. The centroid of the Sun in the image is the main feature needed for determination of the rover heading. Centroid extraction follows a three-step process: thresholding, artifact removal, and center of mass/circularity determination. From the Sun centroid a 3-D unit ray vector is computed from the sensor frame to the Sun using the camera model. The 3-D vector is then transformed into a gravity-down rover reference frame by use of the roll- and pitch-angle outputs of an inertial sensor that is part of the onboard rover navigation system. The azimuth and elevation of the Sun with respect to the rover reference frame are then determined. By use of solar ephemeris data and the equation of time from the Astronomical Almanac, the azimuth and elevation of the Sun are determined for the applicable longitude, latitude, and universal time (UT). The UT is obtained from the rover computer clock and corrected to the nearest second. Finally, the heading with respect to true north is computed by use of the known relationship between (1) the azimuth and elevation of the Sun as computed from the ephemeris data and (2) the azimuth and elevation of the Sun as determined from the Sun-sensor data.
In a test of the Sun sensor mounted on the FIDO rover, the rover was placed on a flat surface and turned in place at angular increments of about 20°. Figure 2 depicts the headings as measured by the Sun sensor and by a magnetic compass, as well as the differences between them. The Sun sensor confidence for each reading is also indicated on the plot. The accuracy of the magnetic compass used is ± 2°. The differences between the readings can be attributed to several factors, including mechanical alignment errors of the Sun sensor, rover attitude errors, and atmospheric conditions (cloud cover).
Results of a recent FIDO field trial at Black Rock Summit in Central Nevada, in May of 2000 and several Operations Readiness Tests (ORTs) at the JPL Mars Yard using the Sun sensor have demonstrated three- to four-fold improvement in the heading estimation of the rover compared to incremental odometry. These test results helped shape the mission specifications outlined by NASA for the 2003 mission to Mars.
This work was done by Ashitey Trebi-Ollennu, Terry Huntsberger, Brett Kennedy, and Eric Baumgartner of Caltech for NASA’s Jet Propulsion Laboratory. For a full report on the Sun sensor visit http://fido.jpl.nasa.gov/publications. NPO-21182