## UCSD ECE276A: Sensing & Estimation in Robotics (Fall 2017)## Time and LocationMonday and Wednesday, 6:30-7:50 PM, in CENTR 214. ## InstructorsNikolay Atanasov: natanasov@eng.ucsd.edu Office hours: Wednesday, 4:00 - 5:00 pm, Atkinson Hall 6127
Anwesan Pal: a2pal@eng.ucsd.edu TA hours: Friday, 2:00 - 3:30 pm, Jacobs Hall 2315
Siwei Guo: s9guo@eng.ucsd.edu TA hours: Friday, 2:00 - 3:30 pm, Jacobs Hall 2315
Additional TA/office hours can be requested by appointment
## References## OverviewThis course covers the mathematical fundamentals of Bayesian filtering and their application to sensing and estimation in mobile 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). ## RequirementsThe class assignments consist of four projects, each including a theoretical homework, a programming assignment (in **Color Segmentation**: In this project, you will train a color model using Gaussian Mixtures and Expectation Maximization and use it to detect a red barrel and estimate its relative position.**Orientation Tracking**: In this project, you will implement an Unscented Kalman Filter to track the three dimensional orientation of a body using gyroscope and accelerometer measurements.**SLAM**: In this project, you will implement indoor localization and occupancy grid mapping using odometry, inertial, laser range, and RGBD measurements from a humanoid robot.**Gesture Recognition**: In this project, you will implement a Hidden Markov Model to recognize arm gestures using gyroscope and accelerometer measurements.
Grading will be based on the following rubric.
## PrerequisitesStudents 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. ## Collaboration and Academic IntegrityPlease note that an important element of academic integrity is fully and correctly attributing 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 the 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. |