# Advanced Artificial Intelligence (Winter 2008)

(Difference between revisions)

This is the page for Advanced AI for Winter 2008

Dr. Regli's Office Hours are 14:00-15:00 M-W, right before class.

## Programming Assignment

The programming assignment is going to be given out in 2-phases. The first phase is empirical and experimental. The objective of which is to encourage students to experiment with a number of the techniques taught in the class and employ them in creative ways against a real-world dataset. This is not a toy problem, but an open-ended assignment indented to require creativity on the part of the student. Students are expected to look at the data and scenario and then, using the techniques taught in the class thus far (or look ahead, if you so desire), identify ways in which these techniques might be applied to deduce about properties of the world.

The domain of the problem is wireless networking and localization of a mobile robot using RF information. This is a current area of commercial, military and academic interest: how can a person or a robot figure out its location without resorting to GPS? or if we have GPS, how can I figure out where I am if I'm inside or in a GPS-denied environment?

Here are the data sets:

The data sets consist of RSSI information acquired from 4 fixed routers as a robot moves in an open (LoS) environment. The robot has two network cards, hence there are two different sensors for reading the RSSI information. The spreadsheets break this information out by timestamp and include an estimate of the robot's location based on its odometer readings. In several cases there is an analytic computation of the robot's actual location that compensates for drift in the odometer readings (this was computed by looking at the robot's location on the floor). In some experiments the robot moves in a straight line, in others is does not. In some experiments the robot moves with constant velocity, in others it stops and pauses in spots. These motion patterns are evident in the data.

### PHASE I: ASSIGNMENT FOR FRIDAY FEB 22

Examine the data and develop ideas about what kinds of questions might be answered about it using the techniques covered in the class. Examples of such inquiries include:

-- Use a Kalman filter to improve the robot's estimation of RSSI by fusing the inputs from both NICS

-- Determine if the distribution of RSSI data is Gaussian (or how close to Gaussian is it)?

-- Develop a HMM or Dynamic Bayes net that could tell if the robot is moving given RSSI readings.

-- Fuse the RSSI readings with information about distance, odometery and electro-magnetic path loss to get an estimate of the error rate/sensitivity of the NIC's RSSI sensors.

-- Perform trilateration to estimate the position of the robot.

-- Fuse the trilateration data with a kalman filter to improve estimates of location over time.

-- Apply a particle filter to the RSSI data.

-- Figure out (map?) the locations of the access points as you move around. i.e. build up a belief about where they are, how far away they are, etc. Much like mapping an environment.

... and others. The above are just meant as ideas. You are welcome to come up with others or suggest alternatives to the above.

You are to implement, download or otherwise find code for the above techniques and any others that you may find useful. Experiment with this code on the data and assess what kinds of questions might you be able to answer and what would be the steps in reasoning to obtain these answers. How accurate might you be able to get for certain questions?

Write up your experiences (1-to-3 pages) and recommendations (typeset reports only, no hand written reports); document any and all software you use, experiments you perform or results you find.

This is a somewhat open-ended assignment that will emphasize creativity on the part of the student.

### Useful Resources

Some code here may be useful to you... http://robots.stanford.edu/cs226-06/data.html