I’ve been looking at the polar opposite of this. Rather than asking “Where am I?” the robot asks "Where is my human?”
This question doesn’t need cm-level answers and I don’t want to spend even $50. My thoughts are that a robot, to be useful, needs to be as smart as a dog. I don’t need an AI chatbot because my wristwatch has that built in. But a robot that is literally “dumber than a dog” can’t do much. After all, we’d like to say “Hey Robbie, come here” and not “Hey Robbie(navigate(robot,kitchen7));”
So to that end, I found that in their normal operation, all WiFi devices report the WiFi signal strength, and as people move about, they affect the WiFi signals. If you are smart enough, you can monitor this and track humans by how they affect the WiFi. I’m not that smart and never would have thought of this, but I found a project where someone got it to work using < $10 microcontrollers. There are some commercial products too. Philips calls theirs “motion sense,” and they use a n exiting Zigbee mesh network to track, It helps that humans are to a first order of approximation, bags of water that walk. It can turn on lights where you are, and turn them off where you aren’t. Philips did this literally for free with a firmware upgrade to an existing product.