This document describes various indoor localization techniques including: using phone sensors like accelerometers and gyroscopes; Wi-Fi positioning; flickering light patterns; and ultrasonic beacons. It then details a new indoor positioning system called PIN that uses image recognition of ceiling markers to localize a vehicle and determine its location and orientation. The full project overview explains how the vehicle scans ceiling images, processes the marks to get its position, and can be accessed and controlled via a web server on a Raspberry Pi.