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

This is the website for the UCSB course ME / ECE 179P “Introduction to Robotics: Planning and Kinematics”, Spring 2016. This information is available at the URL http://motion.me.ucsb.edu/ME179P-Spring2016. A pdf version of this documentation is available on the course website.


Motion planning and kinematics topics with an emphasis on geometric reasoning, programming and matrix computations. Motion planning: configuration spaces, sensor-based planning, decomposition and sampling methods, and advanced planning algorithms. Kinematics: reference frames, rotations and displacements, kinematic motion models.

Course Learning Outcomes

  • An ability to apply knowledge of geometry, graph algorithms and linear algebra to robotic systems

  • An ability to use a numerical computing environment, such as Matlab, to solve engineering problems

  • An ability to formulate and solve planning problems in robotics

  • An ability to formulate and solve kinematics problems in robotics


Eng 3 and either ME 17 or ECE 130C (concurrent enrollment is allowed).

Knowledge of basic concepts in matrix theory (matrix multiplication, traces, determinants, eigenvalues), differential equations, and familiarity with Matlab and/or Phyton programming.

Lecture Time and Place

Monday and Wednesday 11:00am-12:15pm, Engineering Building II, room 2243 (ME Classroom)

Course credit

Units: 4, including 3 units of lecture, 1 unit of computer lab per week


Lectures on Robotic Planning and Kinematics,
Francesco Bullo and Stephen L. Smith
v0.91, Nov 2015.

Available in PDF format and in Slide PDF format. More information here.

Warning: the lecture notes may be updated during the course. I will inform you when a new version of the notes is available.


Professor Francesco Bullo
Department of Mechanical Engineering
Email: bullo-at-engineering.ucsb.edu
Website: http://motion.me.ucsb.edu

Office hours

Place: Room 2325, Engineering Bldg II Time: Wed 9:00am-10:45am

If you have any questions about the course, please send me email. I will try to respond as quickly as possible. Additionally, I will share questions that are particularly good (and their answers) with the rest of the class by broadcasting my answer to the entire class.

If you plan to come to office hours for questions about homework, please be prepared to show attempts at solving the problem that you prepared before coming.

If you plan to come to office hours, please email me at least 1 hour in advance. Nobody has come for the first three meetings and I can use my time more efficiently if I can leave my office.



Your grade will be assigned roughly according to the following percentages.

  1. Homework and Projects = 15% and 15%

  2. Midterm 35%

  3. Final 35%

Partial credit might be given whenever the overall performance is low. If answers are not accompanied by satisfactory explanations (e.g., all intermediate steps, clearly readable handwriting), no credit will be given.

Exams and quizzes will be closed book and closed notes. You may prepare an exam aid (cheat sheet) in your own handwriting, consisting of one, one-sided sheet (letter size, 8.5x11in) for the midterm and one, two-sided sheet for the final exam. No calculators/tablets/cellphones are allowed during the exams (they would be useless anyway).

In exceptional cases, I reserve the right to give extra points for excellent performance on the final. Please, do not count on it as a way to avoid doing homework assignments.

Homework will is typically due on Wednesday afternoon. No late homework will be accepted without prior approval. Approval is automatic the first two times you ask: to announce late homework you must send me email by midnight the day before. Late homework will automatically lose 20% of the grade and no late homework will be accepted after 5pm on the following Monday.

Computer Access & Matlab

I expect all of you to be familiar with the College of Engineering computer laboratories. Some of the homework and all computer laboratory assignments will require working knowledge of Matlab.

A matlab primer is available in the handout section of the course website.

Collaboration Policy

Collaboration Policy for this course & Academic Dishonesty @ Wikipedia

Copyright Policy

All course materials (class lectures and discussions, handouts, examinations, web materials) and the intellectual content of the course itself are protected by United States Federal Copyright Law, the California Civil Code. The UC Policy 102.23 expressly prohibits students (and all other persons) from recording lectures or discussions and from distributing or selling lectures notes and all other course materials without the prior written permission of the instructor (See Policy on Student Conduct and Discipline). Students are permitted to make notes solely for their own private educational use. Exceptions to accommodate students with disabilities may be granted with appropriate documentation. To be clear, in this class students are forbidden from completing study guides and selling them to any person or organization.