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
-
Lecture Notes on Robotic Planning and Kinematics. F. Bullo
and S. Smith. Book information available
at
https://fbullo.github.io/lrpk/
-
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