University of Saskatchewan Department of Computer Science

Welcome to the Department of Computer Science

Courses >
Printer

Computer Science 488: Computational Robotics

Note that the information presented here does not necessarily reflect the most up to date syllabus or course information. Rather this information is intended to provide a general overview of course content from previous offerings.

Course Description

This course will address the algorithms used in mobile robotics for map building, path planning and collision avoidance. At the end of this course, the student will be able to guide a mobile robot using sensor data, past random obstacles from a defined starting position to an ending position.

Course Scope

The course will focus on mobile robot motion, and will touch on subjects from engineering, computer vision, computational geometry, artificial intelligence and multi-agent systems.

Prerequisite(s)

MATH 264 or Math 266 and CMPT 317 or Permission of the Instructor

Instructor Information

Kevin G. Stanley
Room 281.5 Thorvaldson Bldg.
966-6747
kstanley@cs.usask.ca
Office Hours TBD or by appointment

Lecture Information

Three hours of lecture per week
Undergraduate open lab, support for 1 hr per week

Textbook Information

While most of the topics covered in the course are covered in the required text, the mathematical treatment of many of the concepts, particularly at the beginning of the course, are covered in more depth in the supplemental text. While it is possible to complete the course using a combination of lecture notes and Principles of Robot Motion, students are strongly encouraged to purchase both books.

Required text

H. Choset, K.M. Lynch, S. Hutchison, G. Kantor, W. Burgard, L.E. Kavraki, S. Thrun, Principles of Robot Motion: Theory, Algorithms and Implementations, MIT Press, Cambridge, 2005.

Supplemental text

R. Siegwart, I. Nourbarkhsh, Introduction to Autonomous Mobile Robots, MIT Press, Cambridge, 2004.

Lecture topics

  • Physical Fundamentals
    • Basic kinematics
    • Physically realizable paths
  • Sensor Fundamentals
    • Odometry and position estimation
      • Range sensors
      • Sonar, LIDAR and infrared sensors
      • Representing range, position and error
  • Representing Space
    • Discrete representations
    • Geometric representations
    • Configuration Space
  • Collision detection and avoidance
    • Detecting and representing obstacle proximity
    • Local algorithms for avoiding unforeseen obstacles
  • Map building
    • Discrete maps and algorithms
      • Building visibility maps
      • Building configuration space maps
    • Building topographic maps
      • Parsing discrete maps (including Voroni diagrams)
      • Weighting edges
    • Probabilistic Approaches
  • Path planning
    • Discrete maps
      • Potential field methods
      • Bug algorithm/edge following methods
    • Topographic maps
      • Graph search as path planning
      • Parsing and navigating discrete maps simultaneously
  • Localization
    • Error drift, external sensors and landmarking
    • Simultaneous Localization and Mapping (SLAM)
  • Robot software architecture
    • Models for hardware abstraction
    • Real time issues in hierarchies
  • Behavior-based robotics (optional)

IMPORTANT! Please read:

  1. All students must be properly registered in order to attend lectures and receive credit for this course.
  2. Failure to write the final exam will result in failure of the course.
  3. Failure to complete required course work will result in failure of the course.

 

Student Evaluation

Grading scheme
  • Final project 30%
    • Demonstration 15%
    • Report 15%
  • Final Exam 30%
  • Midterm 20%
  • Labs 20%

The midterm and final exam will test the students’ grasp of theoretical and mathematical underpinnings, as well as appropriate algorithmic applications. The laboratory work will serve to introduce the student to the robotic programming interface, simulator and principles of operation. Laboratories will be graded on the basis of a demonstration and a short (2-3 page) report. The final project for undergraduate students will consist of a navigation task that the students can solve using any combination of techniques from either the class or the literature. Grades in the final project will be assigned on the basis of the feasibility, thought and presentation of a proposal report, the success of the live demonstration, and the depth, analysis and presentation of the final report (15-20 pages).

Students must complete the final project and final exam to pass the course. Missed examinations are detailed in policy 1 below. Extensions for the final project of less than 3 weeks can be granted under the same conditions detailed in policy 1. Failure to complete the required coursework will result in failure of the course.

Technical information

We will be working with the amigoBOT wireless mobile robot platform from MobileRobots Inc. AmigoBOT comes with a substantial software suite. During laboratories and project you will be required to replace specific libraries in the suite with C++ code you have written. The robots cannot be removed from the lab area. Additional information on the robot lab, available hardware and software, and support hours can be found on the course website.

