Assignments for each week will be posted on this page by Tuesday. They will include a pre-lab assignment due before Thursday lab and a post-lab assignment due at the beginning of the following Tuesday lecture. Each lab end with a short quiz There will also be supervised homework hours on Wednesday nights, to help you prepare for Thursday.
Tuesday Lecture
Part 1, 2:00-3:30 in 1-190 Part 2, 4:00-5:00 in 34-501 | Thursday Lab in 34-501, 2:00-5:00 |
---|---|
Feb. 6 Lecture: Models of programs and programming styles Recitation: Using Python: functions, lists, the interpreter Assignment 1 is posted here. Notes for lecture 1 are posted here. |
Feb. 8 Introduction to SOAR and synchronous programming on the robot; simple robot commands; follow a wall |
Feb. 13 Lecture: Functional programming: Higher-order procedures and list comprehension Recitation: Functional programming practice Assignment 2 is posted here. Notes for lecture 2 are posted here. Code for assignment 2: feb-13-class.py, ps2-utility.py, ps2-poly.py, |
Feb. 15 Using utility functions to combine behaviors and achieve complex goals |
Feb. 20 No class: virtual Monday Lecture will be held in 1-190 on Thursday. |
Feb. 22 Lecture (in 1-190): Object-oriented programming (OOP) Recitation/Lab: OOP practice Assignment 3 is posted here. Notes for lecture 3 are posted here, lecture 3 slides posted here. Code for assignment 3: SimplePhysics.py, |
Feb. 27 Lab (in 34-501): Robot interpreter to execute sequential combinations of behaviors; obstacle avoidance Assignment 4 is posted here. |
Mar. 1 Lecture (in 1-190): Orders of growth, memoization Recitation/Lab: Difference equations 3 ways: forward iteration, recursion, memoization Week 4 software lab is posted here Code for assignment: diffeq.py Notes for lecture 4 are posted here |
Mar. 6 Lecture: Modeling with difference equations, autonomous difference equations and solutions, difference equations with inputs Recitation: General second-order difference equation solver Assignment 5 is posted here Notes for lecture 5 are posted here Code for assignment: (IMPORTANT: save as polynomial.pyc, NOT polynomialXX.pyc) polynomial24.pyc (for Python 2.4), polynomial25.pyc (for Python 2.5) importPolynomial.py |
Mar. 8 Controlling robot to drive down narrow hallway, develop difference equation model, match data to models |
Mar. 13 Lecture: Z-transforms, feedback and Black's formula Recitation: Transform manipulation software, finding poles stability Assignment 6 is posted here Slides for lecture 6 are posted here Notes for lecture 6 are posted here Code for assignment: roots.py (and grab updated polynomial.pyc for Python 2.4, Python 2.5 - don't forget to save as polynomial.pyc for importPolynomial to work!) |
Mar. 15 Driving down the hall (redux), finding a stable controller |
Mar. 20 Lecture: Constraints models versus input-output models, Resistor networks as constraint systems, Constitutive equations (Ohms law) and conservation laws (KCL), Series-parallel combinations and voltage dividers Recitation: Resolving circuit constraints Assignment 7 is posted here Thursday lab for week 7 is posted here Code for assignment: resolve_constraints.zip lecture notes (with diagrams) |
Mar. 22 Using the NI box as a volt meter, measuring motor current at multiple voltages, adding photoresisters to the robot |
Spring break | |
Apr. 3 Lecture: 1-ports, 2-ports, op-amps, feedback Recitation: Adding op-amps to the constraint resolver Assignment 8 is posted here slides from lecture lecture notes |
Apr. 5 Driving a motor with an op-amp circuit; Using feedback to control a Robot head. |
Apr. 10 Lecture: Designing feedback control systems, analog versus digital implementations, modeling Recitation: Difference equation model of an op-amp lecture notes |
Apr. 12 Design system for turning robot head towards light Post-lab assignment will be the basis of a mid-term progress evaluation. Assignment 9 is posted here Mid-term is posted here |
Apr. 17 No class: Patriots Day |
Apr. 19 Design project Assignment 10 is posted here daqtry.py (original file) |
Apr. 24 Lecture: Search and planning Recitation: Formulate search problems Assignment 11 is posted here Code for assignment 11 here lecture notes |
Apr. 26 Robot path planning |
May 1 Discrete probability and state estimation Assignment 12 is posted here Code for assignment 12 here lecture notes |
May 3 State estimation in discrete worlds |
May 8 Lecture: Probabilistic model for state estimation Recitation: Robot localization in simulator Assignment 13 is posted here Code for assignment 13 here |
May 10 Robot localization |
May 15 Lab: Final project |
May 17 Lab: Final project |