You can theoretically use just an accelerometer for determining motion, but it may not be accurate enough to achieve your goals.
The big problem with accelerometers is drift over time (i.e., errors in the acceleration measurement get integrated twice), so your position accuracy significantly decreases over time. The severity of this problem depends on the quality of the accelerometer and the measurement time.
If you don't need position information and just want some indication that the robot has moved in a particular direction, an accelerometer would do the job.
Otherwise you would want to use some other sensor in conjunction with the accelerometer, in which case you may need some SLAM techniques. You could also switch to another type of system (like external motion capture mentioned in the other answer).