Can anyone suggest me a technique ?
You could use an infrared strobe to trigger an ultrasonic ping on the robot.
The strobe would also start a timer on each of 2 ultrasonic receivers - when they receive the ping, the time of arrival will indicate exactly how far the robot is from that receiver. 2 known distances will uniquely locate the robot on a flat surface.
You could use an infrared strobe to trigger an ultrasonic ping on the robot.
The strobe would also start a timer on each of 2 ultrasonic receivers - when they receive the ping, the time of arrival will indicate exactly how far the robot is from that receiver. 2 known distances will uniquely locate the robot on a flat surface.
Your robot could have one ball in the center in contact with the ground and then X and Y counter wheels that pulse count its movement. Heck you could probably hack a computer mouse to do it. Then once you set it's home position, you can locate the robot using an X and Y position from the 0,0 home position. Realize that if the robot gets lifted or sufficiently bumped that all bets are off. You could consider a combination of methods, to keep your accuracy.
A top down view will probably be the most accurate method though.
Good luck!