Welcome to the ICRA 2022 Non-Gaussian SLAM tutorial. This hands-on workshop will take you through the some of the canonical issues motivating Non-Gaussian SLAM, and demonstrate how real-world problems (like false loop-closures and distributing computations) are addressed with this emerging technique.  Furthermore, the DIY examples in this tutorial will show how the same modeling philosophy can be extended to other non-Gaussian behavior, and how this new modeling freedom can simplify SLAM front-end processes.

Learn more about the four drivers or non-Gaussian behavior in SLAM.

Visitors can either read, or “bring-your-own-laptop” to try out the non-Gaussian SLAM code for real!

What you will learn in this workshop

The examples listed below aim to elucidate new avenues in Non-Gaussian SLAM:

    • Demonstrate better the pros and cons of Non-Gaussian (multi-modal) SLAM processing
    • Learn how to pose challenging robotics localization and mapping problems as a non-Gaussian factor graph with SLAM variables and factors
    • Understand how to incorporate imperfect information that is often found in real-world data
    • Learn how to solve the graph (both locally and in the cloud) and derive an estimate of the path traveled by the vehicle
    • Visualize the information and examine regions of interest to improve the results
    • Understand how to expand the example to address a SLAM robotics problem of your own

DIY Examples

The following DIY canonical examples—followed by real-world use-cases—intends to guide the reader on the four main drivers of non-Gaussian behavior in SLAM.  You can work through any or all of the following examples (to reinforce the insights):

    1. A cellphone-based visual SLAM solution in the cloud (zero install)
    2. 1D Robot data association uncertainty (multi-hypothesis 101),
    3. Underdetermined Range-only SLAM problem (more variables than measurements),
    4. A marine ASV SLAM from ambiguous radar data
    5. AGV robot using imperfect Navigation-Affordances as a data association problem

A Cellphone SLAM Solution using a Browser

The follow example shows how multi-session AprilTag detections from camera data came be joined together (with simulated ambiguity) to build a larger map.  

1D Robot data association uncertainty (multi-hypothesis 101)

This example is a modern reworking of the popular 3 door robot example.  In this example a continuous, but non-Gaussian factor graph is constructed so as to capture the same uncertainty.

Underdetermined Range-only SLAM

Marine ASV SLAM from ambiguous Radar data

The follow code snippets show how real-world Radar data can be processed using a Non-Gaussian SLAM pipeline.

Tutorial text — work in progress.

AGV robot using imperfect Navigation-Affordances

This example showcases a very recent real-world example where data association uncertainty modeling allows for use of imperfect Navigation-Affordances: