Main Content

inflate

各占有位置のインフレーション

説明

inflate(map,radius) は、map の各占有位置をメートル単位で与えられた半径でインフレートします。radius は、マップの分解能に基づいて最も近い同等のセルに切り上げられます。半径内のすべてのセルが true (1) に設定されます。

メモ

inflate は、マップの範囲を超えて位置をインフレートしません。

inflate(map,radius,"grid") は、各占有位置をセル数で与えられた半径でインフレートします。

すべて折りたたむ

10 m x 10 m の空のマップを作成します。

map = binaryOccupancyMap(10,10,10);

ワールド位置の占有を設定し、マップを表示します。

x = [1.2; 2.3; 3.4; 4.5; 5.6];
y = [5.0; 4.0; 3.0; 2.0; 1.0];

setOccupancy(map, [x y], ones(5,1))
figure
show(map)

Figure contains an axes object. The axes object with title Binary Occupancy Grid, xlabel X [meters], ylabel Y [meters] contains an object of type image.

占有位置を指定した半径でインフレートします。

inflate(map, 0.5)
figure
show(map)

Figure contains an axes object. The axes object with title Binary Occupancy Grid, xlabel X [meters], ylabel Y [meters] contains an object of type image.

ワールド位置からグリッド位置を取得します。

ij = world2grid(map, [x y]);

グリッド位置をフリー位置に設定します。

setOccupancy(map, ij, zeros(5,1), 'grid')
figure
show(map)

Figure contains an axes object. The axes object with title Binary Occupancy Grid, xlabel X [meters], ylabel Y [meters] contains an object of type image.

入力引数

すべて折りたたむ

地図表現。binaryOccupancyMap オブジェクトとして指定します。このオブジェクトはロボットの環境を表現します。このオブジェクトには、障害物を true (1)、フリー位置を false (0) として示すバイナリ値の行列グリッドが格納されます。

占有位置をインフレートする量を定義する寸法。スカラーとして指定します。既定では、radius の単位はメートルであり、各セルは ceil(map.Resolution*radius) セルだけインフレートされます。

オプションの引数 "grid" を指定した場合、radius の単位はグリッド セルになります。たとえば、inflate(map,10,"grid") は占有位置を 10 グリッド セルだけインフレートします。

データ型: double

拡張機能

C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。

バージョン履歴

R2015a で導入