In this paper, we propose an algorithm for tuning both the kinematic and measurement noise Variance–Covariance (VCV) matrices to produce a more robust and adaptive Kalman filter. The proposed algorithm simultaneously considers both observation outliers and abrupt changes. This algorithm may be divided into two basic parts: 1. Robust estimation, from which the position components of the filtering estimates and the equivalent weight factor matrix can be obtained; and 2. Adaptive estimation, from which the adaptive kinematic noise VCV tuning matrix is calculated. To demonstrate the efficiency of our algorithm, we process a set of kinematic Global Positioning System (GPS) data received from a rover mounted on an aeroplane. The processing results are found to be very satisfactory, with observation outliers and abrupt changes detected and dealt with accordingly. The detailed calculation procedure for the adaptive VCV tuning matrix is also described.