CSCE 439/839: Robotics: Algorithms and Applications
Fall 2015


Dr. Carrick Detweiler
Computer Science and Engineering
220 Schorr Center
carrick _at_
Office Hours: thurs 1:30-2:30pm, schedule online, and by appointment.

Teaching Assistant

Najeeb Najeeb
najeeb _at_
Office Hours: Weds 11:30-12:30 in the Student Resource Center (SRC)
and Thurs 11:00-12:00 in Schorr 114 Lab.

Course Information

Lecture: MW (and sometimes F) 12:30pm -- 1:20pm in Avery 109
Lab: Friday 9:30am -- 11:20am in Schorr 114

For detailed information on this course please see the course syllabus in html or pdf format.

Course Description

Robots play an increasingly important role in our lives, from assembling our cars and cell phones to vacuuming our rugs and flying recon missions. To create systems that work in the real world, the field of robotics requires robust theory and algorithms that are tightly integrated with hardware that is designed with engineering expertise.

This will be a hands-on, lab-based course where you will implement the algorithms you learn about in class on a small fan boat that you will build in lab. You will learn the fundamentals of robotics, as well as the cutting-edge in robotics research. Topics covered will include: control, navigation and path planing, obstacle avoidance, manipulation and grasping, and robotic vision processing. By the end of the course you will know why robots are not yet folding our clothes and driving our cars, but you will also learn what is needed to make these possible in the future.

The fan boat platform can control a variety of motors, transport reasonable payloads, and has numerous sensors including range finders and gyros. You will interface with the embedded system that controls the fan boat by using learning to program in ROS (Robot Operating System). Programming will be in either C++ or Python, with an emphasis on C++. By the end of the course you will have a deep understanding of the design, programming, and interfacing of robot systems. This will prepare you for cutting edge careers in industry and research.


See the course schedule below for reading assignments and the general topics covered in the course. Unless otherwise noted, assignments are due via email to me before the start of class on the due date.

Assignment Start Date* Due Date
Course Survey Monday, Aug 24th Tuesday, Aug 25rd, 5pm
HW 1 (pdf,html**, ROS Introduction Weds, Aug 26th Fri, Sept 11th
Lab 1 (pdf,html**,fanboat_ll.tgz) Fanboat Construction and Ros Fri, Sept 4th Checkpoint 1: Fri, Sept 11th; Checkpoint 2: Fri, Sept 18th
Due: Fri, Sept 25th
Lab 2 (pdf,html**) PID, Range Finder, Mapping Fri, Sept 25th Checkpoint Fri, Oct 2nd
Due: Fri, Oct 16th
HW 2 (pdf,html**,hw2code.tgz) Sensing, Path Planning, and PID Fri, Oct 16th Weds, Nov 4th
Lab 3 (pdf,html**,lab3.tgz) Ball Detection and Collection Weds, Oct 21. Checkpoint Fri, Oct 30nd
Due: Fri, Nov 20th
Final Project (pdf,html**) Fri, Oct 30, 2015 Proposal Draft Due: Fri, Nov 13, 2015
Proposal Due: Tues, Nov 24, 2015
Presentation and Demos: Weds and Fri, Dec 9 and 11, 2015
Project Report Due: Fri, Dec 11, 2015

*Start dates are estimated for future assignments and are subject to change. Additional assignments will be added.
**Note html versions of assignments may lack some formatting or pictures found in the pdf version.

Course Books

Suggested: G. Dudek and M. Jenkin, Computational Principles of Mobile Robotics, Cambridge University Press, 2nd Edition, 2010.

Course Schedule

Below is an approximate schedule of course topics. These are subject to change, assignments will be announced in class.

Week Topics Reading
Week 1: Aug 24 Introduction, ROS tutorials
Week 2: Aug 31 ROS, Fundamental Problems in Robotics CPMR 2.1-2.6
Week 3: Sept 7
ROS, Hovercraft
Week 4: Sept 14 Sensors CPMR 4.1-4.8
Week 5: Sept 21 PID Control, Configuration Space CPMR 6.1-6.2
Week 6: Sept 28 Reactive Control, Motion Planning CPMR 6.3
Week 7: Oct 5 Computer Vision, Visual Servo CPMR 5.1-5.4
Week 8: Oct 12 Stereo Vision, Feature and Landmark Detection CPMR 5.5-5.8
Week 9: Oct 19
Robot Localization CPMR 8.1-8.7
Week 10: Oct 26 Robot Design, Kinematics TBD
Week 11: Nov 2 Grasping TBD
Week 12: Nov 9 Data Fusion (Kalman, Markov, Monte Carlo Techniques) CPMR 4.9
Week 13: Nov 16 Simultaneous Localization and Mapping (SLAM) CPMR 9.1-9.4
Week 14: Nov 23
Final Project Topics
Week 15: Nov 30 Final Project Topics
Week 16: Dec 7 Final Project Topics