Yea, for sure you must define a coordinate system. Well egeorgiev, i got many reasons why not to use GPS, as reliability to use the robot indoor and if the size of his system is too small (as standard GPS has a limited accuracy). You should try using a 6-DOF IMU and calculate your actual position but you are going to have some drift. You could use some external and local ultra-sound positioning system but they are expensive. As for useing NeuralNetwork, your main problem is to define your input and outputs of the Network. I would try to make a deterministic program to deal with sensors and generate processed data as you actual position and if there is any object at your front. You could input that data on the NN to have an output as something like a rotation you should make to avoid the object and go to desired location.