Department of Computer Science
College of Arts and Sciences
The University of North Carolina at Chapel Hill
COMP 790-058:
Multi-Agent Simulation for Crowds and Autonomous Driving
- Time and Place: T 11:00-1:30pm, Room: SN115
- Prerequisites: Undergraduate Algorithms Course, Some Background in Geometry OR Instructor's approval
- Textbook: Course Notes and In-Class Handouts
COURSE OVERVIEW:
Multi-agent systems are widely studied in different fields including robotics,
AI, computer graphics and autonomous driving. In this course, we will cover
the fundamentals of multi-agent simulation, mostly focusing on issues
related to motion, behavior and navigation. The course will focus on three
major applications: pedestrian and crowd simulation, real world pedestrian movement and analysis, and autonomous driving simulation.
- Path Planning for Autonomous Agents
- Multi-agent simulation
- Crowd Simulation
- Autonomous Driving Simulation
- Pedestrian Tracking and Behaviors
The course will consist of lectures by the instructors on the fundamental concepts in the areas, student lectures on selected topics of interests, and special guest lectures on recent research or work in progress. The goal of this class is to get students an appreciation of computational methods for motion planning and multi-agent simulation. 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, their complexity and implementation. Depending on the interests of the students, we may cover topics of interests in related areas. The course will include coverage of some software systems that are widely used to implement different motion planning and multi-agent
simulation algorithms.

LECTURE TOPICS
Here is a list of lecture topics (subject to change). Schedule and information on each topic (e.g. readings, web pointers) will be added during the semester before each class.
- August 22, 2017:
Course Introduction and Overview (Andrew and Sahil and Dinesh)
- August 29, 2017:
Graph Searches and Path Planning (Dinesh)
- Sep. 05, 2017:
Global Navigation (Dinesh)
- Sep. 12, 2017:
Local Navigation I;
Local Navigation II
(Dinesh)
- Sep. 19, 2017: PRM, Menge and Homework 1 (Sahil)
- Sep. 26, 2017: Autonomous Driving: Overview (Sahil)
- Oct. 03, 2017: Autonomous Driving: Planning and Control (Andrew and Sahil)
- Oct. 10, 2017: Project Proposals
- Oct. 17, 2017: Path Prediction and Anomaly Detection (Aniket)
- Oct. 24, 2017: Autonomous Driving: Control, Prediction, Traffic Sim (Andrew and Sahil)
- Oct. 31: Student lectures
- Nov. 07: Student Lectures
- Nov. 14: Project Update
- Nov. 21: Student Lectures
- Nov. 28: Student Lectures
- Dec. 05: Course Wrapup
Here is a list of the student lectures.

ASSIGNMENTS AND PROJECTS
The class grade of each student is determined by
- Homeworks and Programming Assignments (30%)
- Class Presentation and Participation (20%)
- Final Project (50%)
ASSIGNMENTS

STUDENT COURSE PROJECTS
STUDENT PROJECTS (FALL 2017)
STUDENT PROJECTS (FALL 2013)
STUDENT PROJECTS (FALL 2007)
PAST STUDENT PROJECTS (FALL 2005)
COURSE READING MATERIALS
Reference Papers Used in Lectures:
AIBO Capabilities
DARPA Grand Challenge
Motion Planning Research at UNC
The GAMMA group at UNC has implemented several distinct motion planning systems:
INTERESTING LINKS
GEOMETRIC ALGORITHMS AND SOFTWARES AVAILABLE ON THE WEB:
Here are just some possible locations to find geometric software/libraries and algorithmic toolkits you may need:
ADDITIONAL REFERENCE MATERIALS
Reference Books in Robotics:
- Robot Motion Planning, by Jean-Claude Latombe, Kluwer Academic Publishers, 1991.
- Robot Manipulators: Mathematics, Programming, and Control, by R. P. Paul, MIT Press, 1981.
- Principles of Robot Motion : Theory, Algorithms, and Implementations , by Howie Choset, Kevin M. Lynch, Seth Hutchinson, George Kantor, Wolfram Burgard, Lydia E. Kavraki, and Sebastian Thrun.
Reference Books in Computer Animation:
- Making Them Move: Mechanics, Control and Animation of Articulated Figures, by Badler, Barsky and Zelter, Morgan Kaufmann Publishers, 1991.
- Advanced Animation and Rendering Techniques: Theory and Practice, by A. Watt and M. Watt, 1992.
- Computer Animation: Algorithms and Techniques, by Rick Parent, 1999.
Reference Books in Geometry:
- Computational Geometry (Algorithms and Applications), by de Berg, van Kreveld, Overmars and Schwarzkofp, Springer-Verlag, 1997.
- Computational Geometry In C (Second Edition), by O'Rourke, Cambridge University Press, 1998.
- Handbook on Discrete and Computational Geometry, by Goodman and O'Rourke (eds), CRC Press LLC, 1997.
- Applied Computational Geometry: Toward Geometric Engineering, by Lin and Manocha (eds), Springer-Verlag, 1996.
- Algorithms in Combinatorial Geometry, by Edelsbrunner, Springer-Verlag, 1987.
- Computational Geometry (An Introduction), by Preparata and Shamos, Springer-Verlag, 1985.
Reference Books in Mechanics:
- Concepts and Applications of Finite Element Analysis, by R. D. Cook, D. S. Malkus and M. E. Plesha, John Wiley & Sons, 1989.
- Finite Element Procedures, by K.-J. Bathe, Prentice Hall, 1996.
- First Course in Continuum Mechanics, by Y.C. Fung, Prentice Hall, 1993.
Reference Books in Numerical Methods:

For more information, contact Dinesh Manocha, dm@cs.unc.edu,
Copyright 2013. 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.