Main Content

setOccupancy

位置の占有値を設定

説明

setOccupancy(map,xy,occval) は、占有グリッド map のワールド座標の入力配列 xy に占有値 occval を割り当てます。配列 xy の各行は、ワールドの [x y] 座標ペアとして表される点です。occval は、スカラーか xy と同じ長さの単一列の配列のいずれかです。占有位置は true (1) として表され、フリー位置は false (0) として表されます。

setOccupancy(map,xy,occval,"local") は、ローカル座標の入力配列 xy に占有値 occval をローカル座標として割り当てます。

setOccupancy(map,ij,occval,"grid") は、グリッド インデックスの入力配列 ij に占有値 occval[rows cols] として割り当てます。

validPts = setOccupancy(___) は、入力座標がマップの範囲に収まるかどうかを示す logical 値の n 要素ベクトルを出力します。

setOccupancy(map,bottomLeft,inputMatrix) は、ワールド座標の左下隅の位置を指定して占有値の行列を割り当てます。

setOccupancy(map,bottomLeft,inputMatrix,"local") は、ローカル座標の左下隅の位置を指定して占有値の行列を割り当てます。

setOccupancy(map,topLeft,inputMatrix,"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) として示すバイナリ値の行列グリッドが格納されます。

ワールド座標。[x y] ペアの n 行 2 列の垂直配列として指定します。ここで、n はワールド座標の数です。

データ型: double

グリッド位置。[rows cols] の形式で、[i j] ペアを n 行 2 列の垂直配列として指定します。ここで、n はグリッド位置の数です。

データ型: double

xy または ij のいずれかと同じ長さの占有値。n 行 1 列の垂直配列として返されます。ここで、n は xy または ij のいずれかの n と同じです。値は 0 以上 1 以下で与えられます。

占有値。行列として指定します。値は 0 以上 1 以下で与えられます。

ワールド座標またはローカル座標での出力行列の左下隅の位置。2 要素ベクトル [xCoord yCoord] として指定します。位置は、構文に基づいてワールド座標かローカル座標のいずれかになります。

データ型: double

グリッドの左上隅の位置。2 要素ベクトル [iCoord jCoord] として指定します。

データ型: double

出力引数

すべて折りたたむ

有効なマップ位置。xy または ij と等しい長さの n 行 1 列の列ベクトルとして返されます。位置がマップの中であれば値 1 を返します。位置がマップの範囲の外であれば値 0 を返します。

拡張機能

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

バージョン履歴

R2015a で導入