Main Content

checkOccupancy

位置がフリーか占有かをチェック

R2019b 以降

説明

iOccval = checkOccupancy(map3D,xyz) は、入力 occupancyMap3D オブジェクトの OccupiedThreshold プロパティと FreeThreshold プロパティを使用して、xyz の位置に指定されている占有値の配列を返します。各行は、マップ内における占有状態をチェックするそれぞれの xyz の位置です。占有値は、障害物なし (0)、占有状態 (1)、または不明 (–1) のいずれかになります。

すべて折りたたむ

3 次元占有マップをインポートします。

map3D = importOccupancyMap3D("citymap.ot")
map3D = 
  occupancyMap3D with properties:

    ProbabilitySaturation: [1.0000e-03 0.9990]
               Resolution: 1
        OccupiedThreshold: 0.6500
            FreeThreshold: 0.2000

マップを表示します。

show(map3D)

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

さまざまな場所の占有ステータスを確認し、その占有値を取得します。

iOccVal1 = checkOccupancy(map3D,[50 15 0])
iOccVal1 = 0
OccVal1 = getOccupancy(map3D,[50 15 0])
OccVal1 = 0.0019
iOccVal2 = checkOccupancy(map3D,[50 15 15])
iOccVal2 = 1
OccVal2 = getOccupancy(map3D,[50 15 15])
OccVal2 = 0.6500
iOccVal3 = checkOccupancy(map3D,[50 15 45])
iOccVal3 = -1
OccVal3 = getOccupancy(map3D,[50 15 45])
OccVal3 = 0.5000

入力引数

すべて折りたたむ

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

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

出力引数

すべて折りたたむ

解釈された占有値。xyz と同じ長さの列ベクトルとして返されます。

占有値は、障害物なし (0)、占有状態 (1)、または不明 (–1) のいずれかになります。これらの値は、実際の確率値と map3D オブジェクトの OccupiedThreshold プロパティおよび FreeThreshold プロパティから判定されます。

拡張機能

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

バージョン履歴

R2019b で導入