Robot Lab (Spring 2011)
- Prerequisites: Permission of instructor.
- Class Time: W 18:00-21:00
- Class Location: Korman 103B
- Teaching Assistants: Dustin Ingram (firstname.lastname@example.org) & Aaron Rosenfeld (email@example.com)
- Course Instructor: William C. Regli, Ph.D. (firstname.lastname@example.org)
- Phone 215.895.6827; Office: UC 143
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
- understand the basic concepts of robotics (from a computer-science point of view), including kinematics, dynamics, actuators, controllers, etc;
- design experiments for robotic platforms;
- gain experience with biologically-inspired robotics techniques (swarming, biologically inspired design, etc)
- implement robot control algorithms, both open loop and closed loop
- Design robot modeling & simulation experiments
- Develop path planning techniques and Simultaneous Location & Mapping (SLAM) algorithms
- Work with Robot Teaming and Planning, including flocks, swarms, leader-follower, predator-prey, etc
- 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)|
|April 6||Intro to Robotics||Introduction to Robotics (PPT)|
|April 13||Assignment 1||Path Planning & Computational Geometry||Robot Path Planning (PPT)||Distributed Algorithms for Art Gallery Problems (PDF)|
|April 20||Simulation, Collision Detection||Simulation of Robotic Systems (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 9 (UPDATED)||Assignment 5|
Relevant texts and readings:
- Intelligence without Representation, Rodney Brooks.
- Flesh and Machines: How Robots Will Change Us (Paperback) by Rodney Brooks, Publisher: Vintage (February 4, 2003); ISBN-10: 037572527X.
- Introduction to the Kalman Filter from UNC.
- SLAM for Dummies
- J.J. Craig. Introduction to Robotics: Mechanics and Control. Prentice Hall; 3rd edition, 2003.
- Kiyoshi Toko. Biomimetic Sensor Technology. Cambridge University Press, 2000.
- Karl Williams. Amphibionics: Build Your Own Biologically Inspired Reptilian Robot. McGraw-Hill/TAB Electronics, 2003.
- David Cook. Robot Building for Beginners. Apress, 2002.
- What Every Computer Scientist Should Know About Floating-Point Arithmetic
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 http://lmgtfy.com.
Wiki page for Winter 2009 Robot Lab: 
Wiki page for Winter 2007 Roomba Lab: 
Page from Spring 2007 Robotics Lab: 
iRobot Create Forums: 
Robotics Primer Workbook based around the Create