This paper proposes a method for self-calibrating the star sensor on the Mars rover considering several years of exploration on the surface of Mars. The natural stars in the night sky are considered the control points, and a self-calibration model is deduced in detail according to an imaging model. An adaptive celestial positioning (ACP) algorithm is then introduced, and the calculation procedure is presented in detail to realise self-adjustment based on the self-calibration of the star sensor. Three field tests were conducted on Earth, the results of which show good self-calibration and celestial positioning performances. The positioning results indicate an obvious accuracy improvement using the ACP algorithm compared with that without calibration. Multiple positionings in one night can improve the celestial positioning accuracy to approximately 15 m. For future studies, this self-calibration model will be useful not only for star sensors but also for other optical sensors, such as sun sensors and binocular or stereo-vision cameras.