15-494 Cognitive Robotics
Spring 2012
Course Links:  Main Lectures Labs Homeworks

Tekkotsu Links:   Wiki Tutorial Resources Bugs CVS
Reference:

Week 1
Mon 1/16 Martin Luther King Day: no class.
Wed 1/18 Goal: Understand what the course is about.
Lecture: Course intro
Videos: XOR demo, Two-Armed Bandit demo, Chiara chess, Chiara piano
Read: C++ for Java programmers, and Seven Big Ideas in Robotics and How To Teach Them
Fri 1/14 Goal: Learn how to run Tekkotsu and interact with the robot.
Read: tutorial on Robot safety
Lab 1: Teleoperation with ControllerGUI; Sensor Observer
Week 2
Mon 1/23 Goal: Learn how robot behaviors are created.
Lecture: State machines
Read: Wiki pages on State machine shorthand, node class definitions, and defining new node classes
Wed 1/25 Goal: Understand the event-based architecture that underlies state machines.
Lecture: Behaviors and events
Read: Tekkotsu and software engineering
Fri 1/27 Goal: Learn how to run and visualize your own behaviors on the robot.
Read: Lab: The Storyboard Tool
Lab 2: Compiling and running code; event logger; Storyboard tool
Week 3
Mon 1/30 Goal: Learn how to use the Pilot to move the robot through the world.
Lecture: Navigating with the Pilot
Read: Navigating with the Tekkotsu Pilot, by Watson & Touretzky (2011)
Optional/supplementary: Wiki pages on Lab: The Pilot and Odometry and Lab: The Pilot and Localization
Wed 2/1 Goal: Learn how to run a simulated robot in a virtual environment.
Lecture: The Mirage Simulation Environment
Read: Tekkotsu and software engineering
Fri 2/3 Goal: Practice using the Mirage simulator and making your own virtual worlds.
Read: Lab: Mirage and Virtual Worlds
Lab 3: Pilot navigation with Mirage; the Mirage WorldBuilder
Week 4
Mon 2/6 Goal: Learn how robots see color, and the basics of robot vision.
Lecture: The Tekkotsu vision pipeline
Wed 2/8 Goal: Learn to use the MapBuilder to detect shapes in a camera image.
Lecture: Dual coding representations and the MapBuilder
Fri 2/10 Goal: Practice using the MapBuilder to solve robot vision problems.
Lab 4: The MapBuilder
Week 5
Mon 2/13 Goals: Understand (1) robot-centered maps and world maps, and (2) ways for state nodes to communicate.
Lecture: Local and world maps, and Advanced state machine programming
Wed 2/15 Goals: Learn about (1) functors and applying tests to shapes, and (2) solving vision problems using sketches.
Lecture: Shape predicates, and Sketches
Read: How qualitative spatial reasoning can improve strategy game AIs, by Forbus, Mahoney, & Dill (2001).
Fri 2/17 Lab 5: Local maps, and sketch operations
Week 6
Mon 2/20 Goal: make the robot execute pre-specified motion sequences.
Read: S. Ullman (1984) Visual routines. Cognition 18:97-157.
Lecture: Postures and motion sequences
Wed 2/22 Goal: examine some ideas in higher level vision.
Lecture: Visual routines
Fri 2/24 Lab 6: Postures and motion sequences
Week 7
Mon 2/27 Goal: Learn how the robot's body is represented as a kinematic tree, and how to use forward kinematics to calculate the positions of end-effectors.
Read: A gentle introduction to homogenous transformations and robot kinematics, by Jennifer Kay.
Video: Denavit-Hartenberg Reference Frame Layout
Lecture: Kinematics
Wed 2/29 Goal: Learn to use inverse kinematics to precisely position the robot's limbs.
Lecture: Continuation of Monday's lecture; same slides.
Video: Tentacle IK and path planning by Jonathan Coens
Fri 3/2 Lab 7: Forward and inverse kinematics
Week 8
Mon 3/5 Midterm exam.
Wed 3/7 Goal: Learn to use Rapidly-exploring Random Trees (RRTs) to plan a path from a start state to a goal state.
Lecture: Path planning
Read: RRT-Connect: an efficient approach to single-query path planning, J. J. Kuffner, Jr., and S. M. LaValle, ICRA, 2000.
Video: Tekkotsu hand/eye system path planning by Glenn Nickens
Fri 3/9 Mid-Semester Break
Week 9
Mon 3/12 Spring Break
Wed 3/14 Spring Break
Fri 3/16 Spring Break
Week 10
Mon 3/19 Lecture: Particle filters
Wed 3/21 Lecture: Object recognition
Fri 3/23 Lab 8: Particle filter, and pushing objects
Week 11
Mon 3/26 Mini-project: Cobots Task (meet in NSH 3206 from now on)
Wed 3/28 Mini-project: Cobots Task
Fri 3/30 Mini-project: Cobots Task
Week 12
Mon 4/2 Mini-project: Cobots Task
Wed 4/4 Mini-project: Cobots Task
Fri 4/6 Mini-project: Cobots Task
Week 13
Mon 4/9 Work on final projects.
Wed 4/11 Work on final projects.
Fri 4/13 Work on final projects.
Week 14
Mon 4/16 Work on final projects.
Wed 4/18 Work on final projects.
Fri 4/20 Spring Carnival: no classes.
National Robotics Week: public demos at the Robotics Institute.
Week 15
Mon 4/23 Work on final projects.
Wed 4/25 Work on final projects.
Fri 4/27 Work on final projects.
Week 16
Mon 4/30 Practice and give feedback on project presentations.
Wed 5/2 Practice and give feedback on project presentations.
Fri 5/4 Public presentation of final projects.