LIDAR スキャンおよび姿勢からの占有マップの作成
関数buildMap
は、占有マップをlidarScan
オブジェクトとして作成するために LIDAR スキャンの読み取り値と関連付けられている姿勢を受け取り、occupancyMap
を作成するために関連付けられている姿勢 [x y theta]
を受け取ります。
ある駐車場のロボットに搭載されたセンサーから収集したスキャンと姿勢の推定を読み込みます。収集されたデータはlidarSLAM
アルゴリズムを使用して相互に関連付けられます。このアルゴリズムはスキャン マッチングを実行してスキャンを関連付け、ロボットの軌跡全体で姿勢を調整します。スキャンと姿勢の長さが同じであることを確認してください。
load scansAndPoses.mat
length(scans) == length(poses)
ans = logical
1
マップを作成します。関数buildMap
でスキャンと姿勢を指定し、目的のマップ分解能 (1 メートルあたり 10 セル) と LIDAR の最大範囲 (19.2 メートル) を含めます。各スキャンは関連付けられた姿勢に追加され、占有グリッドの確率値が更新されます。
occMap = buildMap(scans,poses,10,19.2);
figure
show(occMap)
title('Occupancy Map of Garage')