# How to implement the Wavefront algorithm?

I am thinking of creating a robot that can navigate using a map. It is controlled from a PC. An 8-bit controller performs low level tasks and the PC is doing the image processing. I plan to implement it in a single room where the robot is placed and the robot and environment are tracked by a camera from a height or from the ceiling of the room. First, the robot needs to be mapped, like this http://www.societyofrobots.com/programming_wavefront.shtml

To do:

• Track the robot from some height using a camera Following the Wavefront algorithm to locate the robot and obstacles.

Procedure:(just my idea)

The camera will give an image of the robot surrounded by obstacles in random places. using some OpenCV technique draws some grind over the image.

• Locating the grid which contains robot (by having some colored symbol over the robot) and locating the grids containing the obstacle.

• Now, the grids with an obstacle are thought of as wall and the remaining is the free space for the robot to navigate.

• The robot is going to get the goal place which should be reached is given from the pc(maybe like point the place to reach in the image by mouse click).

Unknowns :

• Mapping the room and locating the robot

How to do that? The robot should know where it is in the map or the image. We cannot believe only the camera is enough to locate the robot. So I thought of adding triangulation mapping like placing two IRs in the room and a receiver in the robot.

The doubt I have in this is how an IR receiver can know from which direction it is receiving the IR signal (from left or right ). I think it knows only that it receives IR, not the direction. Then how is the triangulation going to happen if I don't know the angle and direction?

• coming to the image processing, how can I implement the Wavefront algorithm (that captures the live video and draw grids over it to find the robot and the obstacles)?

I have HC-05 Bluetooth module, Arduino, Bluetooth dongle, chassis with dc motors and driver, and a dc supply.

• I'm unclear as to what you are asking. The title implies you are looking for information on implementing the wavefront algorithm but the body of the text seems more focused on localization, i.e. determining where one is at on a map. Would you please clarify? – DaemonMaker Jul 16 '13 at 16:14
• Welcome to Robotoics, VV... your "How to do that" is quite a big "How to do..." Please focus the question abit... – Andrew Jul 22 '13 at 10:59
• ya it is big.if i edit it to small, people will asks for extra information – Vignesh Vicky Jul 22 '13 at 11:55