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

Time and Location

  • Lectures: Monday and Wednesday, 5:00 - 6:20 pm, in WLH 2001.

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

  • Office Hours:

    • Tuesday, 9:00 - 10:00 am, Jacobs Hall 4506

    • Wednesday, 6:30 - 7:30 pm, WLH 2001

    • Thursday, 2:00 - 3:00 pm, Jacobs Hall 4506

    • Friday, 11:00 - 12:00 pm, Jacobs Hall 4506


  • Nikolay Atanasov: natanasov@eng.ucsd.edu

  • Qiaojun Feng: qif007@eng.ucsd.edu

  • Arash Asgharivaskasi: aasghari@eng.ucsd.edu

  • Thai Duong: tduong@eng.ucsd.edu

  • Yiran Xu: y5xu@eng.ucsd.edu


This course covers the mathematical fundamentals of Bayesian filtering and their application to sensing and estimation in robotics. Topics include maximum likelihood estimation (MLE), expectation maximization (EM), Gaussian and particle filters, projective geometry, visual features and optical flow, simultaneous localization and mapping (SLAM), and Hidden Markov models (HMM).


Students are expected to have background in linear system theory at the level of ECE 101, probability theory at the level of ECE 153, and optimization theory at the level of ECE 174, as well as reasonable programming experience.


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. Color Segmentation: In this project, you will train a color classification model and use it to detect an object of interest.

  2. Particle Filter SLAM: In this project, you will implement indoor localization and occupancy grid mapping using odometry and Lidar measurements.

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

Students are expected to sign up on Piazza and GradeScope:9NEEBV. Discussion and important announcements will be made on Piazza. The homework should be turned in and will be graded on GradeScope:9NEEBV.


Grading will be based on the following rubric.

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


The main reference for the course will be:

A few other useful references are:

Collaboration and Academic Integrity

Please note that an important element of academic integrity is fully and correctly acknowledging any materials taken from the work of others. You are encouraged to work with other students and to discuss the assignments in general terms (e.g., “Do you understand the EM algorithm” or “What is the update equation for Kalman filter?”). However, the work you turn in should be your own – you should not split parts of the assignments with other students and you should certainly not copy other students’ code or papers. All projects in this course are individual assignments. More generally, please familiarize yourself with UCSD's Code of Academic Integrity, which applies to this course. Instances of academic dishonesty will be referred to the Office of Student Conduct for adjudication.

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 your mental health and wellness needs. These opportunities can be found on the IDEA Center Facebook page and the Center web site.