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
Instructors: Ioannis REKLEITIS - yiannisr@cse.sc.edu (section 1)
Alberto QUATTRINI LI - albertoq@cse.sc.edu (section 2)
Lectures: Tuesdays and Thursdays. Section 1: 4:25 pm - 5:40 pm, Section 2: 6:00 pm - 7:15 pm. 300 Main St B112.
Office hours:
Ioannis REKLEITIS: Tuesdays and Thursdays 3:00 pm - 4:00 pm in Storey Innovation Center 2235 (old office Swearingen 3A54). Drop-ins are welcome but the preferred procedure is to schedule an appointment by sending an email to the instructor.
Alberto QUATTRINI LI: Tuesdays and Thursdays 4:00 pm - 5:00 pm 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.
Teaching Assistant: Nattapon DONRATANPAT - nattapon@email.sc.edu
Lab hours: Monday and Wednesday: 5:30 pm - 6:30 pm, Tuesday and Thursday: 11:00 am - 12:00 pm
Prerequisites
CSCE 146 (Algorithmic Design II)
In general, good programming skills.
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/csce274_2017
The CSE Moodle server also will be used to post direct announcements, homeworks, project assignments, together with grade and related comments.
Textbook
CSCE274 Robotics Applications and Design
There is one required textbook:
Maja J. Mataric, The Robotics Primer. MIT Press, 2007.
Reading assignments throughout the semester will require access to this book. Fortunately, the textbook is ~$20 ($23.75 on Amazon), which is relatively inexpensive for a text.
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 aims at introducing to robotics from a computing perspective. 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 (iRobot Create 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 simple algorithms for robotic perception, planning, navigation, localization, and manipulation.
Implement and use some simple algorithms for controlling mobile robots.
Introduction, Syllabus presentation
History of robotics, Robot components
Introduction to the platform
Effectors, actuators, and locomotion
Locomotion and manipulation
Sensors
Control
World representations
Planning
Robot architectures
Navigation
Multirobot systems and learning
Attendance: You are expected to attend and participate in each lecture, and we 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 the Python language, 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, we 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. You should use the CSE Moodle server(https://dropbox.cse.sc.edu) to submit your solutions. These assignments will account for 15% of your final grade.
Robot programming assignments using the iRobot Create 2 platform. These assignments will be completed in small groups. Programming assignments will account for 40% of your final grade.
Two in-class tests, each accounting for 10% of your final grade, for a total of 20%.
A final exam, covering the entire course, but with greater emphasis on the final third of the course. The final will account for 25% of your final grade.
The following table gives upper bounds on the thresholds for determining final grades. we 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 our attention after class or during our 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.