Autonomous Multirobot Systems Course
Contents
- 1 Autonomous Multirobot Systems 2015
- 1.1 Important Announcements
- 1.2 Course Overview
- 1.3 Who the Course is For
- 1.4 Student Responsibilities
- 1.5 Course Logistics
- 1.6 Research Presentations
- 1.7 Grading
- 1.8 Plagiarism
- 1.9 Week 1
- 1.10 Week 2
- 1.11 Week 3
- 1.12 Week 4
- 1.13 Week 5
- 1.14 Week 6
- 1.15 Week 7
- 1.16 Week 8
- 1.17 Week 9
- 1.18 Week 10
- 1.19 Spring Break
- 1.20 Week 11
- 1.21 Week 12
- 1.22 Week 13
- 1.23 Week 14
- 1.24 Week 15
- 1.25 Finals Week
Autonomous Multirobot Systems 2015
Important Announcements
New:
- Be sure to bring laptop to class
- Please sign up with piazza for this course: [piazza.com]
- Project 1A description 2015_Project_1A due Friday January 23 at 11:55PM
- Project 1B description 2015_Project_1B due Friday February 6 at 11:55PM
Course Overview
We will survey the inspiration and motivation for multirobot systems, the unique challenges in this field and the wide range of solutions developed thus far. Students will learn about the theoretical and algorithmic aspects of multi-agent and multi-robot systems, including communication, coordination and cooperation. This is a "hands-on" class requiring the students to develop and evaluate their own simulated multirobot system. Autonomous MultiRobot Systems is a graduate course, but undergraduate students with strong programming skills and a background in robotics or AI are welcome.
Topics to be covered:
- Multiagent architectures.
- Communication, cooperation and coordination in mulitrobot systems.
- Diversity.
- Taxonomies of multirobot systems and tasks.
- Adversarial domains including robot soccer.
- Example biological multiagent systems.
- Multirobot learning.
Who the Course is For
The course is open to and intended for graduate and upper level undergraduate students in Computer Science and Engineering
Prerequisites: Students should have strong programming skills and some familiarity with Linux. Here's a short test to check if you have strong programming skills: quiz. If you don't do well on that quiz, you should either drop the course, or be sure to plan so that you can devote extra time to the course.
Student Responsibilities
- Read the emails sent to the course email list. Check at least daily.
- Participate in class and via the piazza site.
- Don't plagiarize.
Course Logistics
- Instructor: Associate Professor Tucker Balch
- Office hours: Tu/Th 1:30-2:30 (after class) or by appointment
- firstname at cc.gatech.edu
- phone 678-523-8685
- TA for Python issues:
- Arindam Bose,
- Office hours: 1.30-3.30 Tuesday outside class.
- TA for C and other issues:
- Jayita Bhattacharya
- Office hours: Wednesday 4:00-5:00 at CCB commons
Research Presentations
Visit this page for details on the research presentation component of this course: Multirobotics Course Research Presentations
Grading
- 70%: Projects
- 10%: Project 1: Drunken Sailor
- 10%: Project 2: ASCII Soccer
- 10%: Project 3: Herds and flocks
- 10%: Project 4: Predator / Prey
- 30%: Final Project
- 20%: Presentations
- 15% Best one
- 5% Other one
- 10%: Class participation/pop quizzes
- Drop worst 2
Late policy: -5% per day late
Plagiarism
Unless specifically stated otherwise I expect all code that you submit was written by you. I will present some libraries in class that you are allowed to use. Otherwise, all source code, images and write ups you provide should have been created by you alone.
What is allowed:
- Meeting with other students to discuss implementations. You should talk about solutions at the pseudo code level.
- Sharing snippets of code to solve specific (small) problems such as examples of how to address sections of arrays in Python. In this case the shared code should not be more than 5 lines.
- Searching the web for other solution outlines that you may draw on (but not copy directly). If you are inspired by a solution on the web, you MUST cite that code with comments in your code.
What is not allowed:
- Copying sections of code longer than 5 lines. Note that merely changing variable names does not suffice.
- Copying code from the web.
- Use of ideas from the web that are not cited in comments.
Week 1
Tuesday, 6 January, 2015
Course overview and intro
Definition of autonomy (NASA Video)
Example of multi agent coordination (Harvard Video)
Drunken Sailor description
Thursday 8 January 2015
Intro and discussion of ASCII Soccer
How does sensing affect necessity for diversity?
Week 2
Tuesday, 13 January, 2015
Introduction to the deliberative/reactive dichotomy
AI winter
Gray Walter
First intro to reactive robotics
Thursday 15 January
Class cancelled
Week 3
Tuesday 20 Jan
Overview and discussion of sailor project (no memory)
Bug algorithms: [by Howie Choset]
Thursday 22 Jan
Overview and discussion of sailor project (memory)
Build a map
Week 4
Tuesday 27 Jan
Lecture by Brian Hrolenok.
Slides here
Slides on Reynold's Boids here
Thursday 29 Jan
Motor Schema Based Navigation (Arkin)
See especially section 4: AuRA: Principles and Practice in Review
Week 5
Tuesday 3 Feb
Motor Schemas Case Study: See Chapter 6 Balch Thesis
Motor Schema Formulations: See Appendix Balch Thesis
Thursday 5 Feb
Reinforcement Learning: Section 1, 3.1, 4.2, 5.2 Kaelbling Littman Moore
Week 6
Tuesday 10 Feb
Balch presents example presentation
Topic 2
Thursday 12 Feb
Arindam presents Python framework
Topic 2
Week 7
Tuesday 17 Feb
Team 1: Robot Soccer +5
Team 2: Flocking, Herding Swarming +5
Thursday 19 Feb
Team 6: Ant Navigation & Stigmergy +5
Team 10: Honeybee Communication +5
Week 8
Tuesday 24 Feb
Team 9: Robot Formation Control
Team 3: Self Assembly and Modular Robotics
Thursday 26 Feb
Team 3: Self Assembly and Modular Robotics 1
Team 4: Self Assembly and Modular Robotics 2
Friday 27 Feb
Drop day
Week 9
Tuesday 3 March
Team 11: Path planning for robot teams: Cooperative/Deliberative
Team 8: Optimal Task Allocation
Thursday 5 March
Team 7: Multi-robot team learning
Team 5: Coordinated control for sensing
Week 10
Tuesday 10 March
Topic 1
Topic 2
Thursday 12 March
Topic 1
Topic 2
Spring Break
Monday 16 March - Friday 20 March
Week 11
Tuesday 24 March
Topic 1
Topic 2
Thursday 26 March
Topic 1
Topic 2
Week 12
Tuesday 31 March
Topic 1
Topic 2
Thursday 2 April
Topic 1
Topic 2
Week 13
Tuesday 7 April
Topic 1
Topic 2
Thursday 9 April
Topic 1
Topic 2
Week 14
Tuesday 14 April
Topic 1
Topic 2
Thursday 16 April
Topic 1
Topic 2
Week 15
Tuesday 21 April
Topic 1
Topic 2
Thursday 23 April
Topic 1
Topic 2
Finals Week
27 April - 1 May