Course Name:        Software engineering in robotics

Number:                  8803-SER

Classes:                  Th 3:05 - 4:25 in CCB 2nd floor conference room

Instructor:                Henrik I Christensen - hic@cc.gatech.edu

Office Hours:           By Appointment only


The course is offered as an advanced undergraduate / introductory graduate course and basic knowledge of robotics is assumed. This includes proficiency in programming (C# will be required, but can be learned during the course) and advanced problem solving.

Office Hours / Contact Information

Email: hic@cc.gatech.edu, Please use the Subject line “8803 - SER - ...”.
Office Hours: by appointment only

Class Goals

The desired outcomes for the students are:

  1.     Knowledge of basic software engineering principles and methods

  2.     Knowledge of how software engineering applies to robotics

  3.     Knowledge of the most common architectures, coordination and synchronization methods

  4.     Experience in design of a small system with aspects of sensing, planning and control

  5.     Good knowledge of Microsoft Robotics Developer Studio and its associated tools


The main material will be provided through slides that will be made available to all students through a codeplex site. No formal textbook will be used. A valuable reference book might be the book “Professional Microsoft Robotics Developer Studio (ProMRDS)” by Kyle Johns and Trevor Taylor, Wrox Publishers. More information about the book is available at the book web site - www.promrds.com.

Other materials

The class project will be based on programming of the Surveyor SRV-1 robot. Multiple robots will be available both in monocular and stereo configurations. The robot has an on-board processor but can also be programmed w. WLAN access. Example C# and Matlab code is available for interfacing to the system.

In additional lecture material (slides, ...) will be made available on the class web site.


As part of the class students are required to design and implement a system for marker based navigation. The markers will have distinctive colors and be easy to classify and the control of the robot can be entirely linear point based so that the focus of the project can be on the software design and its implementation.

The projects will be graded based on the software design, the design documentation and the quality of the generated software solution (robustness, efficiency, ...)

Collaboration Strategy

Students are encouraged to collaborate for exercises/tutorials and as part of the project assignments. In addition all students are expected to abide by the Georgia Tech Honor Code. Honest and ethical behavior is expected at all times. All incidents of suspected dishonesty will be reported to and handled by the office of student affairs.


The grading is based on the performance of the final robot design and the quality of the submitted paper that documents the design.