The resolution of the grid is fairly coarse and hence the position parameter is kept to avoid gross error accumulation when objects are transformed in the map. Only one object is kept per grid cell. Thus measurement uncertainty is part of the grid cell representation and any object detected within an area covered by a particular cell is taken to belong to the same object. New objects detected by the sensors are added to the map after the positions of all previous objects in the map are updated. The map parameter History is used for filtering the data. History is an indication of the confidence that a particular cell is occupied by an object. Objects in the map in a sensor's field of view are deleted if the sensor does not detect them during a certain time period. This eventually eliminates spurious readings or objects that have moved away.
A navigation function using the grid map, is the tracking of features in the environment, such as a wall or parked cars. This type of feature appears in the map as a string of objects. Using additional knowledge about the approximate position of the feature, it can be determined which set of objects in the map belong to the feature. A line is then fitted to these objects, using the method of least squares and applying a median based filter technique to remove outliers. Once the position and orientation of the feature is known in the map, steering commands are generated, using the pure pursuit algorithm, to drive the vehicle on a path parallel to and at a constant distance from the feature.
To avoid obstacles, each occupied cell is examined. The Radius Vectors of all occupied cells are and'ed together to generate the list of safe steering directions. Vehicle speed is changed depending on the distance to the closest object.
Tracking a row of parallel parked cars, Ganesha can detect a parking gap. For parking, the vehicle lines up with the car in front of the gap and then backs into the gap along a precomputed S-curve. At present the curb cannot be sensed and therefore the width of the parking gap is assumed to be the average width of a car.