Robotics has been an area of interest to me for many years. In particular, artificial intelligence, localization and algorithm/code/methodology optimization. I created a Mapping Project for the Pioneer robots we have on campus. It employs an occupancy grid to represent the mapped area and a Bayesian method to update the occupancy probability for the individual cells. One of the more unique aspects of the program is the use of a 2-dimensional dynamic memory module to represent the mapping matrix.
Here is some of the Code for the project.
This project comprises the development of a mapping software agent to enable the Pioneer Mobile Robot to chart a limited area. As the robot performs a primary task such as navigating to a pre-defined location, the mapping program will run in the background and will perform its task as transparently as practical. The mapping program will create a grid map representation of the area being surveyed. The primary source of obstacle location information will be the robot’s sensor array. The proposed software will be designed to handle real-world sensor data. For example, walls may appear to move because of robot wobble or because a wall is actually a person. Obstacle information will be directly addressable by other processes.