Total Robotics

A collection of course materials and lectures about robotics.

View on GitHub

Table of Contents

Introduction to Kalman Filters by Michel van Biezen

playlist with 55 videos

Introduction to GPS by Michel van Biezen

playlist with 18 videos

Control System Lectures by Brian Douglas

PID Control: playlist with 2 videos

Forward and Inverse Kinematics by Coding Math

Demo with implementation in Javascript.

Lecture 1: video

Lecture 2: video

Lecture 3: video

Lecture 4: video

Artificial Intelligence for Robotics by Sebastian Thrun (Udacity)

A course created by Sebastian Thrun on the on-line educational platform Udacity. It covers the basic techniques for self-driving robots/cars. The course material is presented in a series of videos accessible via the Udacity platform. This course is very motivational. The exercises sometimes vary highly in difficulty though. The solution code for the exercises is always given. There’s also an on-line forum where students can ask questions. This is a good place to start.

Link to the class Wiki

Lesson 1: The problem of localization

Robot sensing and movement. Probabilistic techniques to deal with inaccuracies. Probability theory basics like Bayes theorem and law of total expectation. Finding position in 2D world.

Lesson notes - PDF

Lesson 2: Kalman Filters

Powerful localization method. Matrix operations to predict position and velocity of robot with linear motion. Conenctions between Kalman filter and Gaussian function and covariance.

Lesson notes - PDF

Lesson 3: Particle Filters

Alternative technique to Kalman Filter. Different possible robot positions are generated at random and evaluated according how close these are to the observed measurements. Particles are then reselected with probability. This creates a cluster around robot, reflecting its probable position.

Lesson notes - PDF

Lesson 4: Motion Planning

Planning robot motion. Path planning strategies A* search and Dynamic Programming.

Lesson notes - PDF

Lesson 5: PID Control

Path smoothing. PID controller to make robot follow a path. Smooth corrections when robot deviates from path.

Lesson notes - PDF

Lesson 6: GraphSLAM

Review of previous lessons. Method for simultaneous localization and mapping (SLAM). This method helps solving the problem of a robot in a world whose features are unknown.

Lesson notes - PDF

SLAM tutorial by Prof. Claus Brenner

A tutorial on Youtube on Simultaneous Location And Mapping by Prof. Claus Brenner. Starter code in Python can be downloaded using a link below the videos. No solution code is given. Only the expected results of running the solution code are given. This is a very nice tutorial to follow after “Artificial Intelligence for Robotics” by Sebastian Thrun.

Unit A: Getting started with a real robot

Video 1: Getting Started
Video 2: Motor Control
Video 3: Motion Model
Video 4: Implementing the motion model
Video 5: Some modifications
Video 6: Sensor Data
Video 7: Sensor Data pt.2
Video 8: Sensor Data pt.3
Video 9: Sensor Data pt.4

Unit B: Using sensor data to improve the robot’s state

Video 1: Intro
Video 2: Estimating the feature transform
Video 3: Applying the transform
Video 4:
Video 5: Estimating the wall transform
Video 6: ICP - Iterative Closest Point transform

Unit C: Filtering

Video 1: Intro
Video 2: Moving probability distribution
Video 3: Convolution of distribution
Video 4: Modelling uncertainty
Video 5: Multiplication of probability distribution
Video 6: Histogram Filter
Video 7
Video 8
Video 9: Kalman Filter vs. Histogram Filter
Video 10: OVerview of Filtering

Unit D: Kalman Filter

Video 1: Intro
Video 2: Normal Distribution
Video 3
Video 4
Video 5
Video 6: Kalman Filtering in 1D and nD
Video 7
Video 8
Video 9
Video 10
Video 11
Video 12
Video 13: Extended Kalman Filter
Video 14: EKF - prediction step
Video 15: EKF - prediction step
Video 16: EKF - correction step
Video 17: Kalman Filter - putting everything together
Video 18: Outro

Unit E: Particle Filter

Video 1: Intro
Video 2: Localization
Video 3
Video 4: Particles - prediction step
Video 5: Particles - correction step
Video 6: Density Estimation
Video 7: Conclusions

Unit F: Simultaneous Localization and Mapping

Video 1: Intro
Video 2: Online SLAM vs. Full SLAM
Video 3
Video 4: EKF SLAM - prediction
Video 5: Adding landmarks
Video 6: EKF SLAM - correction
Video 7
Video 8: On landmarks and Conclusions

Unit G: Particle Filter SLAM - FastSLAM

Video 1: Intro
Video 2: Correspondence likelihood
Video 3: New landmark
Video 4: Update landmark
Video 5: Correction
Video 6: Spurious landmarks
Video 7: Conclusion

Unit PP: Basics of Path Planning

Video 1: Intro and Dijkstra’s algorithm
Video 2: Dijkstra pt.2
Video 3: Dijkstra pt.3
Video 4: Dijkstra using Heap data structure
Video 5: Dijkstra optimal path
Video 6: Greedy search algorithm
Video 7: A* algorithm
Video 8: A* with potentional functions
Video 9: A* with kinematic state space
Video 10: A* with kinematic state space - optimized
Video 11: End

Visual Navigation for Flying Robots by Dr. Jürgen Sturm

Complete playlist:

playlist

Individual lectures:

Lecture 1: Introduction and History of Mobile Robotics

video

Lecture 2: Linear Algebra, 2D/3D geometry and Sensors

video

Lecture 3: Probabilistic Models and State Estimation

video

Lecture 4: Robot Control

video

Robotics - ColumbiaX - CSMM.103x - edX

Overview

Programming in ROS (Robot Operating System) with Python. Focus on Robot arms.

link

Course Outline