Avoid pattern recognition. Rely more on edge recognition, faster and more accurate. Also as many have said before, calibration is very important. Always check that when running the cal operation, a proper green mark appears at all square intersections. Light is absolutely crucial for identifying all the green visible crosses. Then do what 95devils said: perform short, medium and long measuing/positioning routines and check that the robot moves accurately. If this falis, no real operation will then be successful.