timeseries
選択したメッセージ プロパティの時系列オブジェクトの作成
構文
説明
例
bag 選択全体からの時系列の作成
rosbag を読み込みます。ファイル パスを指定します。
bag = rosbag('ex_multiple_topics.bag');
特定のトピックを選択します。時系列では単一のトピックのみがサポートされます。
bagSelection = select(bag,'Topic','/odom');
'/odom'
トピックの時系列を作成します。
ts = timeseries(bagSelection);
単一プロパティからの時系列の作成
rosbag を読み込みます。ファイル パスを指定します。
bag = rosbag('ex_multiple_topics.bag');
特定のトピックを選択します。時系列では単一のトピックのみがサポートされます。
bagSelection = select(bag,'Topic','/odom');
'/odom'
トピックにおける 'Pose.Pose.Position.X'
プロパティの時系列を作成します。
ts = timeseries(bagSelection,'Pose.Pose.Position.X');
複数プロパティからの時系列の作成
rosbag を読み込みます。ファイル パスを指定します。
bag = rosbag('ex_multiple_topics.bag');
特定のトピックを選択します。時系列では単一のトピックのみがサポートされます。
bagSelection = select(bag,'Topic','/odom');
'/odom'
トピックにおけるすべての 'Twist'
角度プロパティの時系列を作成します。
ts = timeseries(bagSelection,'Twist.Twist.Angular.X', ... 'Twist.Twist.Angular.Y', 'Twist.Twist.Angular.Z');
rosbagreader
オブジェクトを使用した rosbag の選択の作成
rosbag ログ ファイルを読み込み、選択した条件に基づいて特定のメッセージを解析します。
rosbag ログ ファイルにあるすべてのメッセージの rosbagreader
オブジェクトを作成します。
bagMsgs = rosbagreader("ros_multi_topics.bag")
bagMsgs = rosbagreader with properties: FilePath: '/mathworks/devel/bat/Bdoc22b/build/matlab/toolbox/robotics/robotexamples/ros/data/bags/ros_multi_topics.bag' StartTime: 201.3400 EndTime: 321.3400 NumMessages: 36963 AvailableTopics: [4x3 table] AvailableFrames: {0x1 cell} MessageList: [36963x4 table]
メッセージのサブセットを、タイムスタンプとトピックに基づいて選択します。
bagMsgs2 = select(bagMsgs,... Time=[bagMsgs.StartTime bagMsgs.StartTime + 1],... Topic='/odom')
bagMsgs2 = rosbagreader with properties: FilePath: '/mathworks/devel/bat/Bdoc22b/build/matlab/toolbox/robotics/robotexamples/ros/data/bags/ros_multi_topics.bag' StartTime: 201.3400 EndTime: 202.3200 NumMessages: 99 AvailableTopics: [1x3 table] AvailableFrames: {0x1 cell} MessageList: [99x4 table]
選択内容にあるメッセージを cell 配列として取得します。
msgs = readMessages(bagMsgs2)
msgs=99×1 cell array
{1x1 Odometry}
{1x1 Odometry}
{1x1 Odometry}
{1x1 Odometry}
{1x1 Odometry}
{1x1 Odometry}
{1x1 Odometry}
{1x1 Odometry}
{1x1 Odometry}
{1x1 Odometry}
{1x1 Odometry}
{1x1 Odometry}
{1x1 Odometry}
{1x1 Odometry}
{1x1 Odometry}
{1x1 Odometry}
⋮
特定のメッセージ プロパティを時系列として返します。
ts = timeseries(bagMsgs2,... 'Pose.Pose.Position.X', ... 'Twist.Twist.Angular.Y')
timeseries Timeseries contains duplicate times. Common Properties: Name: '/odom Properties' Time: [99x1 double] TimeInfo: tsdata.timemetadata Data: [99x2 double] DataInfo: tsdata.datametadata
入力引数
bag
— rosbag のメッセージのインデックス
BagSelection
オブジェクト | rosbagreader
オブジェクト
rosbag のメッセージのインデックス。BagSelection
または rosbagreader
オブジェクトとして指定します。BagSelection
オブジェクトは、rosbag
を呼び出すことによって取得できます。
property
— プロパティ名
string スカラー | 文字ベクトル
プロパティ名。string スカラーまたは文字ベクトルとして指定します。複数のプロパティを指定できます。各プロパティ名は個別の入力で、時系列オブジェクト内の異なる列を表します。
出力引数
ts
— 時系列
Time
オブジェクト ハンドル
時系列。Time
オブジェクト ハンドルとして返されます。
cols
— プロパティ名のリスト
文字ベクトルの cell 配列
プロパティ名のリスト。文字ベクトルの cell 配列として返されます。
バージョン履歴
R2019b で導入
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)