Readings followed by (S) are supplemental. You should read them, but you won't be tested on that material.

Readings labeled "GIR" are from A Gentle Introduction to ROS. Jason M. O'Kane. 2014.

Readings labeled "PRR" are from Programming Robots with ROS . Morgan Quigley, Brian Gerkey, William D. Smart. 2015.

WEEK DATE
READING OUT DUE
1 01-08 Introduction (.pdf)
LAB - Teleoperation
GIR 1.1
About ROS
PRR CH. 1 (S)
PA0

01-10 ROS Command Line (.pdf)
ROS Cheat Sheet (.pdf)
LAB - ROS Command Line
ROS Command-Line Tools
Syllabus
Video
GIR 2.3-2.7
ROS Core Components
PRR CH. 2 (S)
GIR 2.1-2.2 (S)

2 01-15 rocket_bot.py
thruster_w_globals.py
thruster_oo.py
thruster_oo_responder.py
LAB - Python Publishers and Subscribers
Video
ROS Tutorial 12
PRR CH. 3 (S)



01-17
LAB - ROS Packages
ROS Tutorials 3 & 4
git tutorial
github tutorial

3 01-22 PID (.pdf)
LAB - PID Control
PID Tutorial (pdf)
Video
PID Wikipedia (S)
ROS Tutorials 7 & 8
rospy parameter tutorial
PA1 PA0 (1/21 5:00PM)

01-24 LAB - Numpy Sentry Linear Algebra Video
Linear Algebra Review and Reference (.pdf)
sections 1-3.7, (skip 3.6)
Numpy tutorial (only the numpy section)
Fast Numpy Video
Intro to Numpy and Scipy (S) (.pdf)

4 01-29 Coordinate Systems
Coordinate Frame Tutorial (.pdf)
Jennifer Kay Kinematics Tutorial (.pdf)
(Just sections 6-7)
HW1
kinematics_hw.py
transforms.py


01-31 The tf System
tf_demo.py
tf2_demo.py
Video about tf
tf2 Overview

5 02-05 ASSESSMENT DAY

HW1 (2/6 5:00PM)

02-07 Configuration Spaces (.pdf)
Planning Chapter (4.1)
Configuration Space Visualization
Configuration Space Videos (s)

6 02-12 Grid-based planning Planning Chapter (4.2-4.3) planning_hw.py
priority_queue.py
PA1 (2/11 5:00PM)

02-14 ROS Navigation (.pdf)
ROS Navigation Lab
actionlib documentation 1-5, 6.2
Bibliography
7 02-19 RRT and PRM Planning Chapter (4.1)
(s) Rapidly-exploring random trees: A new tool for path planning S. M. LaValle, 1998
HW2
PA2


02-21 Probability (.pdf) prob_primer.pdf (p.1-6)
Video
Set Theory Video (S)
Bayes’ Rule Video (S)

8 02-26 Midterm Review

HW2 (2/25 5:00PM)

02-28 Midterm

9 03-05 SPRING BREAK



03-07 SPRING BREAK

10 03-12
Localization (.pdf)
Covariance Matrices +Multivariate Gaussian Distribution (.pdf)
Bayesian Filtering for Location Estimation, Fox et.al. (.pdf)
p. 10-13
Mutltivariate Statistics Tutorial
6.5.1, 6.5.4-6.5.4.2

PA2 (3/13 5:00PM)

03-14
Kalman Filter (.pdf)
kalman.py
plot_gaussians.py
kalman_demo.py
Kalman Filter Tutorial
An Introduction to the Kalman Filter (S)
Final Project
11 03-19 Localization - Particle Filter (.pdf) Particle Filter Explained without Equations
Bayesian Filtering for Location Estimation, Fox et.al. (.pdf)
p. 13-15
HW3


03-21 Mapping and SLAM (.pdf) Computational Principles of Mobile Robotics
CH 6-6.3.2
CH 9.2.2-9.2.3

12 03-26 Computer Vision (.pdf)
convolutions.py
OpenCV Lab
Convolutions
Python OpenCV Intro
OpenCV Basic Operations
OpenCV images
OpenCV Video
OpenCV Drawing (s)
Computer Vision: Algorithms and ApplicationsCH 1 (s)

HW3 (3/25 5:00PM)
Checkpoint 1 (3/29)

03-28 Object Recognition (.pdf)
histogram.py
sift_demo.py
Computer Vision: Algorithms and Applications CH 4-4.1.3
13 04-02
ROS Vision Lab
Deep Learning
Deep Learning (Accessible from JMU network)
Blibliography (4/1 5:00PM)

04-04 Finish Vision
Paper Presentations


14 04-09 Paper Presentations
Control Architectures


Checkpoint 2 (4/12)

04-11 Paper Presentations and Final Project Work

15 04-16 Paper Presentations and Final Project Work



04-18 Paper Presentations and Final Project Work

16 04-23 Paper Presentations and Exam Review

Checkpoint 3 (by appointment)

04-25 Exam

17 04-30 Final Project Presentations 10:30-12:30