Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

setOccupancy

位置の占有確率を設定

R2019b 以降

説明

setOccupancy(map3D,xyz,occval) は、3 次元占有マップで指定した各 xyz 座標に占有値を割り当てます。

すべて折りたたむ

occupancyMap3D オブジェクトを作成します。

map3D = occupancyMap3D;

地面を作成して占有値を 0 に設定します。

[xGround,yGround,zGround] = meshgrid(0:100,0:100,0);
xyzGround = [xGround(:) yGround(:) zGround(:)];
occval = 0;
setOccupancy(map3D,xyzGround,occval)

マップの特定のワールド位置に障害物を作成します。

[xBuilding1,yBuilding1,zBuilding1] = meshgrid(20:30,50:60,0:30);
[xBuilding2,yBuilding2,zBuilding2] = meshgrid(50:60,10:30,0:40);
[xBuilding3,yBuilding3,zBuilding3] = meshgrid(40:60,50:60,0:50);
[xBuilding4,yBuilding4,zBuilding4] = meshgrid(70:80,35:45,0:60);

xyzBuildings = [xBuilding1(:) yBuilding1(:) zBuilding1(:);...
                xBuilding2(:) yBuilding2(:) zBuilding2(:);...
                xBuilding3(:) yBuilding3(:) zBuilding3(:);...
                xBuilding4(:) yBuilding4(:) zBuilding4(:)];

新しい確率値を使用して障害物を更新し、マップを表示します。

obs = 0.65;
updateOccupancy(map3D,xyzBuildings,obs)
show(map3D)

マップ ファイルを作成する前に、citymap.ot という名前のマップ ファイルが現在のディレクトリに既に存在するか確認し、このファイルを削除します。

if exist("citymap.ot",'file')
    delete("citymap.ot")
end

マップを八分木ファイルとしてエクスポートします。

filePath = fullfile(pwd,"citymap.ot");
exportOccupancyMap3D(map3D,filePath)

入力引数

すべて折りたたむ

3 次元占有マップ。occupancyMap3D オブジェクトとして指定します。

ワールド座標。点 [x y z] の n 行 3 列の行列として指定します。ここで、n はワールド座標の数です。

確率占有値。xyz と同じ長さの列ベクトルまたはスカラーとして指定します。スカラー入力は xyz のすべての座標に適用されます。

0 に近い値は、セルが占有されておらず障害物がない確かさを表します。

拡張機能

バージョン履歴

R2019b で導入