CS 498: Introduction to Planning Algorithms
Fall 2011
Tue/Thu 12:301:45
Room 4407 Siebel Center
Registration: 40091 (3 hrs), 40092 (4 hrs)
Instructor:
Steve LaValle
Office Hours: Tue/Thu 2:003:00
A Google translation
from Chinese to English of
the textbook summary:
Planning is the crystallization of human wisdom,
planning issues widely found in people's daily work and life. Now,
the planning has been involved in computer science, artificial
intelligence, mechanical, mechanics, control theory, game theory,
probability theory, graph theory, topology, differential geometry,
algebraic geometry and many other modern sciences. "Planning
Algorithms" is the author's years of teaching and research summary, a
systematic introduction to the basics of planning areas and the latest
results. The author of three independent disciplines: robotics,
artificial intelligence and cybernetics cleverly combined. "Planning
algorithm" gives a lot of informative examples to have been relatively
difficult to understand the mathematical problem becomes to life,
afterschool reading references and exercises is to further deepen and
expand the reader's understanding of appropriate content.
Course Calendar (tentative):
Class #
 Date
 Lecture Topic
 Reading
 Assignments

Week 1

1  8/23  course overview
 Ch. 1 

2  8/25  discrete feasible planning; search algorithms
 Sec. 2.1, 2.2 

Week 2

3  8/30  geometric representations; transformations
 Sec. 3.1,3.2 

4  9/1  transformations, topological concepts
 Sec. 3.2,4.1 

Week 3

5  9/6  topological concepts
 Sec. 4.1.1  HW1 Assigned

6  9/8  manifolds
 Sec. 4.1.2 

Week 4

7  9/13  manifolds, Cspace
 Sec. 4.2,4.3.1 

8  9/15  Cspace, Cspace obstacles
 Sec. 4.3.2  HW1 Due

Week 5

9  9/20  Cspace obstacles
 Sec. 4.3.2 

10  9/22  metric spaces
 Sec. 5.1.1, 5.1.2 

Week 6

11  9/27  sampling theory, collision detection
 Sec. 5.2, 5.3  HW 2 Assigned

12  9/29  collision detection, incremental sampling and searching
 Sec. 5.3, 5.4 

Week 7

13  10/4  incremental sampling and searching, RRTs
 Sec. 5.4, 5.5 

14  10/6  RRTs, roadmap methods
 Sec. 5.6 

Week 8

15  10/11  combinatorial motion planning, polygonal obstacles
 Sec. 6.1, 6.2  HW 2 Due

16  10/13  Midterm Exam
 . 

Week 9

17  10/18  CLASS CANCELLED
 .  HW 3 Assigned

18  10/20  vector fields, differential constraints
 Sec 8.3.1, 13.1 

Week 10

19  10/25  differential constraints
 Sec. 13.1  .

20  10/27  carlike robots;
differential drive
 Sec. 13.1 

Week 11

21  11/1  phase space, double
integrator, particle motions
 Sec. 13.2.1, 13.3.2  .

22  11/3  motion planning with differential constraints
 Sec. 14.1 

Week 12

23  11/8  sampling the control
space; incremental sampling and searching
 Sec. 14.2, 14.3  HW 3 Due

24  11/10  incremental sampling and searching
 Sec. 14.3,14.4 

Week 13

25  11/15  physical sensors, virtual sensors
 Sec. 2 and 3 of this  HW 4
Assigned

26  11/17  virtual sensor models
 Sec. 3 of this 

Thanksgiving Break

Week 14

27  11/29  more virtual sensors; sensor lattice
 Sec. 3 of this 

28  12/1  spatial and temoporal filtering
 Sec. 4 of this 

Week 15

29  12/6  planning in information spaces
 Sec. 5 of this  HW 4 Due

Homework Assignments
 HW1: Assigned: Sep. 6, Due: Sep. 15.
Solve the following problem: Using the Forward Search Template
for discrete feasible planning, suppose that Q is sorted so that
the element that is waiting on the queue for the median amount of
time (the middle element in terms of time waiting) is selected by
GetFirst(). Is this method systematic for the case of a finite
search graph? Is it systematic for a countably infinite search
graph? Explain your answer.
Also, solve book problems 3.2, 3.14. 4.4, (4.17: you can instead turn
in this problem as part of HW 2). Problem 3.14 involves an
implementation. You may use any language you like. I recommend using
python and the PyGame package (it is easy to install on most
platforms, including Ubuntu). Here is some sample
code: [1][2]. You may
assume that each link is a rectangle. Allow any number of links to be
transformed, as a parameter in your code. Display the results for
various examples.
Turn in written (or printed) copies of your work in class.
 HW2: Assigned: Sep. 25, Due: Oct. 11.
Solve the
following problems from the book: 4.8, 4.17 (implement the algorithm
and show the results for various cases), 4.18, 4.19, 5.2, 5.6.
 HW3: Assigned: Oct. 18, Due: Nov. 8.
Extend your
implementation from HW 1 to implement a bidirectional RRT algorithm.
Allow the robot to be a chain of line segments, for which the first
link in the chain is attached to a fixed position (but the link can
rotate about that point). Allow the obstacle region to be any
collection of discs of various radii. The discs may overlap. One
component of the assignment is to develop a simple collision detection
module that determines whether the robot is touching any of the discs.
Also, assume each link of the robot is not allowed to touch other links, except
the consecutive links, to which it is attached by a joint. The
configuration space is a ddimensional torus, for a dlink robot. The
user should be able to specify a dlink robot, a collection of
obstacles, an initial configuration and a goal configuration. Your
software should determine a collisionfree path and animate the
solution. You must design some interesting examples to demonstrate
the algorithm. Turn in your code and some printouts of the solutions.
 HW4: Assigned: Nov. 17, Due: Dec. 6.
Solve the
following book problems: 6.2, 6.4, 13.1, 13.2, 14.2(a)
Topics
(estimated number of lectures given):
 Introduction, motivation (1)
Chapter 1
 Discrete planning (2)
Sections 2.1, 2.2
 Continuous planning, samplingbased methods (8)
Sections 3.2, 4.1, 4.2, 4.3.1, 5.15.4, and possibly 7.1, 7.2, 7.6
 Motion planning under differential constraints (6)
Sections 8.3, 13.1, 13.2, 14.114.3
 Planning under uncertainty in predictability (7)
Sections 2.3, 9.29.4, 10.110.4
 Sensors and information spaces (general concepts, sensor models,
minimal information requirements, examples) (6)
Tutorial paper and parts of Chapters 11 and 12.
Textbook:
Readings above are from Planning Algorithms, S. M. LaValle,
Cambridge University Press, 2006. Also available for free download at
http://planning.cs.uiuc.edu/.
Course Mechanics
 Midterm (30%), Final Exam (40%), Homeworks (30%)
 An independent project is required for those registered for four
credit hours.
 Homeworks will be a combination of written and programming
assignments. There are no requirements to use a particular
language for programming assignments. There will be three or
four homework assignments during the semester.