Department of Computer Science
College of Arts and Sciences
The University of North Carolina at Chapel Hill


COMP 790-058
Robotics

Instructor: Dinesh Manocha


Time and Place: MW 11:00am-12:15pm, SN 011
Office Hours: M 2:00-3:15pm or by appointment, FB 250
Prerequisites: Knowledge of calculus, differential equations, linear algebra, and programming is assumed and instructor's approval
Textbook: Course Notes and In-Class Handouts
Lab TA: Jamie Snape

Line

Line

COURSE OVERVIEW:

Line

Robotics is the study of robot design, programming, and control. Typically a robot is refered to as an agent that can be programmed to perform a variety of tasks -- both with and without human intervention. A robot is often manifested and realized by mechanical and electrical components to carry out its actions in the physical world. Robots frequently receive input from noisy sensors, consider geometric and mechanical constraints, and operate in the physical world through imprecise actuators. The design and analysis of robot algorithms and computational elements, therefore, raises a unique combination of questions in computational and differential geometry, algorithm design, control theory, mechanics, computer science, and system engineering.

In this course, we will give an overview on fundamental components of robotic systems, including the sensing and actuation, control and modeling of motion and perception, dynamics and kinematics, motion planning and manipulation of robots. Students will learn about implementation of basic simulation programs that produce interesting results and verify its correctness. The goal of this class is to get students an appreciation of computational methods and engineering issues for modeling robots. We will discuss various considerations and tradeoffs used in designing various methodologies (e.g. time, space, robustness, and generality). This will include data structures, algorithms, computational methods, simulation techniques, runtime complexity, system implementation and integration, in the context of multi-disciplinary design. The lectures will also cover some applications of robotics to the following areas:

Furthermore, scientists have discovered that designs in the natural world can be successfully exploited to create engineered artifacts. Over the last several years, robotists have come up with several new robot designs that are based on biological entities. These new designs offer significant benefits over the traditional robot designs. Thus, a central part of the course will also cover the fundamentals and applications of biologically inspired robots. If time allows, we will also examine recent development on modular and reconfigurable robots, as well as simultaneous localization and mapping (SLAM).

In order to experiment with some of these concepts, we are going to use iRobot's Create kit (based on the Roomba). We plan to give out assignments dealing with planning the path of a single Roomba or multiple Roombas. For more information, see HERE.

Line

LECTURES AND APPROXIMATE SCHEDULE

Line

Here is a list of TENTATIVE lecture topics (subject to changes). Schedule and information on each topic (e.g. readings, web pointers) will be added during the semester before each class.

Line

ASSIGNMENTS AND PROJECTS

Line

The class grade of each student is determined by

Problems:

Programming assignments:

For useful documentation, code examples, software tools, and web links, see here.

Line

STUDENT COURSE PROJECTS

Line

Line

GEOMETRIC ALGORITHMS AND SOFTWARES AVAILABLE ON THE WEB:

Line Here are just some possible locations to find geometric software/libraries and algorithmic toolkits you may need: Line

ADDITIONAL REFERENCE MATERIALS

Line

Here is a list of suggested reading materials.


Some Reference Books in Robotics:

Other Reference Books in Mechanics:

Other Reference Books in Numerical Methods:

Other Reference Books in Geometry:

Other Related Reference Books in Computer Animation:

Line
For more information, contact Dinesh Manocha, dm@cs.umd.edu.
Line

Copyright 2006, 2008. Personal use of this material is permitted. However, permission to reprint/republish this material for advertising or promotional purposes or for creating new collective works for resale or redistribution to servers or lists, or to reuse any copyrighted component of this work in other works must be obtained from the author.

This material is presented to ensure timely dissemination of scholarly and technical work. Copyright and all rights therein are retained by authors or by other copyright holders. All persons copying this information are expected to adhere to the terms and constraints invoked by each author's copyright. In most cases, these works may not be reposted without the explicit permission of the copyright holder.