Remotely finding the angle of an object

I'm working on this positioning system where I need to find the direction of a beacon relative to the robot's position. The method needs to be contact-free, there may be objects in the way, and accuracy is somewhat important (so preferably a view of less than 5 degrees). The scale of the area could be as much as 10 meters.

The easiest method that I could come up involves the beacon controlling an electromagnet that overpowers Earth's magnetic field, and then the robot would have a magnetometer that should, in theory, point directly to the beacon. But, I don't know how powerful of an electromagnet I need and I don't want it to potentially cause damage to other things.

I was also thinking of using something like a 433MHz radio transmitter at the beacon and then a receiver mounted on a servo motor on the robot. The receiving end would be wrapped around a Faraday Cage with a slit down the middle to only allow signals from that specific direction to enter. But, I'm not sure how wide the slit should be, or if it'll even work at all.

Any ideas?

But, I’m not sure how wide the slit should be, or if it’ll even work at all.

It won’t work at all. A 433MHz radio has a wavelength of about 70cm so direction antenna are quite big at such low frequencies.

Put a GPS unit in the robot. Have it transmit its position back to the base.

@Grumpy_Mike
I figured it was going to be large, but I wasn't thinking that large. I'm guessing 2.4GHz won't be suitable either? I know there are calculations for solving for wavelength but I get the impression if the radio is AM or FM makes a difference, not that I have the ability to actually change the radio to work the way I want...

@aarg
I probably should've mentioned this will be for indoor use only, so GPS isn't an option.

the beacon controlling an electromagnet that overpowers Earth's magnetic field, and then the robot would have a magnetometer that should, in theory, point directly to the beacon.

That might work up to a meter or two, but magnetic fields drop off as the cube of the distance.

The beacon could have a digital compass and report its own orientation, relative to magnetic North.

Yeah, I figured the magnetic field idea wouldn’t really work beyond a couple meters myself. Like I said, I’m sure I could use something more powerful but not without it being destructive.

The beacon knowing it’s own orientation to magnetic north isn’t really useful information for me. What I need to know is the direction of the beacon from the robot’s perspective. So for example if the robot is facing north and the beacon is behind the robot, I need something that let’s the robot know the beacon is south.

Something simple like a laser pointer reacting to a photoresistor would be nice, but the problem with that is that requires line-of-sight, which I can’t depend on.

You haven’t made it very clear what it is you are trying to do.

If the beacon position is fixed, then the problem is completely determined by knowing the position and orientation of the robot.

Assuming you know the direction, you could be anywhere on a line drawn from the beacon. How will you know the distance? :slight_smile:

@jremington
The beacon position is fixed but the robot's isn't. I don't know the robot's position or orientation (relative to the beacon) - that's ultimately what I'm trying to solve for. The robot already has a magnetometer, if that helps. Even if it didn't, if I had some sort of "linear" sensor on a servo motor that scans for the beacon, that in itself could determine the orientation.
By knowing what direction the beacon is in relative to the robot, I can also measure the distance and therefore get a rough idea of the robot's position.

@aarg
Distance I intend to solve using something like RSSI via Bluetooth. I don't need that to be accurate, but I do need the angle to the beacon to be pretty accurate.

Basically what I'm trying to do is get the robot to drive toward the beacon, whether there are objects in the way or not. Object avoidance is a different issue, and not really a concern of mine.

Maybe you can use two different systems, one for longer range and one for shorter range.

An idea that I had (and there are probably better ones) would be to play a sound from the beacon, and then put a directional microphone on top of the robot with a narrow slit (like you mentioned for the radio).

The slot could then rotate, and then the robot could head off toward the area with the highest DBs.....

What about using the Lego sensor for determining the angle to an IR beacon?

My roomba uses an led which is frequently obstructed, it just wanders around until it aquires it.

No good for missile guidance but good enough for carpet cleaning.

What are you trying to achieve ?

