Robot Lab (Spring 2011)

From GICL Wiki
Revision as of 14:00, 19 May 2011 by Dsi23 (Talk | contribs)

Jump to: navigation, search


Course Logistics

Course Objectives and Outcomes

Design, analysis and implementation of multi-robot systems in simulation Robotic systems will be âvirtualâualâ

At the end of the course, students will

  1. understand the basic concepts of robotics (from a computer-science point of view), including kinematics, dynamics, actuators, controllers, etc;
  2. design experiments for robotic platforms;
  3. gain experience with biologically-inspired robotics techniques (swarming, biologically inspired design, etc)
  4. implement robot control algorithms, both open loop and closed loop
  5. Design robot modeling & simulation experiments
  6. Develop path planning techniques and Simultaneous Location & Mapping (SLAM) algorithms
  7. Work with Robot Teaming and Planning, including flocks, swarms, leader-follower, predator-prey, etc
  8. Have an introduction to human-Robot Teaming


Date Assn. Due (11:59pm) Topic Summary Notes Links and References
March 30 Intro to Player/Stage Robot Lab Spring Intro (PDF)

Player/Stage/Gazebo Tutorial, PSG Tutorial (PPT), PSG Tutorial (PDF), PSG Configuration (ZIP)

April 6 Intro to Robotics Introduction to Robotics (PPT)
April 13 Assignment 1 Path Planning & Computational Geometry Robot Path Planning (PPT)

Introduction to Computational Geometry (PPT)

Distributed Algorithms for Art Gallery Problems (PDF)
April 20 Simulation, Collision Detection Simulation of Robotic Systems (PPT)

Simultaneous Localization and Mapping (PPT)

Path Planning (PPT)

XPM Manual, ACM Computing Surveys Article on Floating-Point Arithmetic.
April 27 Assignment 2
May 4 Computer Vision Computer Vision Overview for Robotics (PDF)
May 11 Assignment 3 Robot Group Behaviors & Teams Robotic Group Behaviors (PDF)
May 18 Guest Lecture: Predator/Prey Algorithms Predator / Prey (PDF) Hungarian Algorithm, Distributed Stochastic Search
May 25 Assignment 4
June 1
June 8 Assignment 5


Relevant texts and readings:

  1. Intelligence without Representation, Rodney Brooks.
  2. Flesh and Machines: How Robots Will Change Us (Paperback) by Rodney Brooks, Publisher: Vintage (February 4, 2003); ISBN-10: 037572527X.
  3. Introduction to the Kalman Filter from UNC.
  4. SLAM for Dummies
  5. J.J. Craig. Introduction to Robotics: Mechanics and Control. Prentice Hall; 3rd edition, 2003.
  6. Kiyoshi Toko. Biomimetic Sensor Technology. Cambridge University Press, 2000.
  7. Karl Williams. Amphibionics: Build Your Own Biologically Inspired Reptilian Robot. McGraw-Hill/TAB Electronics, 2003.
  8. David Cook. Robot Building for Beginners. Apress, 2002.
  9. What Every Computer Scientist Should Know About Floating-Point Arithmetic

Player/Stage Documentation:

  1. How to Use Player / Stage

Assignments & Grading

Assignments are due by 11:59pm on the days listed above. The submission method (BbVista or e-mail) will be announced shortly.

Students should use officially supported languages --- C/C++ or Python --- to complete all assignments. Submissions must include a video of all portions of the assignment in addition to code.

Ways to Fail This Class

To assist students interested in spending the term working toward earning an F in this class, here are some ways to earn your F more quickly: (1) ignore all of the programming assignments by not handing them in or by handing in projects that do not run, in an effort to get partial credit; (2) fail to hand in more than 50% of the homeworks; (3) miss any one exam or obtain less than 25% on all of the exams (does not apply to Robot Lab); (4) falsify any results; (5) mis-represent another's work as your own (i.e., plagiarism) or violate the course Discussion and Collaboration Policy. There will be no warnings.

Discussion and Collaboration Policy

All students should be familiar with the University's policies on academic dishonesty. Any incidents of academic dishonesty will be dealt with harshly, resulting in review by the University Honor Board with the student subject to possible academic suspension or expulsion. While I encourage students to collaborate, all homework, proofs, and code submitted as part of assignments must be the student's own.


This class will be nearly entirely executed in simulation using Play/Stage/Gazebo. Students not comfortable with software development, hacking, and programming will find this course difficult, if not impossible. We will not be providing remedial programming or operating systems tutorials in this course. All information needed to execute the assignments is available (or will be made available) on the web, either at the course wiki page or using services like

Miscellaneous Resources

Wiki page for Winter 2009 Robot Lab: [1]

Wiki page for Winter 2007 Roomba Lab: [2]

Page from Spring 2007 Robotics Lab: [3]

iRobot Create Forums: [4]

Robotics Primer Workbook based around the Create [5]