CS7961 - Geometric Computation for Motion Planning

CS7961 - Geometric Computation for Motion Planning

Meets: MWF 12:55-1:45 MEB 3105
Instructor: Dr. David E. Johnson

Prereqs:

I am planning the course to use Matlab as much as possible as a programming environment. However, I do expect that students should be able to implement reasonably complex algorithms and test environments using Matlab, so the basic prerequisite is some ability to program beyond "write a function to find prime numbers".

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:

Tentative Rough Outline:

Convex objects
- intersection and distance
- Voronoi diagram
- Minkowski sum

Intersections of collections of convex objects
- spatial subdivision
- temporal coherency

Intersections of general triangular models
- Bounding volumes
- spheres
- axis aligned bounding boxes
- principal component analysis
- oriented bounding boxes
- Hiearchies
- top down
- bottom up

Distance
- general triangular models
- parametric models
- Newton's method
- Subdivision techniques
- Local vs global extrema
- Distance fields
- GPU approximations
- normal cones

Medial Axis
- Properties
- Computation

Configuration Space
- Sampling

Path Planning
- Local
- Randomized

Geometric Constraints

Application to robotics
- Moving Linkage

tool path planning?