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 2017
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
Module Topics Reading/Reference
Week 1

Mobile Robotics
Kinematics
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

Mobile Robotics
Kinematics
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

Sensor Fusion 
and State 
Estimation
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

Sensor Fusion 
and State 
Estimation
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

Sensor Fusion 
and State 
Estimation
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

Inertial and 
Visual 
Odometry
Lecture: 
Inertial sensors models 
Gyroscope 
Accelerometer 
Magnetometer 
GPS  
Inertial Odometry
Mid-Term Examination 1
Lecture 6

Week 7

Inertial and 
Visual 
Odometry
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

Inertial and 
Visual 
Odometry
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

Localization and 
Mapping
Lecture: 
Natural, Artificial and GPS based localization 
Kalman Filter based localization 
Optical flow 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

Localization and 
Mapping
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

Localization and 
Mapping
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

Navigation and 
Path Planning
Lecture: 
Obstacle avoidance: configuration/work spaces, Bug Algorithm 
Path Planning algorithms: Dijkstra, Greedy First, A* 
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

Navigation and 
Path Planning
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

Navigation and 
Path Planning
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

  Final Presentations