Course Description

This is the first of a two-quarter course sequence that addresses the problems of controlling and motivating robots to act intelligently in dynamic, unpredictable environments. In this first course, topics will include mobile robot kinematics, motion planning, and control. To demonstrate these concepts, we will be looking at mobile robots and assignments will be done in Matlab and USARSim. USARSim is a high fidelity simulation environment built on the Unreal Tournament game engine and allows for realistic simulation and control of virtual robotic agents. Students are required to purchase the Unreal Tournament 2004 game. Lectures will be complemented by project-based assignments, discussions and in-class student presentations. The final project will be a robotics competition in USARSim where teams are tasked to program their robots to autonomously navigate through obstacle courses of varying difficulty.
Prerequisites: Linear Algebra and Ordinary Differential Equations.


M. Ani Hsieh
Office: 159 Curtis Hall
E-mail: E-mail
Office Hours: Mon 4:00-5pm

Teaching Assistant

Bill Mather
Office: SAS Lab (Hess Bldg 10F)
E-mail: thomas dot w dot mather at drexel dot edu
Office Hours: Thurs 3-5pm
Location: Hess 10F

Required Text & Software

Principles of Robot Motion: Theory, Algorithms, and Implementations
by Howie Choset, Kevin M. Lynch, Seth Hutchinson, George Kantor, Wolfram Burgard, Lydia E. Kavraki and Sebastian Thrun
ISBN-10: 0262033275
ISBN-13: 978-0262033275

USARSim Manual

Unreal Tournament 2004

Official Unreal Tournament Patch V3369


NOTE: It is EXTREMELY important that you follow the installation instructions in the USARSim Manual EXACTLY. READ the installation directions FIRST before you install.

Supplemental Texts

Introduction to Autonomous Mobile Robots
by Roland Siegwart and Illah R. Nourbakhsh
ISBN-13: 978-0262195027

Probabilistic Robotics
by Sebastian Thrun, Wolfram Burgard and Dieter Fox
ISBN-10: 0262201623
ISBN-13: 978-0262201629

Additional reading materials, e.g. online references and research papers, will be provided by the instructor.

Grading Policy

This course will have a strong focus hands-on programming experience. As such, there will be extensive programming assignments, in-class discussions, demonstrations, and project presentations. All assignments are due at 11:59pm EST on the due date and must be submitted electronically via e-mail to With the exception of Matlab code, all assignments must be written up and submitted as a single PDF file not to exceed 5 MBs in size. Matlab code must be submitted following the exact submission guidelines outlined for each assignment. Failure to adhere to the guidelines will result in runtime errors. If we cannot run your code, this will automatically result in a missed assignment. Failure to comply to these guidelines will result in automatic rejection of your submissions without notification. Late assignments will not be accepted.

Grading will follow the breakdown listed below:

    Assignments:     40%
    Final Project:     40%
    Class Participation:     10%
    Teamwork:     10%

Class Participation

In addition to class participation, you are expected to help each other with assignments and the final project. To evaluate your teamwork, each person will complete an evaluation survey twice during the quarter. Once at Week 6 and at Week 11. Completion of the survey is mandatory. In the survey, you will also be asked to ask to nominate class individuals who have significantly contributed to your understanding of the course materials. People who consistently participate in peer learning efforts will be appropriately rewarded. Teamwork is even more critical once the Final Project has been assigned. There will be a section in Week 10s evaluation survey for each member to describe in detail their teammates and their own contributions to the overall project. In general, it is impossible for each member to do an exactly equal portion of the work, therefore if someone claims everyone in his/her n-person team did (100/n)% of the work, it is likely that he/she is lying. However, do try and keep everyone involved and arrange it so that each person gets a chance to be responsible for different parts of the lab assignment for each week, i.e. programming, testing, writing, etc.

Support for the various course material including assignments and toolboxes is funded by