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
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.