The error sources, including technological system, numerical control system and motion control model, generate a machining error in the radial direction of the crankpin which varies with the rotating angle of the crankshaft journal in crankpin non-circular grinding. This machining error can be reduced in advance through giving the additional impulses as the displacement correction of grinding carriage to numerical control system. However due to the strong nonlinearity of non-circular grinding system, the machining error of crankpin is difficult to be described precisely by a certain mathematic model. In this paper, a compensation method is proposed, which utilizes the measured error after the last grinding circle and the change of error to find the initial compensation value in the next grinding circle by fuzzy reasoning. To increase the self-learning ability of this method, the final compensation value in the next circle is composed of the initial value and the final value in the last circle. The grinding experiments results show that the roundness error can be reduced into the expectation in only a few grinding circles by this method, which demonstrates its high efficiency and applicability.