メインコンテンツ

OccupancyGrid

(削除予定) 占有グリッド メッセージの作成

OccupancyGrid オブジェクトは将来のリリースで削除されます。関数 rosmessage を使用して ROS メッセージを作成する場合は、名前と値の引数 Dataformat"struct" として指定して、メッセージ構造体形式を使用します。関数 rosReadBinaryOccupancyGridrosReadOccupancyGridrosWriteBinaryOccupancyGrid、および rosWriteOccupancyGrid を使用して、占有グリッド メッセージを操作できます。詳細については、ROS メッセージ構造体の関数を参照してください。

説明

OccupancyGrid オブジェクトは、ROS での nav_msgs/OccupancyGrid メッセージ タイプの実装です。このオブジェクトには、メッセージおよび占有グリッド データに関するメタ情報が含まれています。

ROS メッセージから binaryOccupancyMap (Robotics System Toolbox) オブジェクトを作成するには、関数 readBinaryOccupancyGrid を使用します。

occupancyMap (Navigation Toolbox) オブジェクトを作成するには、関数 readOccupancyGrid を使用します。

作成

説明

msg = rosmessage('nav_msgs/OccupancyGrid'); は、空の OccupancyGrid オブジェクトを作成します。マップの情報とデータを指定するには、map.Info および msg.Data プロパティを使用します。rossubscriber を使用して、ROS ネットワークから占有グリッド メッセージを取得することもできます。

プロパティ

すべて展開する

この プロパティ は読み取り専用です。

ROS メッセージのメッセージ タイプ。文字ベクトルとして返されます。

データ型: char

この プロパティ は読み取り専用です。

ROS ヘッダー メッセージ。Header オブジェクトとして返されます。このヘッダー メッセージには、MessageType、シーケンス (Seq)、タイムスタンプ (Stamp)、および FrameId が含まれます。

マップに関する情報。MapMetaData オブジェクトとして指定します。マップの幅、高さ、分解能、原点が含まれています。

マップ データ。ベクトルとして指定します。このベクトルは、各グリッド位置から取得したすべての占有データを単一の 1 次元配列に格納したものです。

オブジェクト関数

readOccupancyGrid(削除予定) 占有グリッド メッセージの読み取り
readBinaryOccupancyGrid(To be removed) Read binary occupancy grid
writeBinaryOccupancyGrid(To be removed) Write values from grid to ROS message
writeOccupancyGrid(To be removed) Write values from grid to ROS message

すべて折りたたむ

simpleMapcomplexMap の 2 つのマップを logical 行列として読み込みます。whos を使用してマップを表示します。

load exampleMaps.mat
whos *Map*
  Name              Size               Bytes  Class      Attributes

  complexMap       41x52                2132  logical              
  emptyMap         26x27                 702  logical              
  simpleMap        26x27                 702  logical              
  ternaryMap      501x501            2008008  double               

binaryOccupancyMap オブジェクトを使用して、simpleMap から ROS メッセージを作成します。writeBinaryOccupancyGrid を使用して、OccupancyGrid メッセージを作成します。

bogMap = binaryOccupancyMap(double(simpleMap));
mapMsg = rosmessage('nav_msgs/OccupancyGrid');
writeBinaryOccupancyGrid(mapMsg,bogMap)
mapMsg
mapMsg = 
  ROS OccupancyGrid message with properties:

    MessageType: 'nav_msgs/OccupancyGrid'
         Header: [1×1 Header]
           Info: [1×1 MapMetaData]
           Data: [702×1 int8]

  Use showdetails to show the contents of the message

readBinaryOccupancyGrid を使用して、ROS メッセージを binaryOccupancyMap オブジェクトに変換します。オブジェクト関数 show を使用してマップを表示します。

bogMap2 = readBinaryOccupancyGrid(mapMsg);
show(bogMap2);

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.

バージョン履歴

R2019b で導入

すべて折りたたむ

参考

オブジェクト

関数