CSCI 235 - Intelligent Robotics
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
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
At the end of this course, you will be expected to be able to:
- Build a reactive controller for a mobile robot.
- Build a hierarchical supervisor for a reactive controller.
- Build a controller employing the control-theoretic concepts of
PID control and fuzzy logic.
- Apply basic image filtering and image matching for robot sensing.
- Apply machine learning algorithms for behavior learning and
- Navigate a robot using a symbolic planner.
Dr. Gabriel Ferrer
M.C. Reynolds 312
By appointment. To make an appointment with me, visit
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:
B4 (2:45-4:00, TR)
Final Exam Period:
Thursday, May 4, 8:30-11:30 am
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 grade||Points to achieve|
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
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:
|Active participation in class||5|
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
- A project log, which in turn includes the following for every work session:
- Date of the work session, including start and end times.
- Goals for the session.
- Brief descriptions of activities undertaken.
- Observations of activities.
- Assessment of the degree to which session goals were met.
- Answers to project-specific questions.
- A conclusion detailing the degree of success of the 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.
- Three PowerPoint style slides:
- Description of the overall approach, including algorithm parameters
- Concluding thoughts about the project topic
- A demonstration of the robot's capabilities. This demonstration may
either be a live demonstration or a prerecorded video. Demonstrations
should be no longer than two minutes.
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.
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; firstname.lastname@example.org) 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.
|1/24||Tuesday||Simple Reactive Controllers||None||None
|1/31||Tuesday||Decoupled Sensing and Action||None||Project 1
|2/7||Tuesday||Color Filtering||None||Project 2
|2/14||Tuesday||Reinforcement Learning||None||Project 3
|3/7||Tuesday||Fuzzy Logic||None||Project 6
|3/14||Tuesday||Real-time Learning||None||Project 7
|4/11||Tuesday||Planning the Final Project||None||Project 10
|4/13||Thursday||Lab Work||None||Final Project Proposal
|4/18||Tuesday||Final Project Progress Reports||None||None
|4/25||Tuesday||Final Project Progress Reports||None||None
|4/27||Thursday||Lab Work/Course Evaluations||None||None
|5/4||Thursday||Final Exam Period||None||Final Project Demonstration|