Computer Science · Course

Localization, Mapping, and SLAM using Python

Learn about the simultaneous localization and mapping of autonomous robots using Python.

Duration
12 weeks
Content
19 hours
Projects
2
Mode
Online
Overview

What you'll
be able to do.

Programming sets the foundation for the behavior of Autonomous Vehicles and robots. Python programming is one such language that lets users automate robots to respond to a wide range of different conditions instead of having to teach them how to respond to each one. Autonomous robots are programmed to independently navigate their environment by using localization and mapping techniques. As autonomous robots and vehicles are a growing trend, knowing how to program them is a vital skill sought after in the industry.

By taking this course, learners will

  • Understand the basic concepts of localization and mapping, probability theory and its implications in robotics, the different algorithms employed in directing robot behavior, and the robot operating system.
  • Extensively use Jupyter Notebook to write scripts that direct the robot’s behavior and consider all uncertainties it may face.
  • Be exposed to the advanced techniques used in the autonomous vehicle and robotics industry.
  • Complete challenges and projects designed by experts according to industry specifications that require practical application of the concepts learned throughout the course.

Who can enroll in this course?

This course comes under the autonomous domain, and can be taken by learners with an interest in statistics, calculus and programming experience in C++ and Python

Tools you'll use
PythonC++
Curriculum

12 modules,
built with industry.

  1. 01Localization, Mapping, and SLAM using Python12 modules
    1. Introduction to LocalizationW01

      When it comes to autonomous robots, the process of localization uses data from sensors to determine their behaviours and responses. Sensors in the system provide data inputs to the robot regarding the environment, following which it implements an algorithm to determine its upcoming behaviours. It is important to understand how vehicles and robots navigate their environment through localization.

      This week will cover

      • Methods of performing localization (With the example of the self-driving car)
      • Different sensors used for localization (LiDAR, RADAR, GNSS, INS, wheel encoders)
      • Sensing models for sensors used in practice that increase the presence of uncertain results in imperfect models
      • Downloading Python and Jupyter notebook
      • NumPy and matplotlib
    2. Probability Theory Refresher and Probabilistic ModellingW02

      As events that autonomous robots may encounter are not always predicted, the probability theory is considered to work through uncertainties in the environment. By applying algorithms in probability theory, all possible outcomes can be calculated. It is important to understand the basic concepts of probability theory, and the different functions and algorithms employed in determining possible outcomes.

      This week will cover

      • Error sources: limitations of sensing - deterministic vs. non-deterministic
      • Augmented odometry model with error
      • Deviations because of error additions
      • Error propagation in IMU
      • Concepts such as random variable, random vectors, density function, joint density, marginal density, conditional independence
      • Probability Density Function (PDF), gaussian, multivariate gaussian
      • Variance and covariance
      • Random variables in robotics state estimation
      • Probability distribution
    3. Bayesian FilteringW03

      Probabilistic modelling takes the effect of random events into consideration to predict the occurrence of possible future outcomes. In robotics, Bayesian filtering is used for determining the possibilities of multiple perceptions to let the robot understand its relative position and orientation. It is important to understand how probabilistic modelling and Bayesian filtering work in the context of robotics.

      This week will cover

      • Probabilistic generative laws
      • Definitions for state and environment
      • Concepts of belief, posterior
      • Probabilistic models for perception and state transition
      • Bayesian filter, Markov assumption
      • Kalman filters and Particle filters: Introduction
    4. Kalman Filter W04

      The Kalman filter works to reduce the overall error covariance and uncertainty by combining all the uncertainties in terms of the robot’s state and sensor measurements. It is essential in localization, trajectory tracking, identifying parameters, positioning, and the control of robots. It is important to understand how the Kalman filter works in the automation of robots.

      This week will cover

      • Kalman filter and its derivation from Bayes filter
      • Kalman Gain (with an example)
      • Kalman filter assumptions and optimality
    5. Extended Kalman Filter and Unscented Kalman FilterW05

      The extended Kalman filter is applied for non-linear systems, while the Kalman filter is used for linear systems. By using the extended variant of the Kalman filter, limitations from using the Kalman filter alone can be overcome. The unscented Kalman filter is a non-linear Kalman filter. It is important to understand the different Kalman filters and when they are used.

      This week will cover

      • Limitations of Kalman filter
      • Variants that overcome the limitations
      • Jacobians in Extended Kalman filter
    6. Particle Filter (aka Monte Carlo Localization) W06

      Particle filter localization, also called Monte Carlo Localization, is an algorithm implemented for localization. This algorithm predicts the position of the robot as it works its way through the environment by using a series of samples/particles. It is important to understand the implications of particle filter localization in the automation of robots.

      This week will cover

      • Map-based localization
      • Derivation of particle filter from the Bayes filter
      • PF handling non-linearity
      • Properties of particle filter
    7. Multi Sensor Fusion W07

      Multi-sensor fusion is the means by which data from multiple sensors or sources are integrated to reduce the uncertainty of information from individual sources. This allows for accurate estimations of an autonomous robot’s location, position, and orientation. There are different methods and algorithms used in multi-sensor fusion, such as Kalman filtering and extended Kalman filtering. It is important to understand the algorithms used to combine data from multiple sensors.

      This week will cover

      • Loosely coupled and tightly coupled techniques in Extended Kalman filtering
      • Extension of state vector to accept multiple inputs
    8. MappingW08

      Autonomous robots and vehicles develop maps of their surroundings through mapping. In this process, sensors are used to gather information about the surrounding environment, and create a map with it. Mapping is a concept central to the development of autonomous vehicles and robots, making it imperative for learners to understand the process of map generation.

      This week will cover

      • Map generation process from the perspective of self-driving car
    9. Introduction to SLAM with EKF SLAMW09

      SLAM (Simultaneous localization and mapping) is implemented for autonomous robots and vehicles to develop a map and localize the subject on that map. It programs the autonomous subject to navigate the environment on its own through localization and mapping. While localization uses input data from sensors to determine behaviours, mapping uses information from the sensors to develop a map for the subject to understand its positioning and orientation.

      This week will cover

      • Explanation of how SLAM problems resemble chicken and egg proble
      • Explanation of simplest SLAM implementation - EFF, SLAM, and loop closure
    10. Graph SLAMW10

      Graph SLAM takes information regarding the locations of the autonomous robot as initial and relative motion constraints to provide the future probabilities of its movement. It is important to understand how graph-based SLAM works in the development of a robot’s position and orientation.

      This week will cover

      • Difference between offline SLAM and online SLAM
      • Motivate graph based modeling of SLAM problem
      • Explanation of mathematical formulation of Graph SLAM
      • Explanation of how Graph SLAM can be used offline to generate a map of environment
    11. FastSLAMW11

      FastSLAM is an algorithm that combines extended Kalman filters and particle filters to recursively predict full posterior distribution across the landmark locations and robot pose. It is important to understand how the FastSLAM algorithm works, and the mathematical derivations involved.

      This week will cover

      • Particle filter based SLAM
      • Mathematical derivation and comparison with three SLAM techniques
    12. Other Implementations for SLAM and ROS IntroW12

      SLAM is used in mobile robotics to build and update the map of the environment that the robot has not explored by using sensors that get inputs from the surroundings. There are also other applications of SLAM. It is important to understand SLAM in the context of the Robotic Operating System (ROS).

      This week will cover

      • Explanation of factor graph and pose graph formulations of SLAM problem
      • Explanation of how camera is used as sensing source in SLAM
      • Example of factor graph implementation on drone fitted with downward facing camera
      • ROS - what it is and important concepts (Publisher, subscriber, topics, message)
