🚗

Understanding Simultaneous Localization and Mapping

Apr 16, 2025

Lecture on Simultaneous Localization And Mapping (SLAM)

Introduction

  • Previous Topic: Estimating an autonomous vehicle's pose with a pre-existing map.
  • Current Focus: Building a map and determining the vehicle's position simultaneously using SLAM.

SLAM Algorithms

  • Types of SLAM Algorithms:
    • Filtering: Uses online state estimation (e.g., extended Kalman filter, particle filter).
    • Smoothing: Utilizes the complete set of measurements for full trajectory estimation.
  • Graph-Based Formulation: Recent advances use factor graph optimization as a standard in modern SLAM.

Pose Graph Optimization

  • Problem Setup:
    • Autonomous vehicle equipped with lidar and odometry via wheel encoders.
    • Challenge: Map the environment and determine the robot's pose concurrently.
  • Ideal Scenario: No uncertainty in lidar or odometry leading to a perfect map.

Real-World Challenges

  • Measurement Errors: Lidar and odometry errors lead to uncertainties in robot pose estimates.
  • Mapping with Errors:
    • Inaccurate odometry causes drift in estimated robot pose.
    • Inconsistent mapping due to misalignment of measurements.

Explanation of Pose Graph Optimization

  • Pose Graph:

    • Nodes: Represent robot poses and their associated measurements of the environment.
    • Edges: Constraints or 'rubber bars' that represent estimated distances between node poses.
  • Constraints and Loop Closures:

    • Constraints keep the relative node distances based on odometry estimates.
    • Loop closure introduces new constraints that improve pose estimates and map accuracy.
    • Example: Connecting first and last poses to close the loop and optimize the graph.

Loop Closure and Optimization

  • Importance of Loop Closure:
    • Provides a mechanism to adjust and correct the map.
    • A strong loop closure can significantly improve map accuracy.
  • Adding More Closures:
    • Continued driving and new loop closures further refine the map.
    • Importance of accurate data association for valid loop closures.

Building a Map

  • Occupancy Grid:
    • Binary Occupancy Grid: Cells marked 1 for occupied, 0 for empty.
    • Probabilistic Occupancy Grid: Cells have occupancy probabilities between 0 and 1.

Conclusion

  • SLAM allows for simultaneous mapping and localization, enabling better trajectory planning.
  • Encouragement to practice and explore SLAM implementations (e.g., MATLAB example provided).

Additional Resources

  • MATLAB Example: Implement SLAM with Lidar Scans.
  • Further Reading/Viewing: Additional resources provided for in-depth study.

This lecture provides a foundational understanding of SLAM, particularly focusing on pose graph optimization, highlighting the challenges and solutions involved in autonomous navigation systems.