メインコンテンツ

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

ulogreader

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

説明

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}
vehicle_attitude=1066×3 timetable
       timestamp                             q                                              delta_q_reset                       quat_reset_counter
    _______________    ______________________________________________    ___________________________________________________    __________________

    00:00:01.952000    0.68231    0.0017879    -0.014252      0.73092    0.6823     2.1123e-10     6.8316e-10        0.73107            1         
    00:00:01.956000    0.68231    0.0017974    -0.014259      0.73092    0.6823     2.1123e-10     6.8316e-10        0.73107            1         
    00:00:02.004000    0.68126     0.001916    -0.014383      0.73189         1              0    -2.2119e-09      0.0013563            2         
    00:00:02.052000    0.68112    0.0019686    -0.014534      0.73202         1              0    -2.2119e-09      0.0013563            2         
    00:00:02.104000    0.68092     0.002101    -0.014752      0.73221         1              0    -2.2119e-09      0.0013563            2         
    00:00:02.152000    0.68067    0.0022023    -0.014936      0.73243         1              0    -2.2119e-09      0.0013563            2         
    00:00:02.204000    0.68045    0.0023886    -0.015088      0.73263         1              0    -2.2119e-09      0.0013563            2         
    00:00:02.252000    0.68016    0.0025014    -0.015266       0.7329         1              0    -2.2119e-09      0.0013563            2         
    00:00:02.304000    0.67995    0.0026582    -0.015413      0.73309         1              0    -2.2119e-09      0.0013563            2         
    00:00:02.352000    0.67983    0.0027451    -0.015558       0.7332         1              0    -2.2119e-09      0.0013563            2         
    00:00:02.404000    0.67979    0.0028021    -0.015723      0.73323         1              0    -2.2119e-09      0.0013563            2         
    00:00:02.452000    0.67975    0.0029118    -0.015801      0.73327         1              0    -2.2119e-09      0.0013563            2         
    00:00:02.504000    0.67972     0.002982    -0.015947      0.73329         1              0    -2.2119e-09      0.0013563            2         
    00:00:02.552000    0.67975    0.0030121    -0.016096      0.73326         1              0    -2.2119e-09      0.0013563            2         
    00:00:02.604000     0.6798    0.0030043    -0.016209      0.73321         1              0    -2.2119e-09      0.0013563            2         
    00:00:02.652000    0.67985    0.0030682    -0.016367      0.73317         1              0    -2.2119e-09      0.0013563            2         
      ⋮

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

systeminfo = readSystemInformation(ulog)
systeminfo=12×2 table
       InformationField                          Value                   
    _______________________    __________________________________________

    "ver_sw"                   "8763d71bf0b603e0da42ea16fceae7fd2590546f"
    "ver_sw_release"           "v1.11.0.RC"                              
    "ver_vendor_sw_release"    "192"                                     
    "ver_hw"                   "PX4_SITL"                                
    "sys_name"                 "PX4"                                     
    "sys_os_name"              "Linux"                                   
    "ver_sw_branch"            "master"                                  
    "sys_os_ver_release"       "84148479"                                
    "sys_toolchain"            "GNU GCC"                                 
    "sys_toolchain_ver"        "9.3.0"                                   
    "ver_data_format"          "1"                                       
    "time_ref_utc"             "0"                                       

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

params = readParameters(ulog)
params=631×2 table
       Parameters        Values
    _________________    ______

    "ASPD_BETA_GATE"          1
    "ASPD_BETA_NOISE"       0.3
    "ASPD_DO_CHECKS"          0
    "ASPD_FALLBACK"           0
    "ASPD_FS_INNOV"           1
    "ASPD_FS_INTEG"          -1
    "ASPD_FS_T1"              3
    "ASPD_FS_T2"            100
    "ASPD_PRIMARY"            1
    "ASPD_SCALE"              1
    "ASPD_SCALE_EST"          0
    "ASPD_SC_P_NOISE"    0.0001
    "ASPD_STALL"             10
    "ASPD_TAS_GATE"           3
    "ASPD_TAS_NOISE"        1.4
    "ASPD_W_P_NOISE"        0.1
      ⋮

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

log = readLoggedOutput(ulog,'Time',[d1 d2])
log=23×2 timetable
       timestamp       LogLevel                                          Messages                                       
    _______________    ________    _____________________________________________________________________________________

    00:00:00.176000     "INFO"     "[logger] [logger] ./log/2020-07-07/15_07_10.ulg"                                    
    00:00:00.176000     "INFO"     "[logger] Opened full log file: ./log/2020-07-07/15_07_10.ulg"                       
    00:00:00.176000     "INFO"     "[mavlink] MAVLink only on localhost (set param MAV_BROADCAST = 1 to enable network)"
    00:00:00.184000     "INFO"     "[px4] Startup script returned successfully"                                         
    00:00:01.044000     "INFO"     "[mavlink] partner IP: 127.0.0.1"                                                    
    00:00:01.096000     "INFO"     "[ecl/EKF] 888000: GPS checks passed"                                                
    00:00:01.948000     "INFO"     "[ecl/EKF] 1780000: reset position to last known position"                           
    00:00:01.948000     "INFO"     "[ecl/EKF] 1780000: reset velocity to zero"                                          
    00:00:05.548000     "INFO"     "[ecl/EKF] 5380000: reset velocity to GPS"                                           
    00:00:05.548000     "INFO"     "[ecl/EKF] 5380000: starting GPS fusion"                                             
    00:00:26.668000     "INFO"     "[commander] ARMED by Arm/Disarm component command"                                  
    00:00:31.268000     "INFO"     "[fw_pos_control_l1] Takeoff on runway"                                              
    00:00:31.360000     "INFO"     "[commander] Takeoff detected"                                                       
    00:00:31.688000     "INFO"     "[runway_takeoff] #Takeoff airspeed reached"                                         
    00:00:33.548000     "INFO"     "[runway_takeoff] #Climbout"                                                         
    00:00:34.088000     "INFO"     "[runway_takeoff] #Navigating to waypoint"                                           
      ⋮

参照

[1] PX4 Developer Guide. "ULog File Format." Accessed December 6, 2019. https://docs.px4.io/main/en/dev_log/ulog_file_format.html.

バージョン履歴

R2020b で導入