Actions

Robotics Class 2011: Difference between revisions

From HacDC Wiki

No edit summary
mNo edit summary
 
(31 intermediate revisions by the same user not shown)
Line 1: Line 1:
This is the class page for the 2011 Robotics Class going on over the summer at http://hacdc.org.
This is the class page for the summer of 2011 Robotics Class at http://hacdc.org.  There is a HacDC robotics [https://groups.google.com/a/hacdc.org/group/Robotics/topics?lnk mailing list].


'''WORK IN PROGRESS'''


'''''Course cost:'''''
[[Image: Hacdc_robotics_2011_floating_faces.png | 800 px]]


The 2011 Robotics Class will require a $25 donation per class.  Do not bring cash to class, instead bring a printed (or electronic) copy of a Paypal eCheck payment clear notice that proves you have donated to HacDC for the interval leading up to the next class.  If you are a member, bring your monthly Paypal payment cleared email.  [http://www.hacdc.org/donate Donations can be made through the normal HacDC donation method].  You will not be admitted to the class without proof of an up to date donation.  Also, do not pay for all classes up front with a $150 donation because I may be unable to teach all six planned classes due to schedule conflicts or work load (at my day job).  I am hoping to be able to teach six classes, however.


'''''Course prerequisites:'''''
'''''Course prerequisites:'''''
Line 13: Line 11:
Basic linux knowledge (operating from the unix command line).  Ubuntu 10.04 LTS will be used for this class.
Basic linux knowledge (operating from the unix command line).  Ubuntu 10.04 LTS will be used for this class.


Laptop with [http://www.virtualbox.org/ VirtualBox] installed, capable of running a 30GB disk image that requires 1 GB of RAM.
A native [http://www.ros.org/wiki/electric/Installation/Ubuntu Electric ROS installation] on your computer.
 
''VirtualBox note: It appears that trying to use the gazebo simulator with VirtualBox is problematic.  For this reason we suggest that if you are trying to do the homeworks on your own that you use a native installation of Ubuntu on your machine.  There are numerous ways of installing Ubuntu, including onto a separate partition, or even on an external USB disk.''
 
 
'''''Registering:'''''
 
The class is now over, but the homeworks are freely viewable and should be self explanatory.
 


'''''Course syllabus:'''''
'''''Course syllabus:'''''


Class 1 (June 4, 2011 '''10:30am - 12:30pm''')
Class 1 (June 4, 2011 '''10:30am - 12:30pm''')
Introduction to [http://www.ros.org ROS] and the robot we will be using for the class.  Assignment will involve interpreting robot sensor state and computing a robot "mood metric".
Introduction to [http://www.ros.org ROS] and the robot we will be using for the class.  Assignment will involve interpreting robot sensor state and developing a robot "mood metric". [http://wiki.hacdc.org/index.php/Robotics_Class_2011/Assignment_1 More information regarding Assignment 1 "Endowing a robot with emotions"]
 


Class 2 (June 18, 2011 '''10:30am - 12:30pm''')
Class 2 (June 18, 2011 '''10:30am - 12:30pm''')
Introduction to computer vision and face detection using [http://www.ros.org/wiki/vision_opencv vision_opencv].  Assignment will involve processing image data and using the OpenCV toolkit to do face detection (the routine is already provided in OpenCV).
Introduction to computer vision and face detection using [http://www.ros.org/wiki/vision_opencv vision_opencv].  Assignment will involve processing image data and using the OpenCV toolkit to do face detection (the routine is already provided in OpenCV). [http://wiki.hacdc.org/index.php/Robotics_Class_2011/Assignment_2 More information regarding Assignment 2 "Detecting Faces"]
 


Class 3 (July 2, 2011 '''10:30am - 12:30pm''')
Class 3 (July 2, 2011 '''10:30am - 12:30pm''')
Introduction to moving the robot base.  The assignment will continue the face detection of the previous class, we will move the robot to track a face, both rotating the base to keep a constant face position, and moving the base forward and backward to keep a constant face scale.
Introduction to moving the robot base.  The assignment will continue the face detection of the previous class, we will move the robot to track a face, both rotating the base to keep a constant face position, and moving the base forward and backward to keep a constant face scale. [http://wiki.hacdc.org/index.php/Robotics_Class_2011/Assignment_3 More information regarding Assignment 3 "Tracking CLUs on the Grid"]
 


Class 4 (July 16, 2011 '''10:30am - 12:30pm''')
Class 4 (July 16, 2011 '''10:30am - 12:30pm''')
Using the [http://www.ros.org/wiki/smach smach] executive to write robot state machines.  Assignment will involve writing a "greeting action state machine".
Using the [http://www.ros.org/wiki/smach smach] executive to write robot state machines.  Assignment will involve writing a state machine that allows the robot to [http://www.ros.org/wiki/navigation navigate] through the secret HacDC warehouse and investigate the recent claims of paranormal activity. [http://wiki.hacdc.org/index.php/Robotics_Class_2011/Assignment_4 More information regarding Assignment 4 "Paranormal Activities in the HacDC Antiquities Warehouse"]
 


Class 5 (August 6, 2011 '''10:30am - 12:30pm''')
Class 5 (August 6, 2011 '''10:30am - 12:30pm''')
Introduction to stereo vision and point clouds.  Visualizing 3D point cloud data using [http://www.ros.org/wiki/rviz rviz].  Using [http://www.ros.org/wiki/tf tf] to transform point clouds into the robot base frame. Assignment will involve trying to find the floor in the point cloud.
'''Field Trip!'''  Members of the 2011 HacDC robotics class went to visit [http://www.seas.gwu.edu/~drum/ Dr. Evan Drumwright] and the [http://www.willowgarage.com/pages/pr2/overview PR2] at GWU.
 
[[Image: Hacdc-gw-trip.JPG | 500 px]]
 


Class 6 (August 20, 2011 '''10:30am - 12:30pm''')
Class 6 (August 20, 2011 '''10:30am - 12:30pm''')
Undecided
Introduction to point clouds.  Visualizing 3D point cloud data using [http://www.ros.org/wiki/rviz rviz].  Using [http://www.ros.org/wiki/tf tf] to transform point clouds into the robot base frame.  Also, we'll have open question time where questions can be asked on any previous homework assignments and questions about how the homeworks were set up, for example the robot description for the simulation.  Anything goes!
 


'''''Course Links:'''''
'''''Course Links:'''''
Line 39: Line 53:
The iRobot Open Interface Document will be useful for the class:
The iRobot Open Interface Document will be useful for the class:
[http://www.irobot.com/hrd_right_rail/create_rr/create_fam/createFam_rr_manuals.html iRobot Create Manuals]
[http://www.irobot.com/hrd_right_rail/create_rr/create_fam/createFam_rr_manuals.html iRobot Create Manuals]
The HacDC ROS repository will also be useful:
[http://code.google.com/p/hacdc-ros-pkg/source/checkout HacDC ROS Repository]
An excellent article on PID control:
[http://www.eetimes.com/ContentEETimes/Documents/Embedded.com/2000/f-wescot.pdf T. Wescott, "PID Without a PhD"]
An excellent book on planning algorithms:
[http://planning.cs.uiuc.edu S. LaValle, Planning Algorithms]
A standard text on probabilistic robotics:
[http://www.probabilistic-robotics.org/ S. Thrun, W. Burgard, D. Fox, Probabilistic Robotics]


[[Category:Classes]]
[[Category:Classes]]

Latest revision as of 04:06, 17 April 2012

This is the class page for the summer of 2011 Robotics Class at http://hacdc.org. There is a HacDC robotics mailing list.


Hacdc robotics 2011 floating faces.png


Course prerequisites:

Basic knowledge of python programming

Basic linux knowledge (operating from the unix command line). Ubuntu 10.04 LTS will be used for this class.

A native Electric ROS installation on your computer.

VirtualBox note: It appears that trying to use the gazebo simulator with VirtualBox is problematic. For this reason we suggest that if you are trying to do the homeworks on your own that you use a native installation of Ubuntu on your machine. There are numerous ways of installing Ubuntu, including onto a separate partition, or even on an external USB disk.


Registering:

The class is now over, but the homeworks are freely viewable and should be self explanatory.


Course syllabus:

Class 1 (June 4, 2011 10:30am - 12:30pm) Introduction to ROS and the robot we will be using for the class. Assignment will involve interpreting robot sensor state and developing a robot "mood metric". More information regarding Assignment 1 "Endowing a robot with emotions"


Class 2 (June 18, 2011 10:30am - 12:30pm) Introduction to computer vision and face detection using vision_opencv. Assignment will involve processing image data and using the OpenCV toolkit to do face detection (the routine is already provided in OpenCV). More information regarding Assignment 2 "Detecting Faces"


Class 3 (July 2, 2011 10:30am - 12:30pm) Introduction to moving the robot base. The assignment will continue the face detection of the previous class, we will move the robot to track a face, both rotating the base to keep a constant face position, and moving the base forward and backward to keep a constant face scale. More information regarding Assignment 3 "Tracking CLUs on the Grid"


Class 4 (July 16, 2011 10:30am - 12:30pm) Using the smach executive to write robot state machines. Assignment will involve writing a state machine that allows the robot to navigate through the secret HacDC warehouse and investigate the recent claims of paranormal activity. More information regarding Assignment 4 "Paranormal Activities in the HacDC Antiquities Warehouse"


Class 5 (August 6, 2011 10:30am - 12:30pm) Field Trip! Members of the 2011 HacDC robotics class went to visit Dr. Evan Drumwright and the PR2 at GWU.

Hacdc-gw-trip.JPG


Class 6 (August 20, 2011 10:30am - 12:30pm) Introduction to point clouds. Visualizing 3D point cloud data using rviz. Using tf to transform point clouds into the robot base frame. Also, we'll have open question time where questions can be asked on any previous homework assignments and questions about how the homeworks were set up, for example the robot description for the simulation. Anything goes!


Course Links:

The iRobot Open Interface Document will be useful for the class: iRobot Create Manuals

The HacDC ROS repository will also be useful: HacDC ROS Repository

An excellent article on PID control: T. Wescott, "PID Without a PhD"

An excellent book on planning algorithms: S. LaValle, Planning Algorithms

A standard text on probabilistic robotics: S. Thrun, W. Burgard, D. Fox, Probabilistic Robotics