Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

readMessages

ros2bagreader オブジェクトからメッセージを読み取り

R2021a 以降

    説明

    msgs = readMessages(bag) は、ros2bagreader オブジェクト bag 内のすべてのメッセージからデータを返します。メッセージは構造体の cell 配列として返されます。

    msgs = readMessages(bag,rows) は、rows で指定された行のメッセージからデータを返します。行の範囲は [1 bag.NumMessages] です。

    すべて折りたたむ

    ROS 2 bag ログ ファイルが含まれた zip ファイルを解凍し、ログ フォルダーの絶対パスを指定します。

    unzip('ros2_netwrk_bag.zip');
    folderPath = fullfile(pwd,'ros2_netwrk_bag');

    ログ ファイル内のすべてのメッセージが含まれた ros2bagreader オブジェクトを作成します。

    bag = ros2bagreader(folderPath);

    ros2bagreader オブジェクトの内容に関する情報を取得します。

    baginfo = ros2("bag","info",folderPath)
    baginfo = struct with fields:
             Path: '/tmp/Bdoc23a_2181783_1484622/tpb1c5538b/ros-ex96596996/ros2_netwrk_bag/ros2_netwrk_bag.db3'
          Version: '1'
        StorageId: 'sqlite3'
         Duration: 207.9020
            Start: [1x1 struct]
              End: [1x1 struct]
             Size: 16839538
         Messages: 166867
            Types: [4x1 struct]
           Topics: [4x1 struct]
    
    

    ros2bagreader オブジェクト内のすべてのメッセージを取得します。

    msgs = readMessages(bag);

    メッセージのサブセットを、トピックによるフィルター処理で選択します。

    bagSel = select(bag,"Topic","/odom");

    選択内容にあるメッセージを取得します。

    msgsFiltered = readMessages(bagSel);

    入力引数

    すべて折りたたむ

    ros2bagreader オブジェクト内のメッセージ。ros2bagreader オブジェクトとして指定します。

    ros2bagreader オブジェクトの行。n 要素ベクトルとして指定します。n はメッセージの取得元の行数です。ベクトルの各エントリは、bag 内の番号付きメッセージにそれぞれ対応します。行の範囲は [1 bag.NumMessages] です。

    出力引数

    すべて折りたたむ

    ROS 2 メッセージ データ。構造体の cell 配列として返されます。

    バージョン履歴

    R2021a で導入

    参考

    オブジェクト

    関数