ENSC 887-3: Computational Robotics

Course Description

A main goal of computational robotics is to automatically synthesize robot motions to achieve a given task. This course discusses geometric and algorithmic issues that arise in such an endeavour. Examples of a few sub-problems that need to be addressed are: how can a robot plan its own collision-free motions? How does it grasp a given object? How does one account for uncertainty? The course employs a broad range of tools from computational geometry, mechanics and control theory. The material covered also finds applications in designing devices for automation and in computer animation. The course involves a substantial project which exposes the students to some practical and implementational issues involved in building such automatic motion planning capabilities for robotic systems. <p> A major emphasis is normally placed on the motion planning problems. The first part of the course will cover fundamental topics and will be lecture oriented. The second part will consist of readings from the research literature and in the final part students will present their projects. <p> The course involves a substantial project which could be either an individual or a group undertaking. The projects should be chosen and work started on them early (by the end of the first month). There will be considerable flexibility in selecting projects within the broad theme of robotics. Students can also propose their own projects. A robot programming environment, ACT is available on an SGI Indigo in the Engineering Science Lab. It provides a nice geometric modelling and simulation environment. Although not mandatory, students will be encouraged to develop their projects within this environment.

Topics

<i>Part I: Algorithmic Fundamentals of Robotics</i> <p> representing rigid bodies, polyhedral models; representing rotations; notion of configuration space; basic kinematics; friction cones. <p> elementary notions from algorithms and geometry: computational complexity, O notation, graph search techniques: etc.; convex hull, intersection detection, algorithms for distance calculations. <p> elementary notions from basic mathematics: affine space, connectedness, closure, compactness, inner product, distance, etc. <p> <i>Part II: Selected Topics in Robot Planning</i> <p> gross motion planning: global motion planning, local collision avoidance, planning with non-holonomic constraints, movable objects, grasp planning. <p> fine motion planning: uncertainty in control and sensing; pushing, squeezing, and grasping; <p> device design for automation: programmable part feeders; fixture design. <p> <i>Part III: Projects</i> <p> In past few years years students have implemented a local motion planner, generalized cones algorithm for moving a polygon among polygonal obstacles, and have presented surveys of research areas such as potential field based approach to motion planning.

Grading

There are no exams. Approximately 60% of the grade will be based on the term project. You should submit a project proposal and a final project report. Rest 40% will be based on class participation and homework assignments. <p> Assignments: There is a small number of homework assignments. <p> Participation: Each student (in turn) will either lead a discussion or present a short, informal lecture on a research paper from the recent research literature.

Textbooks

There is no required text for the course. Course handouts and papers will be given.

Reference Books

<i>Robot Motion Planning</i> by J.-C. Latombe, Kluwer, 1991 will serve as our main reference book in the course and is on reserve in the library. Much of the material in Part I will be covered from this book.

Prerequisites

Graduate standing or permission of instructor. An undergraduate level background in linear algebra, geometry or graphics, and data structures and algorithms is helpful. <a href=/undergrad/courses/ENSC488.html>ENSC 488-4</a> is a desirable but not required prerequisite.

Additional Information for ENSC887