Before a robot may be classed as an autonomous system, it must be able to move unaided in an environment. In a known environment or with pre-recorded trajectories, this reduces to the problem of path following. In order to follow an arbitrarily defined path, the researchers are required to calculate the system inputs to the platform in the form of rotational and translational velocities to keep the robot on this path. In this paper the researchers derive an analytical controller for a non-holonomic mobile platform capable of following an arbitrarily defined smooth path. To derive an analytical controller, the researchers require an analytical definition of the path which is not always available for arbitrary paths. To overcome this problem the researchers divide the path up into circular and straight segments which are handled independently. The controller takes as input the first two derivatives of the arbitrary path at each point and calculates the desired forward and rotational velocities required for the platform to asymptotically track the path. The controller derived in this paper is implemented on the Seekur platform from Mobile Robots. Results showing the following of a pre-recorded path from differential GPS are discussed.