This website is no longer maintained and the new website is at https://rlab.cs.dartmouth.edu/albertoq
Term: Fall 2017 - University of South Carolina - Columbia Campus
Credits: 3
Instructor: Alberto QUATTRINI LI - albertoq@cse.sc.edu (section 2)
Lectures: Mondays and Wednesdays. Section 1: 11:40 am - 12:55 pm. 300 Main St B112.
Office hours: Mondays and Wednesdays 10:30 am - 11:30 am in Storey Innovation Center 2239 (old office Swearingen 1D49). Drop-ins are welcome but the preferred procedure is to schedule an appointment by sending an email to the instructor.
Prerequisites
CSCE 211 (Digital Logic Design)
CSCE 212 (Introduction to Computer Architecture)
CSCE 240 (Introduction to Software Engineering)
Further information
Information about the course, including scheduling information, assignments, and announcements, will be posted at the site:
https://sites.google.com/site/albertoquattrinili/home/teaching/csce574_2017fall
The CSE Moodle server (https://dropbox.cse.sce.du) also will be used to p
ost direct announcements, project assignments, together with grades and related comments.
Textbook
CSCE574 Robotics
There is one recommended textbook for the main topics of the class:
[CPMR] Gregory Dudek and Michael Jenkin, Computational Principles of Mobile Robotics. Cambridge University Press, 2010.
The other recommended textbook for understanding the Robot Operating System (ROS) is:
[AGITR] Jason O'Kane, A Gentle Introduction to ROS, CreateSpace Independent Publishing Platform, 2013 (https://www.cse.sc.edu/~jokane/agitr/).
If interested in going in depth in some specific topics, please contact me and I can provide further references.
Robotics has seen a wide spread development in recent years, due to its possible applications
(e.g., house cleaning, surveillance). There are several challenges that designers face during the development of systems of autonomous mobile robots, from low level issues -- i.e., sensors, actuators, etc. -- to high level issues -- i.e., control, navigation, etc.
This course is designed as an advanced undergraduate/graduate course (differently from CSCE274) with a focus on design and operation of robot systems. After an overview of different types of robots, sensors, and locomotion, algorithms for robotic perception, planning, navigation, localization, and manipulation are presented. The students will have the chance to implement some of the concepts seen in the class on a mobile robot (Turtlebot 1 and 2). The instructor would draw from his experiences in robotic research to enrich the material with aspects of active research problems, such as: multi-robot exploration for search and rescue; environmental coral reef monitoring using underwater robots; etc.
After completing this course, you should be able to:
Describe the hardware components of robot systems.
Apply algorithms for robotic perception, planning, navigation, localization, and manipulation.
Implement and use algorithms for controlling mobile robots.
Introduction, Syllabus presentation
Robotic software development, middlewares.
History of robotics
Effectors, actuators, sensors
Locomotion and manipulation
Control
World representations
State estimation
Vision
Planning
Robot architectures
Multirobot systems and learning
Attendance: You are expected to attend and participate in each lecture, and I will make every effort to ensure that class attendance is worth your time. Missed tests due to unexcused absences will result in a score of 0. Note that, in the instructor’s experience, lack of class attendance has correlated strongly with poor grades.
Makeup exams will be allowed only with pre approval of the instructor or with an acceptable, documented reason. Acceptable reasons for makeup exams include severe illness, family emergencies, or other unavoidable events including dangerous weather conditions and car accidents. The format of makeup exams may differ from the format of the original exam.
Cheating (short version): Don’t.
Cheating (long version): Academic dishonesty undermines the educational mission of the course and reflects disrespect to your classmates and to your instructor. Therefore, you are expected to practice the highest possible standards of academic integrity. The minimum penalty for cheating is a -50% score on the assignment. Additional, more severe penalties may be levied for repeated or egregious violations. This policy includes improper citation of sources, claiming another student’s work as your own, and any other form of academic misrepresentation. Details on the University cheating policy can be found in the section on “Academic Responsibility” in the Carolina Community Handbook. In the absence of instructions to the contrary, it is permissible to consult Internet resources to complete the homework assignments and projects in this class, provided that you give adequate citations of every resource you consult. However, it is not permissible to copy code or anything else directly from the web. Representing the work of others as your own is never permissible. When in doubt, ask first.
Late assignments: Homework assignments will not be accepted late, because the answers will be discussed in class immediately. Unless the course schedule prevents it, programming assignments will be accepted up to three days late, subject to a 10% penalty for each day or fraction of a day (5% per 12 hours).
Computing platform: You will be expected to write software to control real robots. These tasks are most straightforward in C++ or in Python language with ROS middleware, and the course will provide some direct instruction on how to do so. You are also welcome to identify and use other appropriate languages if you prefer, provided that using such a language does not trivialize the assignment. However, I will not provide assistance with this.
Policy changes: Changes to the syllabus at the instructor’s reasonable discretion, including changes to the evaluation and grading mechanisms, are possible but unlikely.
Your learning in this course will be evaluated based on:
Homework assignments throughout the semester that consists mainly of programming assignments. Note that graduate students will have to do extra work to get the full credit, as will be specified in each assignment. You should use the CSE Moodle server(https://dropbox.cse.sc.edu) to submit your solutions. These assignments will account for 50% of your final grade.
Midterm exam, 20%.
A final exam, covering the entire course. The final will account for 30% of your final grade.
Note that graduate students will have as additional task to present one selected research paper in class.
The following table gives upper bounds on the thresholds for determining final grades. I reserve the right to adjust these thresholds downward, but promise not to adjust them upward.
Grades will be posted on the CSE Moodle server (https://dropbox.cse.sc.edu). It is your responsibility to verify that grades are correctly recorded on this site.
The goal is to ensure that all of the grading for this course is fair and correct. If you believe there’s been a mistake in grading, please bring it to my attention after class or during my office hours within one week after the exam or assignment is returned. Regrade requests after one week will be politely declined.
The schedule of topics we will cover is so tentative that it would be pointless to include the details here. The following dates, however, are unlikely to change.