Main Content

ulogreader

ULOG ファイルからのメッセージの読み取り

R2020b 以降

説明

ulogreader オブジェクトは ULOG ファイル (.ulg) を読み取ります。このオブジェクトは、ログの開始時間と終了時間、使用可能なトピックの概要、脱落間隔など、ファイルに関する情報を保存します。

作成

説明

ulogOBJ = ulogreader(filePath) は、指定されたパスから ULOG ファイルを読み取り、そのファイルに関する情報を含むオブジェクトを返します。filePath の情報は、FileName プロパティの設定に使用されます。

プロパティ

すべて展開する

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

ULOG ファイルの名前。string スカラーまたは文字ベクトルとして指定します。FileName は、入力 filePath に指定されたパスです。

データ型: char | string

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

ULOG ファイル内にある、システム開始時間からログ記録の開始時間までのオフセット。'hh:mm:ss.SSSSSS' 形式の duration オブジェクトとして指定されます。

データ型: duration

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

ULOG ファイルにログ記録された、最終タイムスタンプをもつメッセージのタイムスタンプ。'hh:mm:ss.SSSSSS' 形式の duration オブジェクトとして指定されます。

データ型: duration

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

ログ記録されたすべてのトピックの table。次の列をもつ table として指定します。

  • TopicNames

  • InstanceID

  • StartTimestamp

  • LastTimestamp

  • NumMessages

データ型: table

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

ログ記録中にメッセージが脱落した期間。'hh:mm:ss.SSSSSS' 形式の duration 配列からなる n 行 2 列の行列として指定されます。ここで、n は脱落回数です。

データ型: duration

オブジェクト関数

readTopicMsgsRead topic messages
readSystemInformationRead information messages
readParametersRead parameter values
readLoggedOutputRead logged output messages

すべて折りたたむ

ULOG ファイルを読み込みます。ファイルの相対パスを指定します。

ulog = ulogreader('flight.ulg');

すべてのトピックのメッセージを読み取ります。

msg = readTopicMsgs(ulog);

メッセージを選択する期間を指定します。

d1 = ulog.StartTime;
d2 = d1 + duration([0 0 55],'Format','hh:mm:ss.SSSSSS');

トピック 'vehicle_attitude' から、期間 [d1 d2] 内にありインスタンス ID が 0 のメッセージを読み取ります。

data = readTopicMsgs(ulog,'TopicNames',{'vehicle_attitude'}, ... 
'InstanceID',{0},'Time',[d1 d2]);

そのトピックのメッセージを抽出します。

vehicle_attitude = data.TopicMessages{1,1};

すべてのシステム情報を読み取ります。

systeminfo = readSystemInformation(ulog);

すべての初期パラメーター値を読み取ります。

params = readParameters(ulog);

ログ記録されたすべての出力メッセージを読み取ります。

loggedoutput = readLoggedOutput(ulog);

期間内にログ記録された出力メッセージを読み取ります。

log = readLoggedOutput(ulog,'Time',[d1 d2]);

参照

[1] PX4 Developer Guide. "ULog File Format." Accessed December 6, 2019. https://dev.px4.io/v1.9.0/en/log/ulog_file_format.html.

バージョン履歴

R2020b で導入