# making a robot that knows your location

I've just made a radio frequency remote control using PIC microcontroller and I want to do something useful with it. I am thinking of a robot that gets things for you while you are at bed but here comes the question: How am I going to have the PIC determine the location of the remote control calling for it? It can't really be done using a GPS module because it will all be in the house.

What options do I have?

• Welcome to the world of indoor navigation :D Sep 17 '15 at 8:28

For closed spaces (like a robot in a factory moving pieces from A to B) it is usually the best solution to put some beacons on walls, carpet, edge, doors, etc.. and doing a localisation based on fixed markers or beacons. Here get you an idea: https://parasol.tamu.edu/wafr06/papers/p45.pdf but I strongly suggest you to read the following book . Forget Voronoi, potential fields and EKF or Markov probabilistic methods. The way you want to go is triangulation between fixed markers. Usually you need at least 3 of them, preferably 4. It is not really difficult as you can image. It is enough to mount a light emitter on your robot, put some reflecting strips on the wall and write a program to read the intensity of the light reflected from the marker and the angle. Some of them are in Infrared light spectrum, so you don't see anything. If I find the book, where I read about this, I ll tell you.

Or you can use a solenoid under the carpet..a line follower just to get the idea. The idea with the reflective strips is the most commons in industry where a robot must move in a given space but on medium-long distance.

A GPS does in reality the same...with 4 satellites

Regards

• I disagree with dismissing probabilistic methods. There will always be noise in the measurements and pure triangulation doesn't account for it.
– Paul
Jan 20 '15 at 2:47
• A note about the # of markers: a 1-story house would need 3 as a minimum. A 2-story house needs 4 as a minimum. The minimum is defined as the # of dimensions in your state space, plus 1. Aug 18 '15 at 18:30

It sounds like you want to find an RF transmitter using the robot that receives the signal, which is difficult to do with the degree of accuracy that you would probably need. The strength of a signal (whether optical, auditory, or RF) in a real-world environment varies due to interference.

Not only that, you'd have to assume that the robot could move directly toward the signal at all times.

The most robotics-oriented way to do this would be to have the transmitter report its position, then have the robot navigate to that position. This requires both the transmitter and the robot to be able to measure their position. Features such as the ability to move through rooms of a house or avoid obstacles would require additional time and energy to implement.

When you're in a closed area with different obstacles and your accuracy is about a meter things will change comparing outdoor navigation. I suggest someways.

• Using IR or Laserpoint in the case of Line Of Sight to the robot.

• Using Ultrasound to call Robot, it don't need a LOS but it is invaluable,too.

• Using a headquarter to determine your location and Navigate robot to your position. for instance use a receiver in each room. Then you will tell your robot, which room you are and then can navigate your robot to your location.

Professional ways include measuring your signal strength in different directions and then determine the most powerful signal strength and folow that way. It is possible by directional antennas which are currently used in BTS (mobile base stations) to estimate locations.

If you know the first location, you can use a laser mouse.

{URL redacted}