Perform localization and mapping using lidar scans
The lidarSLAM
class performs simultaneous localization and
mapping (SLAM) for lidar scan sensor inputs. The SLAM algorithm takes in lidar scans and
attaches them to a node in an underlying pose graph. The algorithm then correlates the
scans using scan matching. It also searches for loop closures, where scans overlap
previously mapped regions, and optimizes the node poses in the pose graph.
creates a lidar
SLAM object. The default occupancy map size is 20 cells per meter. The maximum
range for each lidar scan is 8 meters.slamObj
= lidarSLAM
creates a lidar SLAM object and sets the slamObj
= lidarSLAM(mapResolution
,maxLidarRange
)MapResolution
and MaxLidarRange
properties based on the inputs.
specifies the upper bound on the number of accepted scans allowed when
generating code. slamObj
= lidarSLAM(mapResolution
,maxLidarRange
,maxNumScans)maxNumScans
is a positive integer. This scan
limit is only required when generating code.
addScan | Add scan to lidar SLAM map |
copy | Copy lidar SLAM object |
removeLoopClosures | Remove loop closures from pose graph |
scansAndPoses | Extract scans and corresponding poses |
show | Plot scans and robot poses |
[1] Hess, Wolfgang, Damon Kohler, Holger Rapp, and Daniel Andor. "Real-Time Loop Closure in 2D LIDAR SLAM." 2016 IEEE International Conference on Robotics and Automation (ICRA). 2016.