CS771 Artificial Intelligence Project Proposal Adam Smyth Project: Development of situation awareness and modeling module for Nomad robot. Building upon: Spherical Map Array datatype developed by Hand, Hutchins, and Evelyn. Key points: Fixing problems with existing implementation. Creating additional informational functions for accessing data in the map. Implementing a wall-detecting linear regression system. Key issues: Identification of problems in existing implementation. Finding/developing a usable linear regression algorithm. Dealing with intersecting walls. Moving object detection/filtering. Current Status: Implementation problems will be addressed first. This should, I think, be the easiest part. I may be able to adapt an existing linear regression algorithm to this task. I need to take a closer look at it, and also see about the next problem. The issue of intersecting walls is that, if I simply regress all points that are adjacent to each other, I could end up turning two walls into one. Probably the easiest method of checking for this would be to do a regression on the 'blob', and if the calculated error is above a certain limit, to consider it to be multiple objects, and search for new groupings based on the previous regression's result. Another option is to look for grouping patterns beyond simple adjacency. This later will probably be preferable, in the long run, tho it will take more work to develop. We won't want to perform regressions on moving objects, so there will probably need to be a threshold for number of 'sightings' of an object before regression will be attempted on it. The system will also need to filter out the data caused by these objects. For this reason, perhaps when a new reading is taken in a given direction, points BETWEEN this new point and the robot should be DECREMENTED. I'll have to build some test data and try this. The problem is that doing this will add some processing time to the map update. Misc notes: I'm thinking of maintaining a separate list of derived object-representing equations. When an object's position is regressed, the resultant data (equation of line, endpoints, error, whatnot) is stored in a list to be referenced later. Perhaps as the robot scrolls along, and the leading edge of the map is cleared, data should be written to the map from this list? So that the robot already has an idea that there is a wall ahead, even if it hasn't come into sensor contact with it yet.