Make your own free website on Tripod.com

Wozbot Software in Action This html code was taken from http://www.freetoolsassociation.com. Learn more about this emulator on that page (Click on the ACTIVEGS button when you get there). The woz.zip file is my own doing. Scroll past the emulator window to read some background material.

This is a demonstration of software I am 
working on to control an autonomous robot.  
The code moves a robot (with sonar sensors) 
around a 2-d environment (all simulated to 
speed development).  

code now "enlarges" obstructions by one cell
in all directions before flood fill. 


This prevents the robot from thinking it 
can clip the corners, and it no longer runs 
into the walls. 



Searching has been made more efficient.  Seeking 
to an unexplored square has been optimized so 
that the robot doesn't go around in circles to 
get there.  I have completely redesigned the way 
the robot represents his map, making it more 
efficient and uses less memory.

I 1/2'd the memory again by initializing search
grids right over the top of maps in memory.  you
have to load the map again once the search is
done, but it cuts down on RAM usage.

On the left you see a blinking X cursor.  that 
is the cursor you can use to place the ORIGIN
of the search.

procedure to watch demo:

have a PC with internet exploder,


so now the robot can explore larger areas more
quickly.  the size of searches is limited by
available RAM so far...I can load 20 maps into
memory and search them.

The size of the map is limited by 8 bit numbers.
you can have a map 256*256 segments in size.  each
segment is 20*20 cells.  Within the navigation code,
each cell is treated as a 6" * 6" square in the real
world.  That is 10' X 10' for each segment.  2560' X
2560' is the maps limit.  That is a bunch of square
footage.

next to add:  even more efficient searches, flags
to tell if a segment had any search expansion in it,

FLAG to tell if a flood-fill cycle produced any
search expansion is now in operation.

save/remove from table/compact memory when a segment
didn't get updated by a search pass.