CS 485 - Autonomous Robotics (Fall 2016)


  • Instructor: Amarda Shehu amarda\AT\cs.gmu.edu
    Place and Time: Art and Design Building L008, MW, 12:00-1:15 pm
    Office Hours: ENGR #4452, MW 11:00-11:59 am
    TA: David Morris (dmorri17\AT\gmu.edu), ENGR #4454, Robotics Lab


  • This course covers topics from artificial intelligence, algorithms, and robotics for the design and practice of intelligent robotics systems. The main emphasis will be on planning algorithms for single and multi-robot systems in the presence of kinematic and dynamic constraints. Integration of sensory data will also be discussed. Selected topics will include manipulation planning, assembly planning, and planning under uncertainty. Target audience: Junior- and senior-level students interested in artificial intelligence in general and robotics in particular. The course will allow students to implement sophisticated robotic algorithms. For samples of past student projects, visit this this page.


  • Material will be disseminated through class lectures. Homework programming projects and two exams will test comprehension of the basic material. Homeworks will allow students to plugin their implementations to provided platforms so emphasis is on algorithmic design rather than graphical rendering. Extra credit in homeworks will allow students that are interested in advanced topics and research to demonstrate their abilities. Extra credit will not account for more than 10% of the total grade. No programming is involved in the exams. No late homeworks or project deliverables will be accepted. A final research project will provide students with an opportunity to implement a published algorithm and present. An in-class presentation will demonstrate project progress in the form of a conference presentation. Check out samples of past student projects.


  • Understand basic notion of feedback control and apply and implement it in the context of mobile robot navigation. Be able to understand and implement basic algorithms for processing information from range and visual sensors, feature extraction and matching. Understand basic principles of motion planning in discrete and continuous state spaces. Demonstrate basic knowledge of different robotic architectures and their suitability for problems at hand. Be able to understand the role of probabilistic reasoning, basic formulation of Bayes filters and implement basic robot localization. Be able to define more advanced task for single or multiple robots, identify the components and implement it in the robot simulator of the choice.

Programming Platform

  • An exciting component of the class is that students will be able to do high-level programming and quickly reap the benefits of decades of research in algorithmic motion planning. Support code will be provided for homeworks in both C++ and Matlab. For the final project, students are welcome to interface with a software package of their choosing. A good one for simulation of motion planning is the OOPSMP programming platform . OOPSMP, now renamed as OMPL, allows students to implement state-of-the-art planning algorithms through essentially plug-and-play. The platform is somewhat bloated but allows building on top of state-of-the-art algorithms in motion planning.


Grade Breakdown

  • Homeworks (3): 45%          Exams (2): 30%          Final Project: 25%