UCSB “Introduction to Robotics: Planning and Kinematics”
ME/ECE 179P, Winter 2022
Instructor: Francesco Bullo

This is the syllabus for the UCSB course ME / ECE 179P “Introduction to Robotics: Planning and Kinematics”, Winter 2022 (lecture times during period: Tue.04jan2022 through Th.10mar2022).

This information is always available and updated at the URL http://motion.me.ucsb.edu/ME179P-Winter2022/syllabus.html.

Textbook

As main source we will be using my lecture notes:

Lectures on Robotic Planning and Kinematics,
Francesco Bullo and Stephen L. Smith
v0.93, Jan 1, 2022.

Available in PDF and Slide PDF format.

The plan is to cover each chapter of the book in about one week (two lectures).

When and how to turn in homework and Programming assignments

Homework is typically due on Wednesday 5pm of the week following the corresponding lectures (e.g., Homework for Week 1 is due on Wednesday of Week 2). Warning: The week-by-week schedule below may be modified during the quarter to include a few exceptions. Please check Gradescope regularly.

Handwritten or typed answers are to be submitted via Gradescope. Note: You must use the template files provided.

Programming guidelines are given here.

Programming assignments are to be submitted on Gradescope (if you use Python), or on MATLAB Grader (if you use MATLAB). In case you do not have access to one of these, please email the TA. Note: You must use the template files provided.

How to learn MATLAB

  • MATLAB video tutorials by MathWorks: (html) and demos (html)

  • MATLAB Primer (version 3, by Kermit Sigmon): (pdf)

Week 1:
Sensor-Based Motion Planning (Bug Algorithms)

  • Reading Assignment: Textbook Chapter #1

  • Homework Assignment #1 (due on Wed Week 2): Exercises E1.1, E1.3, E1.5

  • Programming Assignment #1 (due on Wed Week 2): Exercise E1.6

  • NEW: Template for Gradescope for homework #1: here

  • NEW: Template for Python Programming assignment in homework #1 : here …. Note: Matlab template available on Matlab Grader

Week 2:
Motion Planning via Decomposition and Search

  • Reading Assignment: Textbook Chapter #2

  • Homework Assignment #2: Exercises E2.1 and E2.6

  • Programming Assignment #2: Exercise 1.7 (You are allowed to use the matlab routine “inpolygon”)

  • Template for Gradescope for homework #2: here

  • NEW: Template for Python Programming assignment in homework #2 : here …. Note: Matlab template available on Matlab Grader

  • Programming Project #1 (due on Tues February 1): Exercise E1.8 “The Bug 1 Algorithm”. Project #1 requires the solution of Exercises 1.6 and 1.7. Template for Gradescope for project #1: here. Guidelines for what to submit: here.

  • NEW: Template for Python Programming project #1 : here …. Note: Matlab template available on Matlab Grader

Week 3:
Configuration Spaces

  • Reading Assignment: Textbook Chapter #3

  • Homework Assignment #3: Exercises E3.1, E3.2, E3.6

  • Gradescope template for homework #3: here

  • Programming Assignment #3: Exercise 2.8 and 3.4. Python template here.

  • OPTIONAL Programming Project #2 (due on Monday February 22): Exercise 2.9 “The Sweeping Trapezoidation algorithm”. (Clarification: if you submit a solution to this optional assignment, then points for this optional programming assignment will be added to the points for programming project # 1, for a total maximum score of 100 percent on the programming assignments)

Week 4:
Motion Planning via Sampling and Collision Detection

  • Reading Assignment: Textbook Chapter #4

  • Homework Assignment #4: Exercises E4.2

  • Programming Assignment #4: Exercise 4.3 Python template here.

  • Gradescope template for homework #4: here

Week 5:
Motion Planning via Sampling

Week 6:
Review and Midterm

  • MIDTERM: Thursday Feb 10th

Week 7:
Introduction to kinematics and rotation matrices

  • Reading Assignment: Textbook Chapter #6

  • Homework Assignment #6: Exercises E6.1, E6.3, E6.4

  • Programming Assignment #6: none

  • Template for Gradescope for homework #6: here

Week 8:
Rotation matrices (composition, parametrization)

  • Reading Assignment: Textbook Chapter #7

  • Homework Assignment #7: Exercises E7.1, E7.3, E7.4, E7.5, E7.8

  • Template for Gradescope for homework #7: here

  • Programming Assignment #7: Exercises 7.12 Python template here.

Week 9:
Displacement matrices (as models for rigid motion and transformations)

  • Reading Assignment: Textbook Chapter #8

  • Additional reading: Motoman HP20 Brochure

  • Homework Assignment #8: Exercises E8.1, E8.2, E8.3

  • Programming Assignment #8: none

  • Template for Gradescope for homework #8: here

Week 10:
Motion models

  • Reading Assignment: Textbook Chapter #9

Finals Week

  • Mon Mar 15 - Fri Mar 19

  • Final: Tuesday Mar 15th, 8am-11am