Table of Contents
- Table of Contents
- Introduction to Kalman Filters by Michel van Biezen
- Introduction to GPS by Michel van Biezen
- Control System Lectures by Brian Douglas
- Forward and Inverse Kinematics by Coding Math
- Artificial Intelligence for Robotics by Sebastian Thrun (Udacity)
- SLAM tutorial by Prof. Claus Brenner
- Visual Navigation for Flying Robots by Dr. Jürgen Sturm
- Robotics - ColumbiaX - CSMM.103x - edX
Introduction to Kalman Filters by Michel van Biezen
Introduction to GPS by Michel van Biezen
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.
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 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 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 4: Motion Planning
Planning robot motion. Path planning strategies A* search and Dynamic Programming.
Lesson 5: PID Control
Path smoothing. PID controller to make robot follow a path. Smooth corrections when robot deviates from path.
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.
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:
Individual lectures:
Lecture 1: Introduction and History of Mobile Robotics
Lecture 2: Linear Algebra, 2D/3D geometry and Sensors
Lecture 3: Probabilistic Models and State Estimation
Lecture 4: Robot Control
Robotics - ColumbiaX - CSMM.103x - edX
Overview
Programming in ROS (Robot Operating System) with Python. Focus on Robot arms.
Course Outline
-
Week 1: Introduction to Robotics, Robotics and AI, Introduction to ROS, Project 1 released
-
Week 2: 2D Transforms, Homogenous Coordinates, 3D Transforms, Thinking about Transforms, Transform Inverse, Rotation Representations, Transforms in ROS, the TF Library, Project 2 released
-
Week 3: Robot Arms Introduction, Kinematic Chains, Forward Kinematics: URDF, Forward Kinematics: Analytical Methods, DH Parameters, Forward Kinematics:DH Examples, Project 3 released
-
Week 4: Analytical IK, Robot Examples, Robot Workspaces and IK Solutions, Homework 1 released
-
Week 5: Differential Kinematics: Jacobian Definition and Analytical Computation, Singularities, Full Kinematics: Robot Examples, Homework 2 released
-
Week 6: Study week
-
Week 7: Numerical Jacobian Computation, Cartesian and Null Space Control, Porject 4 released
-
Week 8: Motion Planning: Configuration Space vs. Task Space, Stochastic Motion Planning, Project 5 released
-
Week 9: Mobile Robots Introduction, Mobile Robots Kinematics: Differential Drive, Other Kinematics, Path Planning for Mobile Robots
-
Week 10: Course Recap, Things We Have Not Covered, Robotics and AI Revisited