I'm hoping you experienced Robot builders can help me with some brainstorming for a new project. I need to turn a "robot" to face a human. The human could be carrying an iPhone with GPS, ultrasonic sensor, laser reflector, anything small. Within 15-30 degrees would be close enough. I also need to calculate distance, that's the easy part. So they will already be carrying an ultrasonic device to repeat back the ping. GPS is not good enough because they may be less than 30 feet apart. At larger distances this may be the best solution. I have tried a laser on a stepper, this works so long as there is a Retroreflector mounted on the human. The device below has a stronger signal when pointed within 15 degrees. Is that the simplest solution? The range is not enough with a passive reflector. What range would I get with another ultrasonic device to ping back?
How about 2 IR sensors with a wall between them? A stepper to turn it until both are equal? What are the pros and cons for this method? Range?
If there were an accurate (100us) clock synched on both ends a laser could scan back and forth. All that is needed is the time of the received beam to calculate the relative angle. More ideas?
Why not detect the strongest signal. Ultrasound from the human, ultrasound receiver on the robot. Turn the robot until the strongest signal received. It should then be (approx) facing the human. ADC the signal level from the receiver and compare the last reading with the current one to determine which direction to turn (obviously towards the stronger signal). When the readings either side of the current one are lower than the current one, your robot is facing the source of the ultrasound on the human. No angles involved.
You could put a short tube on the front of an IrDA sensor (or put it in a box with a hole on the front, you won't get reflections from the tube sides) to limit reception to a cone and put an IR led emitting a repeating message on the human. It would go a long way to eliminating false positives and even let you distinguish one human from another.
Ultrasonic is good to 4.5m and, I have found, lousy reflecting from soft surfaces like hair or some clothes.
IR led light spreads in a cone, the intensity drops off with the square of distance but calibration could be a bitch.
With two or more spread out leds on the human, the robot could determine how far it has to turn from one (end) to the other. Or you could put more sensors on a bar, like a Wii.