Syllabus: CS 5970-002: Mobile Manipulation (Spring 2017)
Mobile Manipulators are robotic systems that are capable of
navigating through and interacting with unstructured environments in
order to perform a wide range of tasks. Designing control systems for
this domain is a non-trivial process, due in part to the complexities
of constructing and manipulating flexible and extensible
representations of the environment, motor action and task. In this
seminar course, we will study the representation, learning,
planning and control techniques that are currently driving this field
- Meeting time: Tu/Th 3-4:15
- Location: 1 Partner's Place, Alpha Conference Room (2nd floor; room 2800)
- Lab Location: Suite 2600, 1 Partner's Place
- Prerequisites: permission of the instructor.
Students need to have a solid background in C++ and/or python (or an
ability to learn quickly) and mathematics (linear algebra, calculus,
probability and statistics). Useful background includes: artificial
intelligence, machine learning and robotics.
- Reading Materials:
- Morgan Quigley, Brian Gerkey and William D. Smart, (2016), "Programming Robots with ROS: A Practical Introduction to the Robot Operating System", ISBN-13: 978-1449323899
- Various papers and other network resources, including:
- (excerpts from) John J. Craig (2004), "Introduction to Robotics: Mechanics and Control (3rd Edition)," ISBN-13: 978-0201543612 (I will provide this material)
- Jason M. O'Kane (2015), "A Gentle Introduction to ROS," ISBN 978-92143-23-9
- We will be doing all of our robot control
work using the Robot
Operating System (ROS). This package is available for
free, but works primarily under the Ubuntu distribution of
Linux. You are responsible for making sure that you have
adequate access to ROS (note that it is installed on the
Linux machines in the lab that we will be using).
Other key materials:
Course web page:
- We will also be making heavy use of Canvas
- Instructor: Dr. Andrew H. Fagg
Course Goals and Topics
Topics will include:
By the end of this course, you should be able to:
- Robot kinematics.
- Grasp/manipulation planning and execution.
- Integrated planning and execution of whole body movements.
- Constructing generalizable, task-oriented representations of the
robot, environment and task.
- Planning under uncertainty and with incomplete information.
- Human-robot interaction for learning and cooperative task execution.
- read, analyze and present technical materials in the areas of machine learning and robotics;
- design, implement and debug control systems for integrated sensory processing and control;
- employ techniques for planning and learning courses of action to enable robots to achieve a goal;
- collect and analyze empirical data; and
- work in collaborative teams.
This is a very hands-on class: every student will
be involved in the design, implementation, and programming for the
project work. Note that this component of the class will
involve a non-trivial amount of time; students should plan their
- Attendance: This is a very discussion-oriented course.
While keeping up with the readings is an important step to
take, it is not a substitute for attending class.
- Class Web Page: Most of the material that you will need
can be found on the class web page located at:
- Canvas: This class will also use Canvas, located at:
Login with your 4+4 (typically the first four letters of
your last name followed by the last four digits of your student
number), using your standard OU password. If you have difficulty
logging in, call 325-HELP. This software provides a number of useful
features, including a list of assignments and announcements, an
electronic mailing list, newsgroups, and a grade book.
I may update the main web site and the Canvas page several
times a week. When I update the site in any significant way, I will
post an announcement on Canvas telling you what has been added
and where it is located. You are responsible for things posted on the
site within 48 hours of the post.
- Class Communication:
- The class period will be a mixture of lecture and
collaborative project work. Your active participation in both
will result in a more salient experience.
- Outside of class, the discussion group on Canvas should
be the primary method of communication. This
allows everyone in the class to benefit from the answers to
your questions, and provides students with more timely answers.
of personal interest should be directed to email instead of to
the newsgroup, e.g. informing me of an extended personal
- Announcements by the instructor or the TA will
be posted to the Canvas announcement board.
- Urgent announcements will also be sent
through the Canvas messaging system.
- It is your responsibility to
have Canvas configured so that you receive these messages in a
Note that Canvas can be configured so that it will
forward messages, discussion posts and announcements directly to
your email address.
- Final Examination: The final exam period is Friday, May
12th from 1:30 to 3:30. We will use this time for final demonstrations and presentations.
- Proper Academic Conduct:
For each of the paper readings, everyone will be turning in a half page
summary of each research paper. This writing is to be your own.
For the project work, everyone is expected to make a nontrivial
personal contribution. This contribution can include the design and
development of different components of the robot control system, a
detailed presentation or document that explains the proper use
of complicated external components,
or the nontrivial assembly of existing components to solve a
larger problem. Individuals will be sharing components with each other and we will
be drawing components from the net. When you adopt someone else's work,
you must properly document its source.
Handing in written summaries that are not your own or
claiming code to be yours when it is not is considered cheating
and will result in the submission of a academic misconduct
The complaint will be submitted to
the OU Academic Integrity Office. Details of the procedures are
available at the
OU Integrity Website.
Note that the programs and the written summaries will be checked by
software designed to improper copying. This software
is extremely effective and has withstood repeated reviews by the campus judicial processes.
- Incompletes: The grade of "I" is intended for the
rare circumstance when a student who has been successful in a
class has an unexpected event occur shortly before the end of
the class. I will not consider giving a student a grade of
"I" unless the following three
conditions have been met.
It is within two weeks of the end of the semester.
The student has a grade of C or better in the class.
The reason that the student cannot complete the class is properly
documented and compelling.
Accommodation of Disabilities: The University of Oklahoma is committed to providing
reasonable accommodation for all students with disabilities. Students with disabilities who
require accommodations in this course are requested to speak with the professor as early in the
semester as possible. Students with disabilities must be registered with the Office of Disability
Services prior to receiving accommodations in this course. The Office of Disability Services is
located in Goddard Health Center, Suite 166, phone 405/325-3852 or TDD only 405/325-4173.
- Classroom Conduct: Because cell phones and laptops can
distract substantially from the classroom experience, students
are asked not to use either during class, except in cases in
which the laptop is required as part of a classroom exercise.
Disruptions of class will also not be
permitted. Examples of disruptive behavior include:
In the case of disruptive behavior, I may ask that you leave the classroom and may charge you
with a violation of the Student Code of Responsibilities and Conduct.
Allowing a cell phone or pager to repeatedly beep audibly.
- Playing music or computer games during class in such a way that they are visible or audible to other class members.
- Exhibiting erratic or irrational behavior.
- Behavior that distracts the class from the subject matter
- Making physical or verbal threats to a faculty member,
teaching assistant, or class member.
- Refusal to comply with faculty direction.
Grades will be computed according to the following distribution:
- In-class participation: 10%
- Paper presentation: 10%
- Written paper summaries (drop 1): 10%
- Homework assignments (4): 20%
- Project work: 50%
All students are expected to actively participate in class
discussions. Come to class with questions, ideas and demonstrations.
Each student will be responsible for presenting
and leading the subsequent discussion for two research
papers. We will settle on the
list of papers and the assignments in the first few weeks of class.
Guidelines for these presentations will be available before the first
A one half page summary of each research paper is due at the beginning
of class on the day that we are discussing the paper. These summaries
must be handed in using Canvas. Late or missing summaries will be logged
as a zero grade. Guidelines for these summaries will be distributed before the first one is due.
Our class project is a collaborative one, with different individuals
working on different pieces of a larger problem. Multiple students
may work together in solving a project component, existing components may be
modified or built upon, and components may be borrowed from the net.
However, at each step, it must be clear what work is yours and what is
that of other people. Project components are turned in using our
mobile manipulation subversion tree.
The rules for assessing project grades are as follows:
- A total of 100 individual project points is equivalent to full
project credit for the class (50% of your grade). You will
accumulate project points over the course of the semester.
- A project component is worth a maximum of 30 points. A
component of this size is approximately equal to one person
working for 2 solid weeks.
- Smaller components will be common and will be worth less than
the 30 points.
- 50% of the component points are earned through the
implementation; 50% are earned through high-level and
- Component values are negotiated. Before the component is
complete, you may get an assessment of approximate value.
However, final value is assessed at the time of grading.
- Significant modifications to an already graded component may be
considered as a separate component for grading purposes. In
particular, this will be considered if the modifications are in
response to requests from others in the class.
- Project component points are split between the class members
who work on it. Generally, the split will be equal, but the
instructor is open to other splits.
- In order to initiate the grading process, a component must be
presented/demoed in class.
- By the checkpoint 1 deadline, if you have not accumulated at
least 10 project points, then you will permanently surrender those points not earned.
- By the checkpoint 2 deadline, if you have not accumulated at least 25 project points,
then you will permanently surrender those points not earned.
- By the checkpoint 3 deadline, if you have not accumulated at least 60 project points,
then you will permanently surrender those points not earned.
- The entire project is due on the given deadline (no points may
be accumulated after the deadline).
General Grade Issues
- Grade questions: If you have a question about grading
(including assessment of points), you may address these during
office hours or email. Note that if you are asking me to
reconsider a grade, then I will likely re-examine the entire
project. You have one week from the point that you receive
feedback to address grading questions.
- Canvas Grade Summary: Canvas has a grade book
that is used to store the raw data that is used to calculate your
course grade. It is the responsibility of each student in this class
to check their grades on Canvas after each assignment is graded. If an error is
found, please bring it to my attention.
The College of Engineering utilizes student ratings as one of the
bases for evaluating the teaching effectiveness of each of its faculty
members. The results of these forms are important data used in the
process of awarding tenure, making promotions, and giving salary
increases. In addition, the faculty uses these forms to improve their
own teaching effectiveness. The original request for the use of these
forms came from students, and it is students who eventually benefit
most from their use. Please take this task seriously and respond as
honestly and precisely as possible, both to the machine-scored items
and to the open-ended questions.
Adjustments for Pregnancy/Childbirth Related Issues
Should you need
modifications or adjustments to your course requirements
because of documented pregnancy-related or childbirth-related
issues, please contact me as soon as possible to
discuss. Generally, modifications will be made where medically
necessary and similar in scope to accommodations based on
temporary disability. Please see
for commonly asked
Title IX Resources
For any concerns regarding gender-based
discrimination, sexual harassment, sexual misconduct, stalking,
or intimate partner violence, the University offers a variety
of resources, including advocates on-call 24.7, counseling
services, mutual no contact orders, scheduling adjustments and
disciplinary sanctions against the perpetrator. Please contact
the Sexual Misconduct Office 405-325-2215 (8-5) or the Sexual
Assault Response Team 405-615-0013 (24.7) to learn more or to
report an incident.
Many of the materials created for this course are the intellectual
property of Andrew H. Fagg.
This includes, but is not limited to, the
syllabus, lectures and course notes. Except to the extent not protected
by copyright law,
any sale of such materials
requires the permission of the instructor.
This page is online at http://www.cs.ou.edu/~fagg/classes/mobile_manipulation/syllabus.html
Andrew H. Fagg
Last modified: Wed Jan 18 14:57:42 2017