Sonia Martínez

Jacobs Faculty Scholar
Professor of Mechanical and Aerospace Engineering

MAE 145. Introduction to Robotic Planning and Estimation



Announcements

In this website you will find some preliminary information about this course. All the class material will be shared via canvas.


Contact Information

Instructor Office Phone Email
Prof. Sonia Martínez FAH 3302 858-822-4243 soniamd at ucsd dot edu
Pencheng Cao office N/A phone N/A email at p5cao at ucsd dot edu


Schedule of Classes

Lecture Time Location
Lectures, MWF 10:00am - 10:50am WLH 2204
Discussion Sections, W 9:00am - 9:50am WLH 2204


Office Hours

Instructor Day Time Location
Sonia Martinez Wed 3:00pm - 4:00pm EBU-I 1603 (conference room)
Pengchen Cao TBA TBA TBA


back to top

Course description

This course is an introduction to the fundamentals and principles used of motion planning and estimation algorithms in robotics; i.e. algorithms that allow a robot to move in a cluttered environment while avoiding collisions with obstacles. The first part of the course mostly focuses on classic planning algorithms, which are employed when the geometry of the robot's stationary surroundings is known in advance. This is in opposition to sensor-based planning algorithms, where the surroundings of the robot are poorly known. The second part of the course introduces to probabilistic techniques used in robot localization and map building. The course has a strong focus on algorithms and fundamentals, going over the modeling, design, algorithm, and computational issues that arise when devising planning and estimation algorithms. Planning and estimation algorithms form the basis of artificial intelligence and find application in a number of emerging technologies and disciplines such as manufacturing, autonomous driving and transportation, computer-aided design, computer graphics and virtual reality, and general mechanical and aerospace robotic applications. The course is of interest for engineers of all backgrounds who have an interest in robotics, control theory, and artificial intelligence alike.


Prerequisites

This course uses Python and, even though it is not an enforced pre-requisite for the course, familiarity with it or being comfortable programming in a high-level programming language (such as MATLAB) will be assumed. Someone not familiar with Python may be able to learn it along the course, but be warned that this can be rather ardous for some students. Recommended preparation is ECE 143. MAE 108 or equivalent at JSOE (introduction to probability theory) is necessary for the second part of the course. Familiarity with probabilities of both discrete and random variables, and its main concepts (pdfs, conditional pdfs, the Bayes' theorem) is needed for the second part of the course.


Syllabus

The course syllabus can be found here


Reference Texts

  1. Lecture Notes on Robotic Planning and Kinematics. F. Bullo and S. Smith. Book information available at https://fbullo.github.io/lrpk/
  2. Probabilistic Robotics. S. Thrun, W. Burgard, and D. Fox. The MIT Press, 2005.


Python

Read here on how to install and work with IDEs, as well as links to some tutorials.


Notes and slides

Will be made available through canvas.


Assignments

The class grade will tentatively be based on regular homework (analytical and programming) (15%), midterm (30%) and final (55%). Participation in Piazza forums/in class will be rewarded with an extra credit of 2.5% of the final grade.
  • Homework problems and small projects: will include theoretical problems and small programming projects. They will be announced in canvas/Piazza. No late homework will be accepted with the exception of one. You will have to let me know exactly by midnight the night before the homework is due that you will be late. The homework problems will be self-corrected by students; more instructions about this will be provided during class.

  • Midterm exam: May 3 in class

  • Final exam: June 10, 8am to 10:59am, location TBA


Computer access

University-licensed software includes Matlab while Python is free. As a UC San Diego student you have access to computer labs and printers throughout campus; see a list here. For more information about academic computing and media services see here


Collaboration Policy

You are encouraged to work with other students on your assignments, and to help other students complete their assignments, provided that you comply with the following conditions:
  • Honest representation: The material you turn in for course credit must be a fair representation of your work. You are responsible for understanding and being able to explain and duplicate the work you submit. Group submissions are not allowed in this course, and each student should submit their own individual assignment, written in their own words. The same happens with programming exercises: please do not submit exact copies of programming solutions, the autocorrection tool in Gradescope checks for plagiarism.
  • Active involvement: You must ensure that you are an active participant in all collaborations, and are not merely dividing up the work or following along while another student does the work. For example, copying another student's work without actively being involved in deriving the solution is strictly prohibited. To avoid misunderstandings, please turn in solutions written in your own words, not an exact copy of what someone else submits.
  • Work individually or in small groups: Working in groups of more than *three* people is discouraged because it limits the amount of participation by each member of the group. In your homework solutions please indicate the names of the people you collaborated with.
  • Give help appropriately: When helping someone, it is important not to simply give them a solution, because then they may not understand it fully and will not be able to solve a similar problem next time. It's always important to take the time to help someone think through the problem and develop the solution. Often, this can be accomplished by asking them a series of leading questions.
  • If in doubt, ask your instructor: Be sure to ask in advance if you have any doubts about whether a certain type of collaboration is acceptable.


Note on Academic Dishonesty

No form of academic dishonesty will be tolerated, this specially refers to homework and plariagism.
In this course, the use of ChaptGPT or other GenAI tools to solve homework problems is not allowed and constitutes cheating.
To avoid problems, please make sure you report who you work with when doing the homework, and do not turn in exact homework copies. Copying from previous homework solutions is also considered cheating. For the definition of academic dishonesty and its consequences refer to the Student Conduct Code available at the website https://academicintegrity.ucsd.edu