Jump to: navigation, search
ME-410: Special Topics in Control Theory / EE-396: Special Topics in Signal Processing

Summer 2011: Probabilistic Methods in Robotics & Control


Dr Abubakr Muhammad, Visiting Assistant Professor of Mechanical Engineering

Email: muhammad.abubakr [at], abubakr [at]

Office: 3303, Al-Khwarizmi Bldg (1), KAUST

Office Hours: Sat, Sun, Tues 4:45pm-5:30pm (or by appointment)

Course Details

Official title: ME-410/EE-396. Topics in contemporary control theory & practice / Advanced topics in signal processing.

Semester: Summer, 2011

Credits: 3

Status: Grad elective for electrical engineering, mechanical engineering, computer science, applied mathematics majors

Pre-reqs: Undergraduate level signals and systems; linear algebra; basic probability; programming experience

Dates: 11/06/2011-02/08/2011

Time: 15:00-16:40

Days: Sat, Sun, Tue

Classroom: 2120

Course Website:

Course Description

A research-methods based course to study probabilistic methods in robotics and control system design with emphasis on field robotics, unmanned aerial and ground vehicles, planning algorithms, autonomous systems, telerobotics, Human Robot Interaction (HRI) and other related areas. The course prepares students to do independent work at the frontiers of robotics and control research.

Course Contents

Introduction to basic concepts in robotics, Review of basic probability, random signals and systems, classical parameter estimation (min variance, least squares, max likelihood), Noisy sensor and motion models in robotics, concepts of state-space, Kalman filtering, Extended Kalman filter (EKF), robot configuration spaces, motion planning problems, Simultaneous Localization and Mapping (SLAM), Bayesian filtering, Monte-Carlo methods, particle filtering, SLAM variants, Unscented and Ensemble Kalman filters; practical issues in autonomous robotics; examples/exercises from control, signal processing.


  • Introduce fundamental principles in robot motion planning.
  • Use of geometric and dynamical models.
  • Using sensor-based information to determine robot’s own state and of the world.
  • Linear and non-linear statistical estimation techniques applied to problems in robotics and dynamical systems.
  • Introduce practical applications

This course is NOT about

  • Mechatronics or robot building.
  • Higher-level perception and AI.

Similar courses

LUMS. (my course last fall)



Centro de Investigacion en Matematicas, Mexico.

Univ of Washington.

Text book

The course will be taught from a combination of the following textbooks.

Grading Scheme

  • Class Participation: 5%
  • Assignments: 20%
  • Midterm Exam: 25%
  • Project: 50%
    • Proposal. 10%
    • Report. 20%
    • Presentation. 20%
    • Code/demo. 50%

Video Recordings

The entire course has been recorded on video and available on KAUST media website . The videos can only be accessed from within KAUST campus or remotely via KAUST VPN. Please navigate to KAUST Main Catalog->Academic->Physical Science & Engineering->ME420/EE396 or follow direct links to the videos given below.


Week 1. June 11 MODULE 1. Introduction to Robotics

Lec 1. Introduction; robotics and autonomous systems; Video

Lec 2. Robotic workspaces; planning algorithms; bug algorithms; Bug0 and Bug1 algorithms; Completeness of Bug1; upper bounds on Bug1; Bug2 algorithm; performance comparison; range sensors and mathematical description; Tangent Bug algorithm; implementation issues; wall-following behavior with range sensors; some practical sensors;

Lec 3. Robot configuration spaces; forward and inverse kinematics; mapping workspace obstacles into configuration space obstacles; visualizing high dimensional configuration spaces; a first look at obstacles in SE(2); polygonal robots and obstacles; configuration spaces of linkages; visualizing tori; Video

Choset CH 2, 3, Appendix F;

LaValle SEC 12.3.3;

L1 Slides (From CMU RI16-735)

L2 Slides

L3 Slides

