ECE/ME 179P: Introduction to Robotics: Planning and Kinematics
Description
Motion planning and kinematics topics with an emphasis on algorithmic and geometric reasoning.
- Motion planning: sensor-based planning, configuration spaces, decomposition and sampling methods, and graph-based algorithms.
- Kinematics: reference frames, rotations and displacements, and inematic motion models.
Learning outcomes
Ability to:
- Formulate and solve planning and kinematics problems.
- Apply knowledge of algorithms, geometry, and linear algebra to robotic systems.
- Use the Python programming language to solve engineering problems.
Prerequisites
- Linear algebra: ECE 130C or ME 17.
- Coding: ECE 3 (Python) or ENGR 3 (MATLAB).
Students that have not taken these specific classes can reach out to the instructor if they are interested in enrolling in the class.
Staff
- Tobia Marcucci (instructor)
- Department of Electrical and Computer Engineering
- Email: marcucci@ucsb.edu
- Office: Harold Frank Hall, room 5155
Lectures
- Tuesday and Thursday from 2:00pm to 3:15pm (starting September 23)
- Room ARTS 1349
Office hours
- Day and time to be decided
- Location: 5155 Harold Frank Hall
The instructor will also be available for questions after the end of each lecture.
Textbooks
The course will follow the book “Lectures on Robotic Planning and Kinematics” by Francesco Bullo and Stephen L. Smith. The book is freely available in PDF at the link above. Approximately, each week will cover one chapter of the book.
Other relevant textbooks for the interested students are:
- Planning:
- “Planning Algorithms” by Steven M. LaValle. Freely available in PDF.
- “Principles of Robot Motion: Theory, Algorithms, and Implementations” by Howie Choset, Kevin M. Lynch, Seth Hutchinson, George A. Kantor, Wolfram Burgard, Lydia E. Kavraki, and Sebastian Thrun.
- “Robot Motion Planning” by Jean-Claude Latombe. Freely available in PDF for UCSB students.
- “Probabilistic Robotics” by Sebastian Thrun, Wolfram Burgard, and Dieter Fox.
- Kinematics:
- “Robotics; Modelling, Planning and Control” by Bruno Siciliano, Lorenzo Sciavicco, Luigi Villani, and Giuseppe Oriolo. Freely available in PDF for UCSB students.
- “A Mathematical Introduction to Robotic Manipulation” by Richard M. Murray, Zexiang Li, and S. Shankar Sastry. Freely available in PDF.
Homework
- Homework will be released on Wednesday and due on Wednesday of the following week (by midnight).
- Late homework will automatically incur a 10% grade deduction per day of delay, and will not be accepted after midnight on the following Monday.
- If answers are not accompanied by satisfactory explanations (e.g., all intermediate steps or clearly readable handwriting), no credit will be given.
Exams
- Midterm on Tuesday, October 28 from 2:00pm to 3:15pm in ARTS 1349
- Final day and time to be decided in ARTS 1349
- Exams and quizzes will be closed book and closed notes. You may prepare a cheat sheet in your own handwriting, consisting of a two-sided sheet (letter size).
- No calculators, personal computers, tablets, or cellphones are allowed during the exams.
Grading
Your grade will be assigned roughly according to the following percentages:
- Homework 40%
- Midterm 20%
- Final 40%
Please note that these weights are approximate, and we reserve the right to change them later.
Python
Some of the homework will require working knowledge of Python. If required, the office hours during the first week will be devoted to an introduction to Python. Students that are familiar with different programming langauages (e.g., MATLAB) will be encouraged to participate. Help will be provided to the students that do not have access to a Python installation, provided that they contact the instructor in a timely manner.
Why Python? In previous years, students had the option to work with either Python or MATLAB. This year, we decided to use only Python for two main reasons:
- Python is far more common in robotics than MATLAB. The codebases of nearly all major robotics companies are written in Python (along with C++ for production-level code). Also in accademia, most of the robotics research is done in Python. Therefore, proficiency in Python is fundamental for anyone pursuing a career in robotics.
- Unlike MATLAB, Python is an open-source programming language, meaning it is free to use. This eliminates licensing costs and ensures that students can continue using it beyond the course, without financial barriers.
Collaborations and external resources
You are encouraged to work with other students on your assignments, and to help other students complete their assignments. If you do so, please be sure to clearly write the name(s) of your collaborator(s) in the solutions that you submit. Please also specify if you collaborated on the entire assignment or only on specific problems. Remember that the material you turn in for course credit must be a fair representation of your work, and you are responsible for understanding, being able to explain, and duplicate the work you submit. We suggest that the study groups are composed of at most three students.
In the solution of the homework, you are discouraged to use any material that is not the class textbook or the other textbooks mentioned above. If you decide to use additional material (e.g., Wikipedia or stack/math overflow) please clearly specify that in the solutions that you submit. The use of AI-enhanced tools (such as ChatGPT) is prohibited.
Academic integrity
We adhere to the UCSB Academic Integrity Policy.
Tentative timeline
Lectures:
The lectures will approximately follow the textbook. Below is a tentative schedule of the lecture contents.
- Chapter 1 “Sensor-based Planning” on September 23 and 25
- Chapter 2 “Motion Planning via Decomposition and Search” on September 30 and October 2
- Chapter 3 “Configuration Spaces” on October 7 and 9
- Chapter 4 “Free Configuration Spaces via Sampling and Collision Detection “ on October 14 and 16
- Chapter 5 “Motion Planning via Sampling” on October 21 and 23
- Chapter 6 “Introduction to Kinematics and Rotation Matrices” on October 30 and November 4 (midterm exam on October 28)
- Chapter 7 “Rotation Matrices” on November 6 and November 13 (November 11 is Veterans Day)
- Chapter 8 “Displacement Matrices and Inverse Kinematics” on November 18 and November 20
- Chapter 9 “Linear and Angular Velocities of a Rigid Body” on December 2 and December 4 (November 27 is Thanksgiving Day)
Problem sets:
- Homework 1 released on September 24 and due on October 1
- Homework 2 released on October 1 and due on October 8
- Homework 3 released on October 8 and due on October 15
- Homework 4 released on October 15 and due on October 22
- Homework 5 released on October 29 and due on November 5 (midterm exam on October 28)
- Homework 6 released on November 5 and due on November 12
- Homework 7 released on November 12 and due on November 19
- Homework 8 released on November 19 and due on November 26