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

Tekkotsu Links:   Wiki Tutorial Resources Bugs CVS
Reference:

Week 1
Mon 1/13 No class.
Wed 1/18 Goal: Understand what the course is about.
Lecture: Course Intro, and C++ for Java programmers
Videos: Chiara chess, Chiara piano
Read: Robotics for Computer Scientists: What's the Big Idea?
Fri 1/15 Goal: Learn how to run Tekkotsu and interact with the robot.
Lab 1: Teleoperation with ControllerGUI; Sensor Observer
Week 2
Mon 1/20 Martin Luther King Day: no class.
Wed 1/22 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
Fri 1/24 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/27 Goal: Understand the event-based architecture that underlies state machines.
Lecture: Behaviors and events
Read: Tekkotsu and software engineering
Wed 1/29 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)
Video: Visual Odometry in Tekkotsu by Josh Belanich
Optional/supplementary: Wiki pages on Lab: The Pilot and Odometry and Lab: The Pilot and Localization
Fri 1/31 Goal: Learn how to use the Pilot to move the robot through the world.
Lab 3: Navigating with the Pilot
Week 4
Mon 2/3 Goal: Learn how robots see color, and the basics of robot vision.
Read: The Mirage simulator and virtual worlds
Lecture: The Tekkotsu vision pipeline
Wed 2/5 Goal: Learn to use the MapBuilder to detect shapes in a camera image.
Lecture: Dual coding representations and the MapBuilder
Fri 2/7 Goal: Practice using the MapBuilder to solve robot vision problems.
Lab 4: The MapBuilder
Week 5
Mon 2/10 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/12 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).
Skim: DualCoding::visops:: documentation.
Fri 2/14 Lab 5: Local maps, and sketch operations
Week 6
Mon 2/17 Goal: understand Ullman's "visual routines" proposal for intermediate-level vision.
Read: S. Ullman (1984) Visual routines. Cognition 18:97-157.
Lecture: Visual routines
Wed 2/19 Goal: learn how to make the robot execute pre-specified motion sequences.
Lecture: Postures and motion sequences
Videos: standlie.mp4, pan_head.mp4, headwag.mp4, fallover.mp4
Fri 2/21 Lab 6: Postures and motion sequences
Week 7
Mon 2/24 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: Introduction to homogenous transformations and robot kinematics, by Jennifer Kay.
Video: Denavit-Hartenberg Reference Frame Layout
Lecture: Kinematics
Wed 2/26 Goal: Learn to use inverse kinematics to precisely position the robot's limbs.
Lecture: Continuation of Monday's lecture; same slides.
Video: Towers of Hanoi by Evan Patton and Michel Brudzinski (uses motion sequences)
Video: Tentacle IK and path planning by Jonathan Coens
Fri 2/28 Lab 7: Forward and inverse kinematics
Week 8
Mon 3/3 Exam review
Wed 3/5 Class: Midterm exam
Fri 3/7 Mid-Semester Break
Week 9
Mon 3/10 Spring Break
Wed 3/12 Spring Break
Fri 3/14 Spring Break
Week 10
Mon 3/17 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.
Animation: RRT Tree Growth Animation
Video: Tekkotsu hand/eye system path planning by Glenn Nickens
Wed 3/19 Lecture: Particle filters
Fri 3/21 Lab 8: Using the Grasper and the Calliope2SP Robot Video: Playing Fetch with the Calliope2SP Robot, by Henry Williams
Week 11
Mon 3/24 Lecture: Object recognition Reading: Playing Tic-Tac-Toe with Tekkotsu: The Development of the Grasper, Glenn V. Nickens, MS thesis, Norfolk State University.
Wed 3/26 Lecture: Manipulation with friction
Demo: PID Simulation spreadsheet
Fri 3/28 Various exercises moving toward final projects.
Week 12
Mon 3/31 Mini-project
Wed 4/2 Mini-project
Fri 4/4 Mini-project
Week 13
Mon 4/7 Work on final projects
Wed 4/9 Work on final projects
Fri 4/11 No class: Spring Carnival
Week 14
Mon 4/14 Work on final projects
Wed 4/16 Work on final projects
Fri 4/18 Work on final projects
Week 15
Mon 4/21 Work on final projects
Wed 4/23 Work on final projects
Fri 4/25 Work on final projects
Week 16
Mon 4/28 Practice demonstrations
Wed 4/30 Practice demonstrations
Fri 5/2 Public demos of final projects