A study of the application of artificial intelligence to solving problems in robotics. Topics include subsumption, planning, machine learning, vision, neural networks, localization, and mapping. Students configure provided implementations of algorithms to control physical robots.
Upon completing this course, our goal is for you to be able to:
- Program a mobile robot to interact with a realistic environment with natural timing.
- Create ROS2 nodes that:
- Control motors and process sensor information by publishing and subscribing to topics.
- Create new topics and publish to them to enable building robust, modular controllers.
- Quantitatively and qualitatively assess the performance of a mobile robot for a given task.
- Describe both orally and in writing:
- The design and performance of a mobile robot.
- Assessments of deployed and fictional robots.
- Employ computer vision techniques to inform the behavior of a mobile robot.
- Employ appropriate machine learning algorithms to improve the performance of a mobile robot.
- Employ planning and odometry to navigate a mobile robot.
The primary means by which you be introduced to the course material is through nine
modules. Each module will be started during class time in teams of 2 or 3. Each module
will guide you through a learning process on a particular topic. Modules not completed during
class time should be completed with your group outside of class.
Module submissions consist of two parts:
- A document containing short answers to questions posed within the module.
- This document should also record the total time necessary to complete the module.
- Python programs to modify or write.
Each student will submit both their answers and the Python programs individually via Teams.
As the modules are a key aspect of how students learn the course material, this ensures that
every student has a record of what was learned.
Modules submitted by the start of the next class period will receive one robot credit for a
sincere, on-time attempt. Submissions which are complete and correct will receive two
robot credits. Modules not deemed complete and correct may be revised and resubmitted after a
conversation with the professor to address the issues of concern, whereupon they will
receive the second robot credit. Modules submitted for the first time after the deadline
will receive at most one robot credit.
The modules are grouped into three units. At the completion of each unit, a project
will be assigned. In each project, students will devise a creative robotics project applying
the ideas investigated in the just-completed unit.
The first class day for each project will be a brainstorming session in which students devise
topics, select project partners, establish project goals, and begin work on the project. The
second class day will be a working session for the project. On the third class day, each group
will give a presentation to the class about their project.
Project Reports
For each project, each student (even if part of a team) should submit an individual project
report. Each report includes the following:
- Description of the project goals
- A project log, which 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.
- A discussion of each ROS2 node created for the project.
- For each node, discuss the following:
- To what does it subscribe?
- To where does it publish?
- How does it determine what to publish?
- What other interactions with the environment does it have?
- A conclusion detailing the degree of success of the project and
describing future work, that is, the next steps to take if the
project were to continue.
Project Presentations
On the due date of each project, each team will give a presentation about their project.
The presentation should include the following:
- Five to seven slides:
- A title slide, including the name of the project and team participants.
- A slide describing the project goals.
- 1-3 slides describing the ROS2 nodes created for the project.
- For each node, discuss the following:
- To what does it subscribe?
- To where does it publish?
- How does it determine what to publish?
- What other interactions with the environment does it have?
- An assessment of the degree to which project goals were met.
- Future work
- If one were to continue the project, what would be the next things to address?
- A video of the robot in action. The video should meet the following constraints:
- It must be between 60 and 120 seconds in duration.
- It should include brief narration of the strategy for the project.
- Narration may be pre-recorded or provided live as the video runs.
- It should demonstrate the student’s robots fulfilling the goals for the project.
- Narration should contextualize each demonstrated activity.
Presentation Questions
- Students should be prepared to answer questions after their video presentation concludes.
- Each student is expected to ask one substantive question on each class day that includes presentations.
Project Credits
Robot credits for projects will be awarded as follows:
- For each project (not including the final project), you may earn up to 5 robot credits:
- Achievement of project goals
- Achieving all agreed-upon project goals: 2 robot credits
- Note: If, as the project develops, a project goal appears unrealistic to achieve, the students
and professor may renegotiate the project goals at least one day prior to the submission deadline.
- Achieving some but not all of the agreed-upon project goals: 1 robot credit
- Submitting a satsifactory project report: 1 robot credit
- Delivering a satisfactory project presentation: 1 robot credit
- Submitting the project code and report on-time, and delivering the presentation on the assigned day: 1 robot credit
- Asking questions during presentations:
- Ask at least one question on each of the four presentation days: 2 robot credits
- Ask at least one question on each of two presentation days: 1 robot credit
A total of three in-class essays and one take-home essay will be assigned over the course of the semester.
Each essay topic is posted on the course web page. In preparing for each in-class essay, each student may
make use of whatever resources they would like - readings, assignments, classmates, anything on
the Internet, or any other resource.
Each in-class essay itself is closed-book, closed-note, and closed-device. Paper will be provided
for writing the essay, which must be submitted at the end of the class period.
The essays will be commented upon by the instructor and returned. Each student should then
revise their essay, taking into account the instructor comments. The revised essay should be
typed and submitted electronically. The original handwritten essay should also be resubmitted
physically. The revised essay will be due one week after the original essays are returned.
Students are welcome to make use of additional resources when revising their essays; proper
citation should be included for each resource. Plagiarism, including submitting an essay
rewritten by a generative AI, is strictly prohibited. Each revised essay will then be
assessed as Level 1 or Level 2, depending on the quality of the essay. Quality will
be assessed according to the following criteria:
- Writing quality, including proper spelling, usage, and grammar.
- Demonstrated depth of understanding the essay topic.
- Appropriate use of examples from course projects.
Essay Credits
- One essay credit will be awarded per level.
- One additional essay credit will be awarded for on-time submissions of the final essays.
In the last three weeks of the semester, each student will undertake a final project.
In this final project, you will program a robot that fulfills a contextualized
purpose. A 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. As with
the other course projects, final projects will be undertaken in teams of two or three.
The project report and presentation should follow the same guidelines as those for the
regular course projects.
The final project will be graded strictly on a pass-fail basis: it is either completed
or not completed, including the project report and presentation. It does not contribute
to robot credits or essay credits. As with the three regular course projects, if a
project goal appears unrealistic to achieve, the students and professor may renegotiate
the project goals at least one day prior to the submission deadline.
Final course grades are earned based on accumulated credits, as follows:
- To earn an A in the course, a student will:
- Earn at least 32 out of 35 possible robot credits
- Earn at least 11 out of 12 possible essay credits
- Complete and present the final project
- To earn a B in the course, a student will:
- Earn at least 28 robot credits
- Earn at least 9 essay credits
- Complete and present the final project
- To earn a C in the course, a student will:
- Earn at least 24 robot credits
- Earn at least 7 essay credits
- Complete and present the final project
- To earn a D in the course, a student will:
- Earn at least 20 robot credits
- Earn at least 4 essay credits
During the second week of the semester, each student team will be assigned
an iRobot Create3 robot and a Raspberry Pi controller for that robot. As
teams shift over the course of the semester, robots will be reassigned to the
new teams.
The instructor will handle configuration and setup, but for reference here
are the Raspberry Pi 5 instructions and
Raspberry Pi 4 instructions.
The robots should be returned to the instructor at the end of the semester.
Students will be billed for any unreturned equipment.
Commitments
It is my ultimate goal for this course, and my teaching, to
develop your academic skills, advance your learning
of computer science concepts, and support the liberal arts in general. To do so
will require commitments from myself and from you toward meeting this goal.
Active Participation
I will be prepared and on time for class each day, ready to use class time
to help you understand the course material. I will respectfully listen to,
understand, and answer questions asked in class.
You are expected to attend class and actively participate in discussions every day,
answering questions, asking questions, presenting material, etc. Your
participation will be respectful of your classmates, both of their
opinions and of their current point in their educational journey, as we
each approach the material with different backgrounds and contexts.
Constructive Feedback
I will keep office hours and be available for outside appointments, and respond
to emails within one business day (not including weekends).
I will provide feedback on group presentations within one day. For exams, projects,
and homeworks, I will provide graded feedback within two weeks.
You are encouraged to provide constructive comments for improving this
course for furthering your learning throughout the semester.
There will be an opportunity for
anonymous course feedback
at the end of the term, in which I hope you all participate. Through your
feedback I can improve this course and others for future students.
Academic Integrity
I will abide by the above syllabus and grade your work fairly.
As stated in the Hendrix Academic
Integrity Policy, all students have agreed to adhere to the following principles:
- All students have an equal right to their opinions and to receive constructive criticism.
- Students should positively engage the course material and encourage their classmates to do the same.
- No students should gain an unfair advantage or violate their peers' commitment to honest work and genuine effort. It follows that any work that a student submits for class will be that student's own work. The amount of cooperation undertaken with other students, the consistency and accuracy of work, and the test-taking procedure should adhere to those guidelines that the instructor provides.
- Members of the Hendrix community value and uphold academic integrity because we recognize that scholarly pursuits are aimed at increasing the shared body of knowledge and that the full disclosure of sources is the most effective way to ensure accountability to both ourselves and our colleagues.
More details of our departmental stance on integrity can be found in the
Hendrix
Computer Science Academic Integrity Policy
Learning Accomodation
I will make this classroom an open and inclusive environment,
accommodating many different learning styles and perspectives.
Any student
seeking accommodation in relation to a recognized disability should inform me
at the beginning of the course.
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.
Physical and Mental Health
I am willing to work with you individually when life goes off the rails.
Coursework and college in general can become stressful and overwhelming, and
your wellness can be impacted when you least expect it. You should
participate in self-care and preventative measures, and be willing to
find support when you need it.
- The Office of Counseling Services
welcomes all students to see a counselor
in a private and safe environment regardless of their reasons for making an
appointment. Counseling services are available to all Hendrix students
at no cost.
- Student Health Services
provides free healthcare to Hendrix students. Services are provided by an
Advanced Practice Registered Nurse (APRN) in collaboration with a local physician.
The Offices of Counseling Services and Student Health Services are located in the white house
behind the Mills Center for Social Sciences at
1541 Washington Avenue.