Navigation and Mapping
To understand an unknown environment and navigate to a desired destination, a robot must have a clear picture of its surroundings. Especially in the absence of GPS data, a simultaneous localization and mapping (SLAM) algorithm can help a robot make effective decisions and plan a path through its environment.
SLAM consists of these two processes:
Localization — Estimating the pose of the robot in a known environment.
Mapping — Building a map of an unknown environment by using a known robot pose and sensor data.
Localization requires the robot to have a map of the environment, and mapping requires a good pose estimate. In the SLAM process, a robot creates a map of an environment while localizing itself. For more information, see Implement Point Cloud SLAM in MATLAB.
To perform SLAM, you must preprocess point clouds. Lidar Toolbox™ provides functions to extract features from point clouds and use them to register point clouds to one another. For an example of how to use fast point feature histogram (FPFH) feature extraction in a 3-D SLAM workflow for aerial data, see Aerial Lidar SLAM Using FPFH Descriptors.
You can also perform SLAM by using 2-D lidar scans. By storing the data for a 2-D
lidar scan in a lidarScan
object, you can perform scan matching to estimate pose. For more information, see Build Map from 2-D Lidar Scans Using SLAM.
Lidar Toolbox supports various graph-based SLAM workflows, including 2-D SLAM, 3-D SLAM, online SLAM and offline SLAM.
Apps
Lidar Registration Analyzer | Analyze results of lidar point cloud registration (Since R2024a) |
Functions
Topics
- Implement Point Cloud SLAM in MATLAB
Understand point cloud registration and mapping workflow.
- Get Started with the Lidar Registration Analyzer App
Interactively compare results of point cloud registration techniques.
- Estimate Transformation Between Two Point Clouds Using Features
This example shows how to estimate a rigid transformation between two point clouds.
- Match and Visualize Corresponding Features in Point Clouds
This example shows how to match corresponding features between point clouds using the
pcmatchfeatures
function and visualize them using thepcshowMatchedFeatures
function. - Generate Lidar Point Cloud Data for Driving Scenario with Multiple Actors
This example shows you how to generate lidar point cloud data for a driving scene with roads, pedestrians, and vehicles created using a
drivingScenario
(Automated Driving Toolbox) object.