Industry projects

2 projects
you'll ship.

Our projects are designed by experts in the industry to reflect industry standards. By working through our projects, Learners will gain a practical understanding of what they will take on at a larger-scale in the industry. In total, there are 2 Projects that are available in this program.

Implementing an MCL Algorithm to Localize a Robot

Implementing an MCL Algorithm to Localize a Robot

In this project, learners will have to implement an MCL algorithm to simulate the localization of a robot equipped with INS and RFID tags. The various steps in the algorithm have t…

Implementing an Occupancy Grid Map Algorithm using Turtlebot

Implementing an Occupancy Grid Map Algorithm using Turtlebot

In this project, learners will have to implement an occupancy grid map algorithm using Turtlebot fitted with LiDAR and an accurate Odometry sensor. Learners will have a starter cod…

Fee

One fee.
Everything included.

Become job ready with our comprehensive industry focused curriculum for freshers & early career professionals

Premium
₹40,000
Inclusive of all charges
  • 1 Year Access
  • Personalized Page
  • Live Individual & Group Sessions
  • Personalized & Hands-On
  • Job-Oriented Industry Relevant Curriculum
Check eligibility →
FAQ

Questions,
answered.

Who can take the Localization, Mapping, and SLAM using Python course?

Students and graduates of computer science and related engineering streams can take up Localization, Mapping, and SLAM using Python courses.

Is the Localization, Mapping, and SLAM using Python an online program?

Yes, the SLAM localization course is 100% online.

What is the duration of the Localization, Mapping, and SLAM using Python course?

The advanced localization and mapping course can be completed in 12 weeks.

How much can a robotic engineer earn?

According to Ambitionbox, the average annual salary of a robotics engineer is INR 3.5 lakhs. However, your pay package may vary with your experience and expertise.

Is there any certificate for completing the Localization, Mapping, and SLAM using Python course?

Yes, you shall be given a course completion certificate after completing the Localization, Mapping, and SLAM using Python course. The top 5% of the scorers will receive a merit certificate alongside the course completion certificate.

Is any technical support available for this SLAM algorithm course?

Yes, you can clear your doubts during coursework from our technical support team through email and forum support.

Can you tell me more about Skill-Lync?

Skill-Lync is among India's leading EdTech platforms dedicated to transforming engineering education. We equip young engineers with the latest skill sets and cutting-edge tools in new-age technologies.

The brainchild of two engineers from Chennai, Skill-Lync, is on a mission to bridge the skill gap between aspiring professionals and the industry's demands through job-oriented courses.

Next step

Not sure it's
the right fit?

A counsellor will walk you through the syllabus, projects and fee options — and tell you honestly if another course suits you better.

Get the syllabus + a call back

We'll email the full syllabus and call within one working day.

By submitting you agree to our Terms and Privacy Policy.

Call usEnquire
Talk to a career counsellor

Talk to a career counsellor

Free 20-minute call. We'll map the right course to where you want to work.

By submitting you agree to our Terms and Privacy Policy.