As a type of skid-steering mobile robot, the tracked robot suffers from inevitable slippage, which results in an imprecise kinematics model and a degradation of performance during navigation. Compared with the traditional robot, the kinematics model is able to reflect the influences of slippage through the introduction of instantaneous centres of rotation (ICRs). However, ICRs cannot be measured directly and are time-varying with terrain variation, and thus, here, we aim to develop an online estimation method to acquire the ICRs of a robot by means of data fusion technologies. First, an innovation-based extended Kalman filter (IEKF) is employed to fuse the readings from two incremental encoders and a GPS-compass integrated sensor, to provide a real-time ICR estimation. Second, a decision tree-based learning system is used to classify the terrains that the robot traverses, according to the vibration signals gathered by an accelerometer. The results of this terrain classification are improved via a Bayesian filter, by utilizing temporal correlation in the terrain time series. Third, the performances of the ICR estimation and terrain classification are mutually promoted. On one hand, terrain variation is detected with the aid of the terrain classification, and therefore, the process noise variance of IEKF can be automatically adjusted. Hence, the results of ICR estimation are smooth if the terrain does not change and converge rapidly upon terrain variation. On the other hand, the sudden changes in innovation are used to adjust the state transition probability during the recursive calculation of the Bayesian filter, thus increasing the accuracy of the terrain classification. A real-world experiment was undertaken on a tracked robot to validate the effectiveness of the proposed method. It is also demonstrated that the terrain adaptive odometry outperforms the traditional approach with the knowledge of ICRs.