Alex Goldhoorn

SLAM with Growing Neural Gas

SLAM with Growing Neural Gas (GNG)

This simulation demonstrates the mapping component of my Bachelor's thesis (2006) on using Growing Neural Gas networks for SLAM (Simultaneous Localization and Mapping).

1. What is SLAM?

SLAM is the fundamental problem in mobile robotics: a robot must simultaneously:

This is a chicken-and-egg problem: you need a map to localize, but you need to know your position to build an accurate map. SLAM algorithms solve this by maintaining probabilistic estimates of both simultaneously.

2. Traditional SLAM Approaches

Common methods in 2006 (when this work was done) included:

3. Growing Neural Gas for Mapping

Instead of using fixed grids or handcrafted features, this approach uses a self-organizing neural network called Growing Neural Gas (GNG). The network dynamically adapts its structure to represent the environment.

How GNG Works

GNG is an unsupervised learning algorithm that maintains a graph of nodes and edges:

4. Key Advantages

5. The Algorithm in the Simulation

In this interactive demo:

6. Parameters

The GNG algorithm has several tunable parameters (visible in the code):

7. Bachelor Thesis Context

This work was part of my Bachelor's thesis at the University of Groningen (2006), where I explored using self-organizing neural networks for mobile robot SLAM. The thesis compared GNG-based mapping with traditional grid-based approaches, demonstrating advantages in memory efficiency and adaptive resolution.

Reference:

Goldhoorn, A., Stadman, H., & Eldering, H. (2006). "Implementation of a Simultaneous Localization and Mapping System using Growing Neural Gas". Bachelor's Thesis, University of Groningen, The Netherlands.
PDF | BibTeX

8. Modern Developments

Since 2006, SLAM has evolved significantly with methods like FastSLAM, ORB-SLAM, and LiDAR-based approaches. However, the core concept of using adaptive, self-organizing structures for efficient map representation remains relevant, particularly in resource-constrained systems and for topological mapping.

Try the Simulation Back to Tools