Ahmad Kamal Nasir, PhD
Director engineering laboratory
Assistant professor of electrical engineering, school of science and engineering
lahore university of management sciences, pakistan
Course Description
This course is designed to provide students a hands-on experience on real aerial and ground mobile robots. It provides an overview of problems / approaches in mobile robotics. Most of the algorithms described in this course are probabilistic in nature, dealing with noisy data. The students shall be given an opportunity to implement state of the art probabilistic algorithms for mobile robot state estimation, with a strong focus on vision as the main sensor.This course is NOT about Mechatronics or robot building.  
Course Learning Outcome
The students should be able to: 
  • Understand basic wheel robot kinematics, common mobile robot sensors and actuators knowledge. 
  • Understand and able to apply various robot motion and sensor models used for recursive state estimation techniques. 
  • Demonstrate Inertial/visual odometeric techniques for mobile robots pose calculations. 
  • Use and apply any one of the Simultaneous Localization and Mapping (SLAM) technique. 
  • Understand and apply path planning and navigation algorithms.  
Course Instructor
Dr. -Ing. Ahmad Kamal Nasir
Office Hours: Tuesday[1400-1500] Thursday[1400-1500]
Room: 9-345A, EE Department, 3rd Floor, Right Wing, School of Science and Engineering 
Teaching Assistant: Hamza Anwar
Course Details
Elective Course for Electrical Engineering and Computer Science Majors
Catagory:  Graduate (5XXX level)
Semester: Spring/Fall 2015
Credits: 3
Pre-requisite (Topics/Skills): CS310 or EE361 or by permission of instructor, Programming proficiency in C/C++, linear algebra, probability
Grading Scheme: Final Project (20%), Mid-Term Examinations (25%+15%), Lab Tasks (40%)
Course Delivery Method: Lecture (Monday: 1700 - 1850), Labs (Wednesday: 1700 - 1930)
Reerence Material: The course is taught froma a combination of the following textbooks















                   (A)                                 (B)                                    (C)                                   (D) 
Lecture notes and research papers will be provided where necessary.
Course Contents
Week
Topics Reading/Reference
Week 1
18 Jan 2016
20 Jan 2016
Lecture: 
Introduction to mobile robotics and trends, course objectives 
Short notes on Linear Algebra 
2D/3D Geometry, Transformations, 3D-2D Projections 
Recap of Probability Rules
Tutorial: Introduction to ROS
Lecture 1
Lab Lecture 1
Lab Task 1
Week 2
24 Jan 2016
29 Jan 2016
Lecture: 
Wheel kinematics and robot pose calculation 
Differential wheel drive 
Ackermann wheel drive  
Introduction to mobile robot sensors 
Wheel encoders 
Inertial Measurement Unit (IMU) and GPS 
Range sensors (Ultrasonic,2D/3D Laser range scanner) 
Vision sensors (Monocular/Stereo camera)  
Introduction to mobile robot actuators 
DC Brush/Brushless motors 
PID based velocity controller 
PID based position controller
Lab Task: ROS Interface with simulation environment
D. Chapter 2 
C. Chapter 3 
Lecture 2
Lab Lecture 2
Lab Task 2

Week 3
01 Feb 2016
10 Feb 2016
Lecture: 
Motion Models 
Velocity based model (Dead-Reckoning) 
Odometry based model (Wheel Encoders/IMU)  
Sensor Models 
Beam model of range finders 
Feature based sensor models 
Laser scanner 
Kinect 
Camera
Lab Task: ROS Interface with low level control
A. Chapter 5
A. Chapter 6
Lecture 3
Lab Lecture 3
Lab Task 3
Week 4
15 Feb 2016
19 Feb 2016
Lecture: 
Recursive State Estimation: Bayes Filter 
Linear Kalman Filter 
Extended Kalman Filter
Lab Task: IRobot setup with ROS and implement odometeric motion model
A. Chapter 3
Lecture 4
Lab Lecture 4
Lab Task 4
Week 5
22 Feb 2016
24 Feb 2016
Lecture: 
Non-parametric filters 
Histogram filters 
Particle filters
Lab Task: AR Drone setup with ROS and sensor data fusion using AR Drone's  
accelerometer and gyroscope
Lecture 5
Lab Lecture 5
Lab Task 5
Week 6
02 Mar 2016
04 Mar 2016
Lecture: 
Inertial sensors models 
Gyroscope 
Accelerometer 
Magnetometer 
GPS  
Inertial Odometry
Mid-Term Examination 1
Lecture 6

Week 7
09 Mar 2016
11 Mar 2016
Lecture: 
Visual Odometry: Camera model, calibration 
Feature detection: Harris corners, SIFT/SURF etc. 
Kanade-Lucas-Tomasi Tracker (Optical Flow)
Lab Task: Inertial Odometry using AR Drone's IMU and calculating measurement's  
covariance
C. Chapter 4
B. Chapter 6
B. Chapter 9
Lecture 7
Lab Lecture 6
Lab Task 6
Week 8
16 Mar 2016
18 Mar 2016
Lecture: 
Epi-polar geometry for multi-view Camera motion estimation 
Structure From Motion (SFM): Environment mapping (Structure), Robot/Camera pose  
estimation (Motion)
Lab Task: Calibrate AR Drone's camera and perform online optical flow.
B. Chapter 10
B. Chapter 11
Lecture 8
Lab Lecture 7
Lab Task 7
Week 9
30 Mar 2016
01 Apr 2016
Lecture: 
Map based localization 
Markov based localization 
Kalman Filter based localization
Lab Task: Using AR Drone's camera, perform visual odometry by SFM algorithm
C. Chapter 5
Lecture 9
Lab Lecture 8
Lab Task 8
Week 10
06 Apr 2016
08 Apr 2016
Lecture: 
Mapping 
Feature mapping 
Grid Mapping  
Introduction to SLAM 
Feature/Landmark SLAM 
Grid Mapping (GMapping)
Mid-Term Examination 2
A. Chapter 09
A. Chapter 10
Lecture 10

Week 11
13 Apr 2016
15 Apr 2016
Lecture: 
RGBD SLAM
Lab Task: Creating grid map using IRobot-Create equipped with laser scanner.
Lecture 11
Lab Lecture 9
Lab Task 9
Week 12
20 Apr 2016
22 Apr 2016
Lecture: 
Configuration/work spaces 
Path Planning algorithms: 
Greedy Best First Search 
Dijkstra 
A*  
Obstacle avoidance: Bug Algorithms
Lab Task: Create a 3D grid map using IRobot equipped with Microsoft Kinect
C. Chapter 06
Lecture 12
Lab Lecture 10
Lab Task 10
Week 13
27 Apr 2016
29 Apr 2016
Lecture: 
Exploration, Roadmaps
Lab Task: Setup and perform navigation using ROS navigation stack and stored map
Lecture 13
Lab Lecture 11
Lab Task 11
Week 14
04 May 2016
06 May 2016
Lecture: 
Recap, Recent research works and future directions 
Guest Lecture by Dr. Haider Ali. (DLR Germany)
Lab Task: Hands-on introduction to sampling based planners via Open Motion Planning  
Library (OMPL)
Lecture 14
Lab Lecture 12
Lab Task 12
Week 15
13 May 2016
14 May 2016
Project 1
Project 2
Project 3
Project 4
Project 5
Project 6

Project 1 Report
Project 2 Report
Project 3 Report
Project 4 Report
Project 5 Report
Project 6 Report