MATLAB ヘルプ センター
このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
ros2bagreader オブジェクトからメッセージを読み取り
R2021a 以降
msgs = readMessages(bag)
msgs = readMessages(bag,rows)
msgs = readMessages(bag) は、ros2bagreader オブジェクト bag 内のすべてのメッセージからデータを返します。メッセージは構造体の cell 配列として返されます。
msgs
bag
ros2bagreader
例
msgs = readMessages(bag,rows) は、rows で指定された行のメッセージからデータを返します。行の範囲は [1 bag.NumMessages] です。
rows
1
bag.NumMessages
すべて折りたたむ
ROS 2 bag ログ ファイルが含まれた zip ファイルを解凍し、ログ フォルダーの絶対パスを指定します。
unzip("ros2_netwrk_bag.zip"); folderPath = fullfile(pwd,"ros2_netwrk_bag");
ログ ファイル内のすべてのメッセージが含まれた ros2bagreader オブジェクトを作成します。
bagReader = ros2bagreader(folderPath);
ros2bagreader オブジェクトの内容に関する情報を取得します。
baginfo = ros2("bag","info",folderPath)
baginfo = struct with fields: Path: 'C:\Users\ros2_netwrk_bag\ros2_netwrk_bag.db3' Version: '1' StorageId: 'sqlite3' Duration: 207.9020 Start: [1×1 struct] End: [1×1 struct] Size: 16839538 Messages: 166867 Types: [4×1 struct] Topics: [4×1 struct]
ros2bagreader オブジェクト内のすべてのメッセージを取得します。
msgs = readMessages(bagReader);
メッセージのサブセットを、トピックによるフィルター処理で選択します。
bagSel = select(bagReader,"Topic","/odom")
bagSel = ros2bagreader with properties: FilePath: 'C:\Users\ros2_netwrk_bag' AvailableBags: "ros2_netwrk_bag.db3" StartTime: 1.6020e+09 EndTime: 1.6020e+09 AvailableTopics: [1×3 table] AvailableFrames: {0×1 cell} MessageList: [5275×3 table] NumMessages: 5275
選択内容にあるメッセージを取得します。
msgsFiltered = readMessages(bagSel);
ros2bagreader オブジェクト内のメッセージ。ros2bagreader オブジェクトとして指定します。
ros2bagreader オブジェクトの行。n 要素ベクトルとして指定します。n はメッセージの取得元の行数です。ベクトルの各エントリは、bag 内の番号付きメッセージにそれぞれ対応します。行の範囲は [1 bag.NumMessages] です。
ROS 2 メッセージ データ。構造体の cell 配列として返されます。
R2021a で導入
select
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
ヨーロッパ
アジア太平洋地域
最寄りの営業オフィスへのお問い合わせ