メインコンテンツ

レジストレーションと SLAM

ICP や NDT などのアルゴリズムまたは特徴ベースの手法を使用した点群のレジストレーション、3 次元点群データまたは 2 次元 LiDAR スキャンでの SLAM アルゴリズムの実装

"点群のレジストレーション" は、同じシーンの 2 つの 3 次元点群を共通の座標系に合わせる処理です。Lidar Toolbox™ の関数を使用して、反復最近接点 (ICP)、LiDAR オドメトリおよび地図作成 (LOAM)、正規分布変換 (NDT)、高速グローバル レジストレーション (FGR)、コヒーレント点ドリフト (CPD) など、ローカルとグローバルの手法を使用した点群の相互レジストレーションが可能です。また、LiDAR レジストレーション アナライザー アプリを使用すると、対話的に点群のレジストレーションを行ってさまざまなレジストレーション手法の結果を比較し、パラメーターを調整したり前処理手順を追加したりできます。詳細については、Get Started with the Lidar Registration Analyzer Appを参照してください。

"自己位置推定と環境地図作成の同時実行" (SLAM) は、ビークルやロボットの位置と向きを、その周囲を基準として計算し、同時にその環境の地図作成を行う処理です。ツールボックスでは、点群データを使用したグラフベースの 3 次元 SLAM がサポートされています。詳細については、MATLAB での点群 SLAM の実装を参照してください。

lidarscanmap オブジェクトを使用して、2 次元 LiDAR スキャンで SLAM を実行することもできます。詳細については、SLAM を使用した 2 次元 LiDAR スキャンからのマップの作成を参照してください。

アプリ

LiDAR レジストレーション アナライザーLiDAR 点群のレジストレーション結果の解析 (R2024a 以降)

関数

すべて展開する

pctransform3 次元点群の変換
rigidtform3d3 次元剛体幾何学的変換 (R2022b 以降)
affinetform3d3 次元アフィン幾何学的変換 (R2022b 以降)
simtform3d3 次元相似幾何学的変換 (R2022b 以降)
transltform3d3 次元平行移動幾何学的変換 (R2022b 以降)
estgeotform3dEstimate 3-D geometric transformation from matching point pairs (R2022b 以降)
undistortEgoMotionUndistort point cloud affected by ego motion (R2023a 以降)
pcalignAlign array of point clouds
pcmerge3 次元点群のマージ
pccat3 次元点群配列の連結

特徴の検出

detectISSFeaturesDetect ISS feature points in point cloud (R2022a 以降)
detectLOAMFeaturesDetect LOAM feature points in point cloud (R2022a 以降)
LOAMPointsObject for storing LOAM feature points (R2022a 以降)
detectRectangularPlanePoints点群から指定した寸法の四角形平面を検出
detectRoadAnglesDetect road angles in point cloud (R2022b 以降)

特徴の抽出

extractFPFHFeatures点群から高速点特徴ヒストグラム (FPFH) 記述子を抽出
extractEigenFeatures点群セグメントから固有値ベースの特徴を抽出 (R2021a 以降)
eigenFeature固有値ベースの特徴を格納するためのオブジェクト (R2021a 以降)

特徴のマッチング

pcmatchfeatures点群の間の一致する特徴を検出
pcregistericpICP アルゴリズムを使用した 2 つの点群のレジストレーション
pcregisterloamRegister two point clouds using LOAM algorithm (R2022a 以降)
pcregisterfgrFGR アルゴリズムを使用した 2 つの点群のレジストレーション (R2022b 以降)
pcregisterndtRegister two point clouds using NDT algorithm
pcregistercorrRegister two point clouds using phase correlation
pcregistercpdRegister two point clouds using CPD algorithm

位置推定と地図作成

lidarscanmapSimultaneous localization and mapping using 2-D lidar scans (R2022b 以降)
addScanAdd 2-D lidar scan to map (R2022b 以降)
lidarScan2 次元 LiDAR スキャンを保存するためのオブジェクトの作成

姿勢の最適化

poseGraphLiDAR スキャン マップからの 2 次元姿勢グラフの作成 (R2022b 以降)
updateScanPosesUpdate absolute poses of 2-D lidar scans (R2022b 以降)
findPoseFind absolute pose of 2-D lidar scan in map (R2022b 以降)
matchScansEstimate pose between two laser scans
matchScansGridEstimate pose between two lidar scans using grid-based search
matchScansLineEstimate pose between two laser scans using line features
transformScanTransform laser scan based on relative pose (R2021a 以降)

ループ閉じ込み検出

detectLoopClosureDetect loop closure in 2-D lidar scan map (R2022b 以降)
addLoopClosureAdd loop closure to map (R2022b 以降)
deleteLoopClosureDelete loop closure between 2-D lidar scans (R2022b 以降)

位置推定と地図作成

pcmaploamCreate map of LOAM feature points for map building (R2022b 以降)
pcmapndtLocalization map based on normal distributions transform (NDT) (R2021a 以降)
pcmapsegmatchMap of segments and features for localization and loop closure detection (R2021a 以降)

姿勢の最適化

pcviewsetManage data for point cloud based visual odometry and SLAM
createPoseGraphCreate pose graph
optimizePosesOptimize absolute poses using relative pose constraints

ループ閉じ込み検出

scanContextDistanceDistance between scan context descriptors
scanContextDescriptorExtract scan context descriptor from point cloud
scanContextLoopDetectorDetect loop closures using scan context descriptors (R2021b 以降)

トピック

注目の例