Difference between revisions of "Robot Lab (Spring 2010)"

From GICL Wiki
Jump to: navigation, search
(Course Logistics)
 
(31 intermediate revisions by 2 users not shown)
Line 4: Line 4:
 
==Announcements==
 
==Announcements==
 
* Class will meet weekly, starting March 30th, 2010.
 
* Class will meet weekly, starting March 30th, 2010.
 +
* Here are the slides from class on March 30th, 2011: [[media:RobotLab_2010-2011_Spring_Intro.pdf]]
  
 
==Course Logistics==
 
==Course Logistics==
Line 10: Line 11:
 
Class Time: TR 15:30->17:00<br>
 
Class Time: TR 15:30->17:00<br>
 
Class Location: TBD <br>
 
Class Location: TBD <br>
Office Hours: Rob Lass: TR 5-67PM in the CLC; Dr. Regli: By appointment only.<br>
+
Office Hours: Rob Lass: TR 5-6PM in the CLC; Dr. Regli: By appointment only.<br>
 
Course Instructor: [[William C. Regli]], Ph.D.<br>
 
Course Instructor: [[William C. Regli]], Ph.D.<br>
 
Teaching Assistants: [http://www.cs.drexel.edu/~urlass/ Rob Lass] [[File:Urlass.png]]<br>
 
Teaching Assistants: [http://www.cs.drexel.edu/~urlass/ Rob Lass] [[File:Urlass.png]]<br>
Line 40: Line 41:
 
!width="500"|Links and References
 
!width="500"|Links and References
 
|-
 
|-
|April 1
+
|March 30
 
|
 
|
 
|
 
|
Intro to Robot Lab
+
|[[Media:2009-Introduction_to_Robotics.ppt]]
 
|
 
|
[[Media:2009-Introduction_to_Robotics.ppt]]
+
|-
 +
|April 1
 
|
 
|
 +
|
 +
Intro to Robot Lab
 +
| [[Media:How_to_use_player_stage.ppt]]
 +
|
 
Player/Stage/Gazebo  [http://gicl.cs.drexel.edu/wiki/Robot_Lab(Spring_2009)/Player-Stage-Gazebo Wiki Tutorial],
 
Player/Stage/Gazebo  [http://gicl.cs.drexel.edu/wiki/Robot_Lab(Spring_2009)/Player-Stage-Gazebo Wiki Tutorial],
 
[[Media:Psg-tutorial.ppt]],[[Media:Psg-tutorial.pdf]],[[Media:Psg-config.zip]]
 
[[Media:Psg-tutorial.ppt]],[[Media:Psg-tutorial.pdf]],[[Media:Psg-config.zip]]
 
|-
 
|-
 +
|April 6
 +
|
 
|
 
|
 
|
 
|
|Introduction to Robotics
 
|[[Media:Introduction_to_Robotics.ppt]]
 
 
|
 
|
 
|-
 
|-
 
|April 8
 
|April 8
|[http://gicl.cs.drexel.edu/wiki/Spring2009RobotLabAssignment0 Assignment 0] due
+
|
 
|Simulation
 
|Simulation
 
|[[Media:Simulation_of_Robotic_Systems.ppt]]
 
|[[Media:Simulation_of_Robotic_Systems.ppt]]
 +
|
 +
|-
 +
|April 13
 +
|[[Spring2010RobotLabAssignment1]]
 +
|
 +
|
 
|
 
|
 
|-
 
|-
 
|April 15
 
|April 15
|[http://gicl.cs.drexel.edu/wiki/Spring2009RobotLabAssignment1 Assignment 1] due
+
|
 
|Simulation
 
|Simulation
 
|[[Media:Simulation_of_Robotic_Systems.ppt]]
 
|[[Media:Simulation_of_Robotic_Systems.ppt]]
Line 71: Line 83:
 
[[Media:p5-goldberg-Floating-Point.pdf]] ACM Computing Surveys article on Floating point computation.
 
[[Media:p5-goldberg-Floating-Point.pdf]] ACM Computing Surveys article on Floating point computation.
 
|-
 
|-
|April 22
+
|April 20
 
|
 
|
 +
|
 +
|
 +
|
 +
|-
 +
|April 22
 +
| [[Spring2010RobotLabAssignment2]] '''(the due date has been moved to the <strike>27th</strike> 29th)'''
 
|
 
|
 
|[[Robotics Videos]]
 
|[[Robotics Videos]]
 +
|
 +
|-
 +
|April 27
 +
|
 +
|
 +
|
 
|
 
|
 
|-
 
|-
 
|April 29
 
|April 29
|[http://gicl.cs.drexel.edu/wiki/Spring2009RobotLabAssignment2 Assignment 2] due
+
|
 
|SLAM
 
|SLAM
 
|[[Media:SLAM.ppt]]
 
|[[Media:SLAM.ppt]]
 
|
 
|
 
|-
 
|-
|May 13
+
|May 4
|[http://gicl.cs.drexel.edu/wiki/Spring2009RobotLabAssignment3 Assignment 3] due
+
|
 +
|
 
|
 
|
 
|
 
|
<!--
 
 
|-
 
|-
 
|May 6
 
|May 6
|Robotics Videos Quiz
 
|Playtime with Roombas
 
 
|
 
|
 
|
 
|
 
+
|
-->
+
|
 
|-
 
|-
|May 20
+
|May 11
 +
|
 
|
 
|
|Grading Assignment 2
 
 
|
 
|
 
|
 
|
 
|-
 
|-
|May 27
+
|May 13
|[http://gicl.cs.drexel.edu/wiki/Spring2009RobotLabAssignment4 Assignment 4] due
+
|
|Path Planning
+
|
|[[Media:Robot-Lab-Path-Planning.ppt]]
+
|
 
|
 
|
 
|-
 
|-
|June 3
+
|May 18
 +
|[[Spring2010RobotLabAssignment3]]
 
|
 
|
 
|
 
|
 +
|
 +
|-
 +
|May 20
 +
|
 +
|
 +
|
 +
|
 +
|-
 +
|May 25
 +
|
 +
|
 +
|
 +
|
 +
|-
 +
|May 27
 
|  
 
|  
|  
+
| Going over the final project
 +
|[http://www.cs.drexel.edu/~urlass/27-05-2010.pptx 27-05-2010.pptx]
 +
|
 
|-
 
|-
|June 6
+
|June 1
 
|
 
|
 
|
 
|
 
|
 
|
 
|
 
|
|}
 
<!--
 
 
|-
 
|-
|June 13
+
|June 3
 
|
 
|
 
|
 
|
|Finals Week
+
|  
 +
|
 +
|-
 +
|June 9
 +
| [[Spring2010RobotLabProject]]
 
|
 
|
|}-->
+
|
 +
|
 +
|}
  
 
==Texts==
 
==Texts==
Line 142: Line 186:
 
# David Cook. Robot Building for Beginners. Apress, 2002.
 
# David Cook. Robot Building for Beginners. Apress, 2002.
 
# [http://www.physics.ohio-state.edu/~dws/grouplinks/floating_point_math.pdf What Every Computer Scientist Should Know About Floating-Point Arithmetic]
 
# [http://www.physics.ohio-state.edu/~dws/grouplinks/floating_point_math.pdf What Every Computer Scientist Should Know About Floating-Point Arithmetic]
 +
 +
Player/Stage Documentation:<br>
 +
# [http://playerstage.sourceforge.net/doc/playerstage_instructions_2.0.pdf How to Use Player / Stage]
  
 
==Grading==
 
==Grading==
  
The due dates are listed on the week by week breakdown of the course below.  When an assignment is due on a particular date, that means the assignment is really due that week.  
+
The due dates are listed on the week by week breakdown of the course below.  When an assignment is due on a particular date, that means the assignment is due at midnight on the date in question.
  
 +
Please note that May 7th is the last day you may withdraw from the course.
 +
 +
==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.
  
 
==Software==
 
==Software==
 
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/.
 
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/.
 +
 +
It is recommended that students use Player / Stage on Ubuntu (or an Ubuntu VM) to use when completing their assignments.  The grader will not attempt to recreate the development environment of every student in the class to run their assignments.  Students MUST complete the assignments in Java, unless they get permission from Rob to use a different language '''IN ADVANCE'''.
  
 
==Miscellaneous Resources==
 
==Miscellaneous Resources==
 +
 +
Wiki page for Winter 2009 Robot Lab:
 +
[http://gicl.cs.drexel.edu/wiki/Robot_Lab%28Spring_2009%29]
  
 
Wiki page for Winter 2007 Roomba Lab:
 
Wiki page for Winter 2007 Roomba Lab:

Latest revision as of 21:04, 30 March 2011


Contents

Announcements

Course Logistics

Prerequisites: Permission of instructor.
Class Time: TR 15:30->17:00
Class Location: TBD
Office Hours: Rob Lass: TR 5-6PM in the CLC; Dr. Regli: By appointment only.
Course Instructor: William C. Regli, Ph.D.
Teaching Assistants: Rob Lass Urlass.png
Instructor Contact: Email regli (at) drexel (DOT) edu (not that this will help keep the spammers away)
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” and interact in a synthetic environment. Students will have weekly programming assignments with the Player / Stage / Gazebo environment.

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

Lectures

Date Assignment Topic Summary Notes Links and References
March 30 Media:2009-Introduction_to_Robotics.ppt
April 1

Intro to Robot Lab

Media:How_to_use_player_stage.ppt

Player/Stage/Gazebo Wiki Tutorial, Media:Psg-tutorial.ppt,Media:Psg-tutorial.pdf,Media:Psg-config.zip

April 6
April 8 Simulation Media:Simulation_of_Robotic_Systems.ppt
April 13 Spring2010RobotLabAssignment1
April 15 Simulation Media:Simulation_of_Robotic_Systems.ppt

Media:2009-SLAM-a.ppt Media:2009-Robot-Lab-Path-Planning.ppt

XPM manual

Media:p5-goldberg-Floating-Point.pdf ACM Computing Surveys article on Floating point computation.

April 20
April 22 Spring2010RobotLabAssignment2 (the due date has been moved to the 27th 29th) Robotics Videos
April 27
April 29 SLAM Media:SLAM.ppt
May 4
May 6
May 11
May 13
May 18 Spring2010RobotLabAssignment3
May 20
May 25
May 27 Going over the final project 27-05-2010.pptx
June 1
June 3
June 9 Spring2010RobotLabProject

Texts

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

Grading

The due dates are listed on the week by week breakdown of the course below. When an assignment is due on a particular date, that means the assignment is due at midnight on the date in question.

Please note that May 7th is the last day you may withdraw from the course.

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.

Software

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/.

It is recommended that students use Player / Stage on Ubuntu (or an Ubuntu VM) to use when completing their assignments. The grader will not attempt to recreate the development environment of every student in the class to run their assignments. Students MUST complete the assignments in Java, unless they get permission from Rob to use a different language IN ADVANCE.

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]