Main Content

ナビゲーションと地図作成

点群のレジストレーションとマップの作成、2 次元および 3 次元 SLAM、2 次元障害物検出

未知の環境を理解して目的地までナビゲートするために、ロボットは周囲を明確に把握している必要があります。GPS データがない場合は特に、ロボットが効果的な決断を下し、その環境を通るパスを計画するために、"自己位置推定と環境地図作成の同時実行" (SLAM) アルゴリズムが役立つ可能性があります。

SLAM は次の 2 つのプロセスで構成されています。

  • 位置推定 — 既知の環境におけるロボットの姿勢を推定します。

  • 地図作成 — 既知のロボットの姿勢とセンサー データを使用して、未知の環境のマップを作成します。

位置推定ではロボットが環境のマップをもつ必要があり、地図作成では姿勢の推定を適切に行う必要があります。SLAM プロセスでは、ロボットが自身の位置を推定しながら環境のマップを作成します。詳細については、MATLAB での点群 SLAM の実装を参照してください。

SLAM を実行するには、点群の前処理が必要です。Lidar Toolbox™ には、点群から特徴を抽出し、それらを使用して点群を相互にレジストレーションするための関数が用意されています。航空データの 3 次元 SLAM ワークフローで高速点特徴ヒストグラム (FPFH) 特徴抽出を使用する方法の例については、Aerial Lidar SLAM Using FPFH Descriptorsを参照してください。

2 次元 LiDAR スキャンを使用して SLAM を実行することもできます。2 次元 LiDAR スキャンのデータを lidarScan オブジェクトに格納することにより、スキャン マッチングを実行して姿勢を推定できます。詳細については、SLAM を使用した 2 次元 LiDAR スキャンからのマップの作成を参照してください。

Lidar Toolbox では、2 次元 SLAM、3 次元 SLAM、オンライン SLAM およびオフライン SLAM を含むさまざまなグラフベースの SLAM ワークフローがサポートされています。

Simultaneous localization and mapping

アプリ

LiDAR レジストレーション アナライザーAnalyze results of lidar point cloud registration (R2024a 以降)

関数

すべて展開する

detectLOAMFeaturesDetect LOAM feature points from 3-D lidar data (R2022a 以降)
detectISSFeaturesDetect ISS feature points in point cloud (R2022a 以降)
extractEigenFeatures点群セグメントから固有値ベースの特徴を抽出 (R2021a 以降)
extractFPFHFeatures点群から高速点特徴ヒストグラム (FPFH) 記述子を抽出 (R2020b 以降)
pcmatchfeatures点群の間の一致する特徴を検出 (R2020b 以降)
pcregisterloamRegister two point clouds using LOAM algorithm (R2022a 以降)
pcregisterfgrRegister two point clouds using FGR algorithm (R2022b 以降)
pcregistericpICP アルゴリズムを使用した 2 つの点群のレジストレーション
pcregistercpdRegister two point clouds using CPD algorithm
pcregistercorrRegister two point clouds using phase correlation (R2020b 以降)
pcregisterndtRegister two point clouds using NDT algorithm
matchScansEstimate pose between two laser scans (R2020b 以降)
matchScansGridEstimate pose between two lidar scans using grid-based search (R2020b 以降)
matchScansLineEstimate pose between two laser scans using line features (R2020b 以降)
transformScanTransform laser scan based on relative pose (R2021a 以降)
pcmaploamCreate map of LOAM feature points for map building (R2022b 以降)
pcmapsegmatchMap of segments and features for localization and loop closure detection (R2021a 以降)
lidarscanmapSimultaneous localization and mapping using 2-D lidar scans (R2022b 以降)
addScanAdd 2-D lidar scan to map (R2022b 以降)
detectLoopClosureDetect loop closure in 2-D lidar scan map (R2022b 以降)
addLoopClosureAdd loop closure to the map (R2022b 以降)
deleteLoopClosureDelete loop closure between 2-D lidar scans (R2022b 以降)
poseGraphCreate 2-D pose graph from lidar scan map (R2022b 以降)
updateScanPosesUpdate absolute poses of 2-D lidar scans (R2022b 以降)
findPoseFind absolute pose of 2-D lidar scan in the map (R2022b 以降)
copyCreate a copy of lidarscanmap object (R2022b 以降)
showDisplay 2-D lidar scans and lidar sensor trajectory (R2022b 以降)
pcshowpairVisualize difference between two point clouds
pcplayerストリーミング 3 次元点群データの可視化
pcshowMatchedFeaturesDisplay point clouds with matched feature points (R2020b 以降)
rangeSensorSimulate range-bearing sensor readings (R2020b 以降)
lidarSensorSimulate lidar sensor readings (R2022a 以降)
lidarScan2 次元 LIDAR スキャンを保存するためのオブジェクトの作成 (R2020b 以降)
eigenFeature固有値ベースの特徴を格納するためのオブジェクト (R2021a 以降)
LOAMPointsObject for storing LOAM feature points (R2022a 以降)

トピック