Piston motion control of a free-piston engine generator: A new approach using cascade control. (1st October 2016)