UCSD ECE276A: Sensing & Estimation in Robotics (Winter 2023)

Time and Location

  • Lectures: Monday and Wednesday, 5:00 pm - 6:20 pm, in FAH 1301

  • Final Exam: Monday, March 20, 2022, 7:00 pm - 10:00 pm

  • Office Hours:

    • Monday: 6:20 pm - 7:00 pm in FAH 1301

    • Tuesday: 5:00 pm - 6:00 pm on Zoom

    • Wednesday: 6:20 pm - 7:00 pm in FAH 1301

    • Thursday: 11:00 am - 12:00 pm on Zoom

    • Friday: 2:00 pm - 3:00 pm on Zoom: Zoom

Instructors

  • Nikolay Atanasov: natanasov@ucsd.edu

  • Shrey Kansal: skansal@ucsd.edu

  • Yigit Korkmaz: ykorkmaz@ucsd.edu

  • Sambaran Ghosal: sghosal@ucsd.edu

Course Description

This course covers mathematical fundamentals of Lie groups and Bayesian filtering and their application to sensing and estimation in robotics. The topics include maximum likelihood estimation (MLE), Kalman and particle filters, rotations, projective geometry, visual features, and simultaneous localization and mapping (SLAM).

The students are expected to sign up on Piazza and GradeScope:J32RXJ. Discussion and important announcements will happen on Piazza. The homework should be turned in and will be graded on GradeScope:J32RXJ.

Prerequisites

The students are expected to have background in linear system theory at the level of ECE 171B, probability theory at the level of ECE 109, and optimization theory at the level of ECE 174, as well as a strong programming background.

Requirements

The class assignments consist of theoretical homework, a final exam, and three projects, each including a programming assignment in Python and a project report:

  1. Orientation Tracking: you will implement a gradient descent algorithm to estimate the three dimensional orientation of a body using gyroscope and accelerometer measurements.

  2. Particle Filter SLAM: you will implement indoor localization and occupancy grid mapping using Lidar measurements.

  3. Visual Inertial SLAM: you will implement an Extended Kalman Filter to track the three dimensional position and orientation of a robot using gyroscope, accelerometer, and camera measurements.

Grading

The assignments consist of theoretical homework, a final exam, and three projects, each including a programming assignment in Python and a project report:

  1. Orientation Tracking: you will implement a gradient descent algorithm to estimate the three dimensional orientation of a body using gyroscope and accelerometer measurements.

  2. Particle Filter SLAM: you will implement indoor localization and occupancy grid mapping using Lidar measurements.

  3. Visual Inertial SLAM: you will implement an Extended Kalman Filter to track the three dimensional position and orientation of a robot using gyroscope, accelerometer, and camera measurements.

Grading will be based on the following rubric.

Homework 16%
Project 1 18%
Project 2 18%
Project 3 18%
Final Exam 30%


The due date of each assignment will be clearly stated when the assignment is released. Late submissions and deadline extensions will not be possible because the course schedule is tight.

References

While no reference is strictly required to follow the course, the following list of references is recommended:

Collaboration and Academic Integrity

Integrity of scholarship is essential for an academic community. To protect the validity of intellectual work both faculty and students must honor this principle. For students, this means that all academic work will be done by the individual to whom it is assigned, without unauthorized aid of any kind. It is dishonest to cheat on exams, copy other people's work, or fake experimental results. Cheating, plagiarism and any other form of academic dishonesty will not be tolerated. An important element of academic integrity is also fully and correctly acknowledging any materials taken from the work of others. Never claim work or ideas to be yours if they are not, and never aid others in cheating, e.g., by offering them your solutions. Do not upload solutions or assignments online, even after you have finished the course. You are encouraged to discuss the assignments with other students but please note that all assignments in this course are individual and the work you turn in should be entirely your own! Use of other students’ course work, in part or in total, to develop, complete or correct course work is unauthorized. Each student is responsible for knowing and abiding by UCSD's Code of Academic Integrity. Instances of academic dishonesty will be penalized by grade reduction at the instructor's discretion and will be reported to the Office of Student Conduct for adjudication. Committing acts that violate Student Conduct policies are cause for suspension or dismissal from UCSD.

IDEA Engineering Student Center

Please consider participating in the programs and events organized by the IDEA Engineering Student Center. The IDEA center, located to the right of the lobby of Jacobs Hall, is a hub for student engagement, academic enrichment, personal and professional development, leadership, community involvement, and a respectful learning environment for all. The IDEA center's mission is to foster an inclusive and welcoming community, promote academic success, develop engineering leaders, and, most importantly, support mental health and wellness needs. These opportunities can be found on the IDEA Center Facebook page and the Center's web site.

Acknowledgments

The material in this course is inspired and significantly influenced by the teaching and research of Prof. Dan D. Lee, Prof. Stergios I. Roumeliotis, Prof. Tim D. Barfoot, and Prof. Cyrill Stachniss.