Schedule

Winter 2004

Monday, Wednesday, Friday - 12:30 - 1:35


Week 1  January 5th, 

Monday 

 

Wednesday

Reading

Friday  

Reading

Assignment

A half page description of a cool robot project that requires AI. The preference is for projects that are doable with the hardware we have: wheeled robots and Lego's.


Week 2  January 12th 

Monday 

Reading

Wednesday 

Reading

Friday 

Reading


Week 3  January 19th 

Monday 

MLK Holiday

Wednesday 

Assignment #1

  1. Using Sharp GP2D12 IR distance sensors have a robot perform obstacle avoidance and foraging behaviors. The goal is to have the robot act like a dog at party; it goes around and sniffs at everyone. 
  2. Implement wall following.
Warning Do not test your code on anything that will not give if you run into it. You might break the robot. I

Friday 

Reading


Week 4  January 26th 

Monday 

Reading

Other links

 

Wednesday

Reading

 

Friday 

Assignment #2

Implement the following two search algorithms for the 8-queen problem starting from a randomized board with one queen in each column. 

Begin with EightQueens.zip written by Zhengyi Le. If you have any questions about the code or GA please email Zhengyi. You should not use code from the web or look at code from the web.


Week 5  February 2nd 

Monday 

Reading

Ants Can Solve Constraint Satisfaction Problems

Wednesday 

Reading

Friday 

Assignment #3

Implement multiple behaviors for your robot so that you can Find an infrared (IR) beacon in a playing field that contains 

  1. tall boxes that can block line-of-sight view of the beacon, and 
  2. short walls that can be seen over, but must be avoided.

Find is defined as bumping into the beacon. Your robot must clearly indicate that it believes to have found the beacon. 

Technology

When experimenting with IR diodes (emitters) and IR phototransistors (receivers), a continuously lit IR diode can only be detected to a range of a 0.5 meter with the Handy Board's 8-bit analog input channels. When distance is greater than 0.5 meter the signal from the IR diode is lost in the noise. Amplification of the detector output does not help, because amplification also amplifies the noise . 

IR remote controls for TV's over come this problem by creating an infared signal that can be distinguished  and separated (filtered) from the background noise and then amplified. The unique IR signal is created by rapidly turning the IR diode on an off at a known frequency. The receiver then uses a notch filter to isolate the signal and then amplifies the signal. Typically when around 16 consecutive cycles are detected to the detector output goes low.

The Handy Board has a  Sharp IS1U60 receiver with a center frequency of 38.0 kHz. The Handy Board has no actual IR transmitter; however, you can easily connect one by using the J7 connector to drive the transmitter. Pin 3 of J7 is connected to a 38 kHz oscillator constructed from a NAND gate, resistor  and capacitor (see Section 9.5 of Handy Board manual). The oscillator is enabled when the input to the NAND gate is high. This input is connected to Port A, Bit 2 of the 68HC11. 

IR_control.c has code to display the output on the LCD.

The single receptor on the Handy Board can be augmented with externally mounted sensors. Digi-Key sell many different IR receivers and transmitters. The PNA4611M receiver has a wide 80 degree half power angle while the LN175 transmitter has 120 degree half power angle. These seem two of the best suited detector/emitter pairs for our purposes.


Week 6  February 9th 

Monday 

Reading

Wednesday 

Reading

 

Friday 

Winter Carnival - classes canceled

Assignment #4 - due Sunday, February 15th.

Tile.java implements the sliding tile puzzle. The size of the puzzle is 3x3 but can be changed by changing a constant in the source code. The board is randomized by starting with a sorted board, and then randomly doing N moves, where N is set by the bottom slider. You can select between two search methods for finding the solution : breadth first and depth first. You will notice that depth first search takes a very long time, even when the board is randomized by doing a few random moves. You can play the found solution after the search is completed. 

Implement the following search algorithms for the sliding-block puzzle  starting from a randomized board. 

Also fix depth first search so it always finds a solution in a reasonable

Sarene give a presentation on Monday.  Reserve a projector from Sammie, the departmental secretary.

You should not use code from the web or look at code from the web.

 


Week 7  February 16th 

Monday 

Discuss assignment.

 

Wednesday 

Reading

Links

Friday 

Assignment #5

Implement one of the following robotic projects:

OR

Implement a Neural Network classifier that recognizes ten Greek letters, even when noise corrupts some of the pixels. Make sure some of the letters look similar. Read the letters in from a PNG-file, display them on the screen. Use a slider to set the corrupt number of pixels. Have a button to recognize the letter. Each time the button is pressed a new set of random pixels is corrupted. 

CS 23 students have code to read, display and manipulate PNG files. You can ask you favorite CS 23 student for their code or I can do that. 

NeuralNet_C_CPP_Java.zip has code that a graduate student friend of mine, Zbigniew Korona, wrote in C. There are sparse comments but it works. The C++ code I wrote in graduate school. The Java code is a translation of the C code and is not very object oriented. If you want to use other code for the Neural Network please send me the link and I will look at it.


Week 8  February 23rd 

Monday

Guest lecture on Computational Linguistic by Paul Thompson.

Reading

Wednesday

Reading

Other readings

Friday

JONES SEMINAR

3:30pm
Spanos Auditorium - Rm 100 Cummings Hall

"Artificial Intelligence: Hype or Reality?"
Adrian Hopgood
The Nottingham Trent University

Reading


Week 9  March 1st

Monday

Finish beacon finding.

Reading

Other readings

 

Wednesday

Assignment #6

Take ChineseCheckers.java, a Chinese Checkers framework, written by Zhengyi and implement an agent that uses Min-Max search. The agent should be able to beat the greedy agent supplied by Zhengyi.

Reading

Friday

Reading

Other links


Week 10  March 8th

Monday

Presentation of Final Projects

You can receive extra credit by give a presentation of your final project. Graduate students need to give a presentation.

Your final project can be either involve  robots or a computer game. Here are my suggestions:


Finals Week,  March 12th - 16th