Main Content

mobileRobotPRM

Probabilistic Roadmap (PRM) パス プランナーの作成

説明

mobileRobotPRM オブジェクトは、Map プロパティに指定された環境マップ用にロードマップ パス プランナー オブジェクトを作成します。このオブジェクトはマップを使用してロードマップを生成します。ロードマップは、フリー スペースと占有スペースに基づく、マップ内で取り得るパスのネットワーク グラフです。ノード数 NumNodes と接続距離 ConnectionDistance をカスタマイズしてマップの複雑度に適合させ、開始位置から終了位置まで障害物のないパスを検出できます。

マップが定義された後、mobileRobotPRM パス プランナーはマップのフリー スペース全体にわたって、指定された数のノードを生成します。ノード間の接続は、2 つのノード間の直線上に障害物がなく、かつその直線が指定した接続距離内に収まっている場合に作成されます。

開始位置と終了位置を定義した後、この接続ネットワークを使用して障害物のないパスを検出するには、findpath メソッドを使用します。接続されたパスが findpath で求められなかった場合、空の配列が返されます。ノード数を増やすか、接続距離を延ばすことで、接続されたパスが見つかる尤度は高まりますが、これらのプロパティの調整が必要です。ロードマップと生成済みパスを確認するには、show の可視化オプションを使用します。mobileRobotPRM のプロパティのいずれかを変更した場合は、updateshow または findpath を呼び出して、ロードマップを再作成します。

作成

説明

planner = mobileRobotPRM は、既定のプロパティを使用して空のロードマップを作成します。ロードマップを使用する前に、Map プロパティに binaryOccupancyMap オブジェクトを指定しなければなりません。

planner = mobileRobotPRM(map) は、mapMap プロパティとして設定してロードマップを作成します。ここで mapbinaryOccupancyMap オブジェクトです。

planner = mobileRobotPRM(map,numnodes) は、NumNodes プロパティに最大ノード数 numnodes を設定します。

入力引数

すべて展開する

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

ロードマップ内の最大ノード数。スカラーとして指定します。この値を増やすと、パス プランナーの複雑度が増し、計算時間が増えます。

プロパティ

すべて展開する

接続された 2 つのノード間の最大距離。"ConnectionDistance" とメートル単位のスカラーからなるコンマ区切りのペアとして指定します。このプロパティは、ノード同士の距離に基づいて、ノードが接続されているかどうかを制御します。ノードは、パス上に直接の障害物がない場合にのみ接続されています。この値を減らすと、接続の数は減りますが、複雑度と計算時間も減少します。

地図表現。"Map" と、binaryOccupancyMap オブジェクトまたは occupancyMap (Navigation Toolbox) オブジェクトからなるコンマ区切りのペアとして指定します。このオブジェクトはロボットの環境を表現します。オブジェクトは、マップ内の位置の占有を示す値の行列グリッドです。

マップ内のノード数。"NumNodes" とスカラーからなるコンマ区切りのペアとして指定します。この値を増やすと、パス プランナーの複雑度が増し、計算時間が増えます。

オブジェクト関数

findpathロードマップの開始点とゴール点の間のパスを検索
showShow map, roadmap, and path
updateロードマップを作成または更新

拡張機能

バージョン履歴

R2019b で導入

すべて展開する