Introduction to Artificial Intelligence
A.I 371
Fall 2008, Professor Todd Neller
Final Project - Lego Robotics
Alex Dick, Mike Hollander and Adrian Johnson
Featuring: Dammet the stupid robot
Lego Robotics Challenge
The CS 371 Lego Robotics Challenge consists of a series of successive challenge tasks that build on one another. In the fall of 2000, a single team successful completed challenge tasks #1, #2, and #3 below. In fall 2002, teams placed a new Java-based OS on the robots (LeJOS), redesigned the robot for structural strength and finer control, and completed the same challenge tasks. In fall 2004, teams refined the design slightly and achieved challenge #5 somewhat unreliably. In fall 2006, no new challenges were achieved, but some design elements were critiqued and made arguably more robust. Here in fall 2008, we are presented with a brand new Lego Mindstorms NXT platform with new and exciting possibilities both in physical design and motion control.
This time, each team must demonstrate the achievement of one or both of the following:
Goal 1: A significant improvement to previous challenge solutions.
Goal 2: Use the previous design to achieve the next challenge(s).
Groups will need to (1) form, (2) set specific goals based on these general goals, and (3) develop a time table for work by the end of class on Tuesday 11/25. Your progress as a group will be checked each class. You should plan as groups to meet a number of times each week for the last two weeks of class.
Finally, groups will need to document their work on the web such that future classes can reproduce it and learn from it.
Challenge Tasks
1. Challenge #1 - Line-Following: Design and implement a lego robot that will follow a line through sudden turns up to 90 degrees.
2. Challenge #2 - Intersection-Finding: Design and implement a lego robot that will follow a line as in (1), but stop when it comes to an intersection of two or more lines.
3. Challenge #3 - Intersection-Choosing: Design and implement a lego robot that will, beyond (1) and (2), exit the intersection at the nth spoke clockwise from the line it travelled.
4. Challenge #4 - Intersection-Traversing: Design and implement a lego robot that will perform (3) in succession given n1, n2, n3, ...
5. Challenge #5 - Search and Traverse: Design and implement a lego robot that, given a graph topology, its current intersection and heading, and its goal intersection and heading, will generate a sequence of moves and perform (4).
6. Challenge #6 - Localize, Search, and Traverse: Design and implement a lego robot that, given all that is given in (4) except its current intersection and heading, will take action to ascertain its state (localize), and then perform (5).
7. Challenge #7 - Explore, Search, and Traverse: Design and implement a lego robot that explores lines and intersections, forms a graph roadmap, and moves to a graph intersection with the following property: Let d(i,j) be the minimum number of edges to travel to get from intersection i to intersection j. Let D(i) be max(d(i,j)) for all j. A goal intersection has the minimum D(i).