schmidtbag:
@aarg
Distance I intend to solve using something like RSSI via Bluetooth. I don't need that to be accurate, but I do need the angle to the beacon to be pretty accurate.

You could kill two birds with one stone. It's not that hard to build a directional antenna at 2.4Ghz. You could rotate the antenna (or the whole robot) and measure RSSI. That would give you both bearing and (very, very approximate) distance.

Try out this newly advertised "indoor GPS" and tell us how well it works.

jremington:
Try out this newly advertised "indoor GPS" and tell us how well it works.

I was going to mention ultrasonics, but of course it won't go through walls. Also, reflections are a problem.

Also, reflections are a problem.

The manufacturers disagree, sort of. See this lengthy discussion: http://forum.pololu.com/viewtopic.php?f=2&t=10190

schmidtbag:
I'm working on this positioning system where I need to find the direction of a beacon relative to the robot's position. The method needs to be contact-free, there may be objects in the way, and accuracy is somewhat important (so preferably a view of less than 5 degrees). The scale of the area could be as much as 10 meters.

The easiest method that I could come up involves the beacon controlling an electromagnet that overpowers Earth's magnetic field, and then the robot would have a magnetometer that should, in theory, point directly to the beacon. But, I don't know how powerful of an electromagnet I need and I don't want it to potentially cause damage to other things.

I was also thinking of using something like a 433MHz radio transmitter at the beacon and then a receiver mounted on a servo motor on the robot. The receiving end would be wrapped around a Faraday Cage with a slit down the middle to only allow signals from that specific direction to enter. But, I'm not sure how wide the slit should be, or if it'll even work at all.

Any ideas?

Electromagnet seems to be a bit too innovative solution :slight_smile:
Never tried in practice, but from the theory point of view, the magnet shall be rather big in size. It is not about the strength of the field, but the physical size, i.e. the magnet shall be somewhat comparable in size with the distance. Maybe, not 5m, but not 5cm either. Otherwise, the magnetic lines of the magnet will shortcut to the magnet very quickly and the field far outside of the magnet will be extremely weak.
Also, I think you can even try to emulate it. It is relatively simple task. By knowing how quickly the field's strength drops, you can calculate the maximum distance detectable by the magnetometer.

Antenna with Faraday cage works reasonably well. It is a very narrow frequency resonator coil with quite narrow angle for detecting the minimum signal to the aimed direction. Maybe, 5 degrees is reachable. Again, it senses the minimum - not maximum of the signal with high angular precision. Maximum is vague - bug tens of degrees.

jremington:
The manufacturers disagree, sort of. See this lengthy discussion: http://forum.pololu.com/viewtopic.php?f=2&t=10190

Well :-)))
Yes, reflections are not a problem, if you design the system properly. If you don't, it is a hell, a mess, and all other bad words.

Grumpy_Mike:
It won't work at all. A 433MHz radio has a wavelength of about 70cm so direction antenna are quite big at such low frequencies.

It can be rather small, actually. It is an open resonator. Magnetic antenna:
http://www.chipinfo.ru/literature/radio/199907/img/p62.gif
It could be any type of coil antennas. The minimum is very narrow. With proper calibration you can detect single digit degrees.

schmidtbag:
Yeah, I figured the magnetic field idea wouldn't really work beyond a couple meters myself. Like I said, I'm sure I could use something more powerful but not without it being destructive.

The beacon knowing it's own orientation to magnetic north isn't really useful information for me. What I need to know is the direction of the beacon from the robot's perspective. So for example if the robot is facing north and the beacon is behind the robot, I need something that let's the robot know the beacon is south.

Something simple like a laser pointer reacting to a photoresistor would be nice, but the problem with that is that requires line-of-sight, which I can't depend on.

Angles are measured very well with laser and passive reflectors.
But, yes, line of sight is an essential requirement. Besides, there is a high risk erroneous reflections.
Active reflectors solve a problem of erroneous reflections, but bring cost and complexity.