Sunday, May 18, 2008

Grid Mapping


In this task we build an occupancy map using the Tribot model of Mindstorms. The grid map infrastructure is constructed using a two dimensional array. Each cell indicates whether the corresponding to one block of 1cm2 in the real work occupied or empty. The map will be updated based on the robot’s path and detected objects; hence, no prior knowledge about the environment is assumed. Besides, it is manipulated using Bresenham’s line algorithm.

The algorithm will read the data positions of the robot and objects estimated using odometry approach and will update the map accordingly. It updates all cells located between two robot’s positions and it indicates that it is empty. If an object is detected the algorithm will update all cells, located in a straight line, between the robot position and the object position such that they marked as empty cells. The object position will marked as occupied cell.

The cells values are given a certainty (probabilistic) value is to indicate whether the robot or the object is likely to exist there or not. The initial cells value well 0.5 which indicate that area hasn’t been explored yet. The updating algorithm will gradually change the value between zero to one. Thus, if an object is detected in a specific location, the cell corresponding to that position will be increased from 0.5 to 0.7, for example, which indicates that the object is likely to be there.

The map will be drawn while the robot navigating the environment. Hence, the users could see the map in a real time.


The following is a map constructed collaboratively between two robots:

+Map of Robot 1


+Map of Robot 2



+Shared Map of robot1 and robot2



Collaborative Mapping is the aggregation of two robots’ occupancy maps. Each robot will explore a region and will keep a record of its position and the environment objects.
At the beginning, each robot will rotate 360 degree while scanning the surrounding after each 30 degree in order to check if any object is located nearly (about 30cm). Once the rotation is completed, the robot will randomly choose one of four directions and it must be free: 0, 90, 180, or 270 to pursue to a new grid point.

The records of the two robots will be merged to create the global map of the environment. Likewise, the map will be shown on the real time.

1 comment:

Juan Antonio BreƱa Moral said...

Are you published the system to test?

Cheers