Missed Examinations

  1. “Students who have missed an exam or assignment must contact their instructor as soon as possible. Arrangements to make up the exam may be arranged with the instructor. Missed exams throughout the year are left up to the discretion of the instructor if a student may make up the exam or write at a different time. If a student knows prior to the exam that she/he will not be able to attend, they should let the instructor know before the exam.”
  2. “Final exams – a student who is absent from a final examination through no fault of his or her own, for medical or other valid reasons, may apply to the College of Arts and Science Dean’s office. The application must be made within three days of the missed examination along with supporting documentary evidence. Deferred exams are written during the February mid-term break for Term 1 courses and in early June for Term 2 and full year courses.”

(2007/08. http://www.arts.usask.ca/students/transition/tips.php)

Incomplete Course Work and Final Grades

“When a student has not completed the required course work, which includes any assignment or examination including the final examination, by the time of submission of the final grades, they may be granted an extension to permit completion of an assignment, or granted a deferred examination in the case of absence from a final examination. Extensions for the completion of assignments must be approved by the Department Head, or Dean in non-departmentalized Colleges, and may exceed thirty days only in unusual circumstances. The student must apply to the instructor for such an extension and furnish satisfactory reasons for the deficiency. Deferred final examinations are granted as per College policy.

In the interim, the instructor will submit a computed percentile grade for the course which factors in the incomplete course work as a zero, along with a grade comment of INF (Incomplete Failure) if a failing grade. In the case where the instructor has indicated in the course outline that failure to complete the required course work will result in failure in the course, and the student has a computed passing percentile grade, a final grade of 49% will be submitted along with a grade comment of INF (Incomplete Failure).

If an extension is granted and the required assignment is submitted within the allotted time, or if a deferred examination is granted and written in the case of absence from the final examination, the instructor will submit a revised computed final percentage grade. The grade change will replace the previous grade and any grade comment of INF (Incomplete Failure) will be removed.

For provisions governing examinations and grading, students are referred to the University Council Regulations on Examinations section of the Calendar.”

(2007/08 University of Saskatchewan Calendar/Exams & Grades/Grading System)

Department Policy on Academic Honesty

Students are expected to be academically honest in all of their scholarly work, including course assignments and examinations. Academic honesty is defined and described in the Department of Computer Science Statement on Academic Honesty and the University of Saskatchewan Academic Honesty Website.

Students using the E-Handin system to submit an assignment for the first time will be prompted with a declaration of academic honesty. After reading the declaration, you will be presented with three options: “Agree”, “Disagree”, or “Decide Later”. If you choose “Decide Later” you will be prompted again the next time you log into the E-Handin system. Agreement or disagreement applies to all CMPT courses in which you are registered.

For classes that do not use the E-Handin system, each student may be requested to submit a signed paper copy of the Declaration of Academic Honesty to their course instructor.

An instructor, at their option, may ask students to sign the paper declaration, even if their class is making use of E-Handin.

The Department has decided to create a Departmental Academic Dishonesty Panel, which consists of two faculty members appointed by the Department Head and one student member appointed by the CSSS.

If an instructor has reason to suspect academic dishonesty on an assignment, the instructor will not return the original assignment to the student. Instead it will be forwarded along with all relevant evidence to the Department Academic Dishonesty Panel. The Panel will deliberate on the case, possibly requiring testimony from the student(s) involved. The Panel, in consultation with the instructor, will decide whether the case should be forwarded to the Arts and Science Student Academic Affairs Committee for a disciplinary hearing or whether the case should be handled locally within the Department. Should the Panel find no evidence of dishonesty, the case will be excused. In cases where dishonesty is determined, the Panel may decide to issue a warning and delete any mark associated with that assignment. In such cases, a formal warning letter will be sent to the student, copied to the instructor and the Arts and Science Student Academic Affairs Committee, and no other academic penalty will be applied. If the student or instructor is dissatisfied with the Panel's decision, either party may request that the case be reviewed by the Student Academic Affairs Committee.

The Student Academic Affairs Committee treats all cases according to the University Policy and has the right to apply strict academic penalties (see http://www.usask.ca/university\_council/reports/09-27-99.shtml