robot with knowledge of location

Have you looked at using Dead Reckoning yet?

Done using encoders.