Week 2. June 18 Lec 4. Lifting velocities in forward and inverse kinematics; Rigid body transformations; geometry and topology of SO(2), SE(2); Video

Lec 5. Geometry and topology of SO(3), SE(3); Euler angle parameterization; Review of linear algebra; matrix calculus; Video

MODULE 2. Review of Linear Systems and Probability

Lec 6. Review of linear system theory; state-space models; matrix exponential; continuous to discrete conversions; difference between state space and configuration space in robotics; Video

HW1 MATLAB code template

Simon CH 2, 3;

Jordan Canonical Form (Handout).

Gimbal lock problem in Euler Angles. Video.

Quaternions and the topology of SO(3).

Week 3. June 25 Lec 7. Lyapunov and exponential Stability for LTI systems; controllability; observability; rank tests; examples; Review of basic probability; Bayes rule; random variables; transformations of random variables; Video

Lec 8. Linear transformation of Gaussian RV; Graphical interpretations; Non-Gaussian distributions arising due to non-linearities; mutliple random variables; independence, correlation and correlation; vector random variables; auto-covariance and auto-correlation matrices; introduction to stochastic processes; Video

MODULE 3. Linear Estimation and Kalman Filtering

Lec 9. Stochastic processes; strict sense and wide sense stationarity; ergodicity; introduction to state estimation problem; a relook at the averaging formula; least squares estimation problem; batch linear estimation; modeling noise covariance; generalized least square;


Simon. CH3;
Week 4. July 2. Lec 10. Recussive least square estimation; unbiased least squares estimators; optimal gain calculation; covariance and state update equations;

Lec 11. Generalized recursive least squares; Alternate estimator forms; examples and applications; stochastic linear differential equations; process noise; propagation of mean and covariance of a noisy LTI system; Lyapunov equation for steady covariance; Video

Lec 12. Student project proposal presentations; Linear estimation of noisy LTI systems; notation and problem setup; Video

Simon. CH3, 4;
Week 5. July 9. Lec 13. Kalman filter derivation; examples; tracking of slowly varying paramters; noisy robot motion models; [1]

Lec 14. Kalman Filtering simulations for estimating slowly varying paramters; discretization of process noise covariance from continuous white noise models; constant velocity model derivation; Extended Kalman Filter; Linearlizaton on nonlinear state evolution and measurement; EKF applied to Range and Bearing localization; Video

MODULE 4. Bayesian filtering methods

Lec 15. Bayesian filter; derivation; simple state estimation examples; histogram filtering; introduction to particle filtering; localization demos; Video

Simon CH5; Thrun CH2, 4; Choset CH8,9;


Slides (From Stanford CS-226)

Week 6. July 16 Lec 16. Non-paramteric filtering; Derivation of particle filter; analysis of re-sampling and particle weight computation; Binary Bayes filter for static estimation; Video

Midterm Exam.

Lec 17. Robot perception models; beam models; sensor noise models; EM algorithm for learning sensor noise pdf from real data; Video


Thrun CH4, 6;
Week 7. July 23 Lec 18. Likelihood fields for sensor models; robot motion models; odometry model; velocity motion model. Video

Lec 19. Occupancy grid maps; derivation of binary Baye's filter; map updates; Introduction to SLAM problem; Video

Lec 20. General SLAM problem setup; EKF SLAM; derivation of EKF SLAM algorithm; landmark-to-feature correspondences; EFK-SLAM with correspondence learning; Video

Thurn CH5, 6, 9, 10
Week 8. July 30 Lec 21. Information vector/matrix parametrization of a multivariate Gaussian; Information filter and its equivalence to Kalman filter; GraphSLAM algorithm; derivation of GraphSLAM; non-linear least square formulation; Factorization of information matrix and GraphSLAM speedup; GraphSLAM and EKF-SLAM comparison; course windup. Video

Student project presentations.'

Thurn CH2, 11

Student Projects

Personal tools