Course Syllabus

CS7961 - Geometric Computation for Motion Planning

Meets: MWF 12:55-1:45                     Instructor:         David E. Johnson (dejohnso@cs)

            MEB 3105                                                       3330 MEB   ph. 1-1726

Office hours: In general, I am easily available afternoons in my office. Please stop by or arrange a time by email or in class.           

Objectives:

Geometric computation is the study of practical algorithms for solving queries about geometric properties of computer models and relationships between computer models. Robot motion planning uses these algorithms to formulate safe motion through a modeled environment. In addition, algorithms for geometric computation are used in computer animation, simulation, computer-aided design, haptics, and virtual reality. Topics to be covered in this course are spatial subdivision and model hierarchies, model intersection, distance queries and distance fields, medial axis computations, configuration space, geometric constraint solving, and motion planning. The course will rely on lectures, readings, and projects to provide understanding of current practices in the field.

Some things I hope students will leave this course with are:

  • computational tools to solve geometric problems
  • practice in implementing geometric algorithms
  • the ability to read and evaluate literature in a field
  • practice in conveying results to a reader or an audience

Grading:

Your course grade will depend on the following factors:


Programming assignments (7):75%
Literature review group presentation:10%
Paper critiques:5%
Final Exam:10%

Grades will be posted on the class web page using some sort of anonymous scheme.


Late Policy:  Zero credit for late work. Some leeway can be given with prior notice for extreme calamities or official conflicts. Otherwise, just submit what you have and get partial credit.


Grade Appeals: Appeals must be done within one week of receiving the grade. It is your responsibility to check the graded work for accuracy within that week. Accounting errors can be appealed until the final exam.      


Cheating and Plagiarism: Students are encouraged to discuss approaches with one another and to help one another with computer infrastructure questions, but not to share or view another person’s code. You are responsible for entering all the code handed in. This will be checked during the term for certain assignments by means of a short (5 min) interview with the instructor about the code for an assignment. Your grade for those assignments will largely depend on your ability to explain your code as well as its functionality.


This is a graduate level course. As such, the students are expected to behave in a professional manner.  

Schedule (may be adjusted as needed):

August

24                   Topics:             Class mechanics

                                                Introduction to geometric computation

26                    Topics:             Collision/Distance between simple primitives

                        Assignment 1: Simple primitives (5%)

29                   Topics:             Convex objects

31                    Topics:             Voronoi regions

                                                Lin-Canny algorithm

Due:                Assignment 1 by 5PM 

 

September

2                      Topics:             Minkowski sum/difference

5          Labor Day Holiday

7                      Topics:             GJK algorithm

Assignment 2: GJK (15%)

9                      Topics:             Temporal coherency for GJK

12                    Topics:             Penetration Depth

14                    Topics:             Paper critiques

16                    Topics:             Collections of convex objects

                        Due:                Assignment 2 by 5PM

19                    Topics:             General mesh models / mesh data structures

21                    Topics:             Bounding volume hierarchies – spheres

23                    Topics:             Oriented Bounding Boxes

                        Assignment 3:   Bounding Hierarchies (15%)

26                    Topics:             Distance for triangular models /sphere hierarchies

28                    Topics:             Swept sphere volumes

30                    Topics:             Normal cone hierarchies

 

October

3                      Topics:             Distance fields

                        Due:                Assignment 3 by 5PM

                        Assignment 4: Distance fields (8%)

5                      Topics:             GPU distance field

7          Fall Break

10                    Topics:             Paper critiques

12                    Topics:             Parametric Models

14                    Topics:             Distance to Parametric Models

                        Due:                Assignment 4 by 5PM

17                    Topics:             Newton’s Method

                        Assignment 5: Newton’s Method for Distance (10%)

19                    Topics:             Subdivision solvers

21                    Topics:             Constraint solvers

                        Due:                Assignment 5 by 5PM

24                    Topics:             Geometric constraints

26                    Topics:             Geometric constraints

28                    Topics:             Medial axis

31                    Topics:             Computing the medial axis

 

November

2                      Topics:             Voronoi regions revisited

                                                Group presentation planning

                        Assignment 6: Visualizing Voronoi regions (7%)

4                      Topics:             Configuration space

7                      Topics:             Path planning

9                      Topics:             Local path planning

                        Due:                Assignment 6 by 5PM

11                    Topics:             Complete path planning

14                    Topics:             Randomized path planning

                        Assignment 7: Path planning (15%)

16                    Topics:             Linkage planning

18                    Topics:             CNC path planning

21                    Topics:             Flexible object path planning

23        No class

25        Thanksgiving

28                    Topics:            Presentations

30                    Topics:             Presentations

 

December

2                      Topics:             Presentations

5          Review for exam

                        Due:    Assignment 7 by 5PM

7          Exam