Read this history first, if you have an hour to kill.
The challenge: make your bot rove around your house. Use no active beacons. Use observations by your bot only. Now, does your bot know where it is?
One possible answer: an eye and a brain.
Each room in the house has a unique lighting situation. A simple eye that looks around in eight directions would "see" a pattern of light and dark segments. Each cell is connected to one ADC on your uC.