1. A method of sensing coded data on a surface, the method comprising the steps of: capturing images of the coded data on the surface using a sensor of a sensing device, the coded data comprising a plurality of tags, each tag encoding a unique identity of a region of the surface and the position of the tag within the region; estimating a perspective distortion of the coded data; compensating for the perspective distortion when detecting data elements in the tags; determining the unique identity of the region from the images; determining the position of the sensing device within the region from the position of at least one tag in at least one image captured by the sensor.