CSCI 235 - Intelligent Robotics

Spring 2017

Course Overview:

In this course, we will study the application of concepts from artificial intelligence to solving problems in robotics. We will be using the Lego Mindstorms EV3 robot platform. Each kit will be supplemented with a USB webcam, which plugs into each robot's USB port.

We will program the robots using the leJOS EV3 implementation of the Java programming language. As knowledge of Java is not a prerequsitie for the course, we will spend some time early in the semester learning the essential elements of the language for our purposes.

Java implementations of AI algorithms will be provided for your use in building controllers for your robots. We will examine these implementations in class before employing them. Consequently, our robot programming activities in this course will consist largely of configuring and combining these provided implementations to produce a target behavior.

Tuesday class periods will typically consist of presentations and demonstrations of the work completed in the previous week, followed by a lecture covering the week's new topic and project. Thursday class periods may include some lecture material not completed on Tuesday, but the majority of the Thursday class periods will consist of hands-on work with the robots. Robots will be kept in the lockers in the Linux Lab (MCReynolds 316) for use outside of class time.

This course carries an Odyssey Special Projects credit. In the last three weeks of the semester, each student will complete a final project. Each student must log at least 30 hours of work in order to earn this credit.

At the end of this course, you will be expected to be able to:

Instructor:
Dr. Gabriel Ferrer
M.C. Reynolds 312

Office Hours:
By appointment. To make an appointment with me, visit http://drferrer.youcanbook.me. From there, you can see my availability and select an appointment time.

Also, please feel free to stop by whenever my door is open.

Class Web Page: http://ozark.hendrix.edu/~ferrer/courses/235/

Lecture Time: B4 (2:45-4:00, TR)

Final Exam Period: Thursday, May 4, 8:30-11:30 am

Grading:
There are a total of 1,000 points available over the course of the semester. The thresholds for earning each letter grade are as follows:
Letter gradePoints to achieve
A900
B800
C700
D600

There will be ten weekly projects. As each project is worth 65 points, all of the projects combined will be worth 650 points. The final project is worth 350 points, resulting in a course total of 1,000 points.

Weekly Projects: Every Tuesday, a project will be assigned. Most projects will be completed in teams of two. In each project, students will program a robot to perform a task using a new concept introduced that week, potentially incorporating other concepts covered in previous weeks. Each project will be due on the following Tuesday, with a brief presentation and demonstration given in class. Some time will be available every Thursday during the class period for work on that week's project.

The grading criteria for each project is as follows:
ComponentPoints
Successful implementation35
Active participation in class5
Project log5
Project report10
Presentation/Demonstration10
Total65

Project logs and reports: For each project, each member of the team should submit an individual project report. Each report includes the following:

Project presentations/demonstrations: On the due date of each project, each team will give a short presentation that includes the following: Final Project: In the last three weeks of the semester, each student will undertake a final project. In this final project, you will build and program a robot that fulfills a contextualized purpose. A public demonstration will be made of the robot's capabilities, and a paper reflecting upon lessons learned will be submitted as well. In keeping with the Odyssey Special Project guidelines, the project will require at least 30 hours of work.

Revisions: After assignments are graded, you are welcome to revise and resubmit your work. I will grade anew each submitted revision, and average the original and revised grades together to produce a new grade for that assignment. Revisions may be submitted anytime until the start of the final exam.

No late work will be accepted. Any work not submitted on time is a zero. However, you may submit a solution after the deadline to qualify under the revision policy above. In effect, this means that late work can earn up to half credit.

Accommodations: It is the policy of Hendrix College to accommodate students with disabilities, pursuant to federal and state law. Students should contact Julie Brown in the Office of Academic Success (505-2954; brownj@hendrix.edu) to begin the accommodation process. Any student seeking accommodation in relation to a recognized disability should inform the instructor at the beginning of the course.

Schedule

DateDayTopic/ActivityReadingAssignment Due
1/19ThursdayOverviewNoneNone
1/24TuesdaySimple Reactive ControllersNoneNone
1/26ThursdayLab WorkNoneNone
1/31TuesdayDecoupled Sensing and ActionNoneProject 1
2/2ThursdayLab WorkNoneNone
2/7TuesdayColor FilteringNoneProject 2
2/9ThursdayLab WorkNoneNone
2/14TuesdayReinforcement LearningNoneProject 3
2/16ThursdayLab WorkNoneNone
2/21TuesdayPID ControlNone Project 4
2/23ThursdayLab WorkNoneNone
2/28TuesdayImage MatchingNone Project 5
3/2ThursdayLab WorkNoneNone
3/7TuesdayFuzzy LogicNoneProject 6
3/9ThursdayLab WorkNoneNone
3/14TuesdayReal-time LearningNoneProject 7
3/16ThursdayLab WorkNoneNone
3/21TuesdaySpring BreakNoneNone
3/23ThursdaySpring BreakNoneNone
3/28TuesdayLandmarksNoneProject 8
3/30ThursdayLab WorkNoneNone
4/4TuesdayPlanningNoneProject 9
4/6ThursdayLab WorkNoneNone
4/11TuesdayPlanning the Final ProjectNoneProject 10
4/13ThursdayLab WorkNoneFinal Project Proposal
4/18TuesdayFinal Project Progress ReportsNoneNone
4/20ThursdayLab WorkNoneNone
4/25TuesdayFinal Project Progress ReportsNoneNone
4/27ThursdayLab Work/Course EvaluationsNoneNone
5/4ThursdayFinal Exam PeriodNoneFinal Project Demonstration