Free-piston engine generator is a novel electrical power generating system developed for electric vehicles, and it is labeled as a more efficient power system than conventional engines. This paper proposes a reciprocating motion control strategy of free piston to enable the stable running of the system. The control problem was decomposed to the stroke control, the top turning center (TTC) control, and the bottom turning center (BTC) control for reducing unnecessary energy consumption during the control. An iterative learning controller (ILC) was designed for the TTC control, the BTC control was based on the combustion states estimation, and the stroke control was based on finite-state machine (FSM). The turning centers of the previous stroke and the maximum cylinder pressure of the current stroke were taken for feedback. A combined simulation model including the combustion cycle fluctuation was presented and validated by the prototype, and the performance of the control strategy was analyzed. The results showed that the system obtained the stable running and the reciprocating motion of the free piston was well controlled.