Tracking position of an autonomous robot

SD Card is not likely to help much with memory. You'll be able to store lots of data, but not access it quickly, especially not in real time which you will probably need. Beacons are the easiest way, but since you don't want to do that, you'll probably need to load a significant number of sensors on board that will sense all obstacles (including walls) within a certain range, as well as the distance to them. You will also need some way to calculate distance traveled, and while using encoders on the wheels can work to some extent, there is always some concern about the accuracy of this without some form of feedback (Or being sure your encoders are reliable). The task is not trivial. Good luck!