Cognitive Robotics Schedule
Spring 2019
Date Lecture Office Hours Project/Assignment Hand-in
Week 1 Mon 1/14 Course overview and introduction to Cozmo. Reading: Ten Big Ideas in Robotics
Wed 1/16 Robot software architecture and Python control structure. Read the slides from Beazley's 2009 coroutines lecture. Somehwat dated but still really good.
Fri 1/18 Lab 1: Meet Cozmo!
Week 2 Mon 1/21 Dr. Martin Luther King Holiday. No classes today.
Wed 1/23 Finite state machines.
Fri 1/25 Lab 2: Odometry Finish Lab 2 for homework.
Week 3 Mon 1/28 More state machines. Intro to particle filters. Try out particle_filter_demo and pfdemo.py.
Wed 1/30 Particle filters. No class today; watch the video instead. If you would like to learn more, see these excellent lectures on probabilistic robotics. Can Cozmo do this?
Fri 2/1 Lab 3: Particle filters. Finish Lab 3 for homework. Lab 2 due.
Week 4 Mon 2/4 Lecture: Kinematics.
Videos: Denavit-Hartenberg conventions, Towers of Hanoi, 3-dof arm IK, high-dof tentacle IK, tentacle manipulation
Resource: numpy quick start.
Read: Introduction to homogenous transformations and robot kinematics, by Jennifer Kay.
Watch: Denavit-Hartenberg Conventions
Wed 2/6 The world map. Visualizing quaternions video series.
Play with quaternions.online (click to begin).
Fri 2/8 Lab 4: Kinematics. Finish Lab 4 for homework. Lab 3 due.
Week 5 Mon 2/11 More kinematics, world maps, and SLAM
Videos: Robot Navigation Using SLAM by Ibrahim Musba. SLAM A 00 by Claus Brenner.
Wed 2/13 Path planning algorithms.
RRT Animation Gallery.
Videos: A* Search, Tekkotsu hand/eye planner
Intro to OpenCV. Demo: CircleWatcher.py
Browse OpenCV Python Tutorials, specifically on contours.
Fri 2/15 Lab 5: Cozmo's path planner, and intro to SLAM. Finish Lab 5 for homework. Lab 4 due.
Week 6 Mon 2/18 OpenCV part 2. Shape matching. Watershed algorithm (more info).
Files: water_coins.jpg, watershed.py.
Matplotlib. Examples: PlotDrive.fsm, PlotDrive.py; and Histogram.fsm Histogram.py
Matplotlib usage. Matplotlib tutorial info.
Wed 2/20 Speech generation and recognition. Demo: Speech1.fsm.
Winograd's SHRDLU system, and a modern version.
Read about SHRDLU.
Review regular expressions in Python.
Fri 2/22 Lab 6: RRTs, and color class learning. Finish Lab 6 for homework.
Week 7 Mon 2/25 Backpropagation learning.
Demos: linfit.py, approxfn .py, approxfn2 .py, approxfn3 .py, mnist1 .py
Wed 2/27 Convolutional networks.
Demos: mnist1.py, mnist2.py, mnist3.py
Read the demo source code.
Fri 3/1 Lab 7: PyTorch and Neural Networks.
Week 8 Mon 3/4 Code Lab. Try out Scratch 3.0.
Wed 3/6 Calypso for Cozmo. Watch Calypso videos: intro, and keep-away tutorial. Have a look at the Calypso Curriculum. Then read Computational thinking and mental models: from Kodu to Calypso.
Fri 3/8 Mid-semester break. No class/lab.
Week 9 Mon 3/11 Spring break: no class.
Wed 3/13 Spring break: no class.
Fri 3/15 Spring break: no class.
Week 10 Mon 3/18 Machine learning in Python: scikit-learn.
Demo: emdemo.py
Demo: RGBClusterer.fsm, RGBClusterer.py
Wed 3/20 Manipulation, with videos.
Fri 3/22 Lab 8: using the GPU with Cozmo.
Week 11 Mon 3/25 Lab 9: auto-encoder networks.
Wed 3/27 Lab 10: cube auto-encoder.
Fri 3/29 Continuation of Lab 8. Lab 8 due.
Week 12 Mon 4/1 Continuation of labs 8 and 10. Lab closed from 6pm Mon. until 1pm Wed.
Wed 4/3 Lab
Fri 4/5 Lab 12: Cozmo's Magic Dream House Finish Lab 10.
Week 13 Mon 4/8 Discussion of Final Project Ideas.
Wed 4/10 Work on final projects.
Fri 4/12 No lab: Spring Carnival.
Week 14 Mon 4/15 Work on final projects. Lab 13 due
Wed 4/17 Work on final projects.
Fri 4/19 Work on final projects.
Week 15 Mon 4/22 Work on final projects.
Wed 4/24 Work on final projects.
Fri 4/26 Work on final projects.
Week 16 Mon 4/29 Work on final projects.
Wed 5/1 Work on final projects.
Fri 5/3 Public demo of your projects. Final project hand-in due by Friday May 10.