Sonia Martínez

Jacobs Faculty Scholar
Professor of Mechanical and Aerospace Engineering

MAE 242. Robot Motion Planning



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 11:00am - 11:50am WLH 2113


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 planning and decision-making algorithms for robots, where, interchangeably, a robot is a synonym of "agent" or "decision maker". Algorithms for planning and decision making find application in a number of technologies and disciplines such as logistics, power systems, control systems, computer graphics, artificial intelligence, and, of course, robotics. Because of this, the course is of interest for a broad audience of students who have an interest in all of these applications alike.

The main focus of the course is on the theory of advanced planning and decision making algorithms and their properties with the end-goal of providing a good fundamental knowledge in this area. Examples covered will refer to a variety of contexts (not just robots), and many, if not most of, the times will be academic and geared toward understanding the theory. Practical and involved study cases (including industrial examples) will not be covered in this course. See the syllabus for the tentative contents of the course.


Prerequisites

This course is math intensive and formal. Background knowledge in probability theory, linear algebra, mathematical analysis, and (convex) optimization are required to understand and make the most of this course. Background in nonlinear systems and controls is a plus.

Programming knowledge: basic programming problems will be assigned in Python, and some programs/tutorials covered will use this language. Thus, familiarity with the Python language is required. The nature of the programming assignments will mostly require functional-oriented programming, and the programs will mostly be created from scratch (we will not use sophisticated tools). If you are fluent in other programming languages (such as matlab), you could pick Python up along the way. However, be aware that this will require a significant effort on your part and is not recommended. Time will not be spent on covering Python basics or Python programming tricks/commands.


Syllabus

The course syllabus can be found here



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 (20%) and final (60%). Alternatively to the final, students may complete programming project of their choice. 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 14, 11am to 2:29am, 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