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