CS5099-Dissertation -- CS-5099 MSC DISSERTATION -- MOBILE ROBOT NAVIGATION -- UNIVERSITY OF ST ANDREWS