Computational Principles of Mobile Robotics