ulogreader
Read messages from ULOG file
Description
The ulogreader object reads a ULOG file
(.ulg). The object stores information about the file, including start and
end logging times, summary of available topics, and dropout intervals.
Creation
Properties
This property is read-only.
Name of the ULOG file, specified as a string scalar or character vector. The
FileName is the path specified in the
filePath input.
Data Types: char | string
This property is read-only.
Start time of logging offset from the system start time in the ULOG file, specified
as a duration object in the
'hh:mm:ss.SSSSSS' format.
Data Types: duration
This property is read-only.
Timestamp of the last timestamped message logged in the ULOG file, specified as a
duration object in the
'hh:mm:ss.SSSSSS' format.
Data Types: duration
This property is read-only.
Summary of all the logged topics, specified as a table that contains the columns:
TopicNamesInstanceIDStartTimestampLastTimestampNumMessages
Data Types: table
This property is read-only.
Time intervals in which messages were dropped while logging, specified as an
n-by-2 matrix of duration arrays in the 'hh:mm:ss.SSSSSS' format, where
n is the number of dropouts.
Data Types: duration
Object Functions
readTopicMsgs | Read topic messages |
readSystemInformation | Read information messages |
readParameters | Read parameter values |
readLoggedOutput | Read logged output messages |
Examples
Load the ULOG file. Specify the relative path of the file
ulog = ulogreader('flight.ulg');Read all topic messages.
msg = readTopicMsgs(ulog);
Specify the time interval between which to select messages.
d1 = ulog.StartTime; d2 = d1 + duration([0 0 55],'Format','hh:mm:ss.SSSSSS');
Read messages from the topic 'vehicle_attitude' with an instance ID of 0 in the time interval [d1 d2].
data = readTopicMsgs(ulog,'TopicNames',{'vehicle_attitude'}, ... 'InstanceID',{0},'Time',[d1 d2]);
Extract topic messages for the topic.
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
⋮
Read all system information.
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"
Read all initial parameter values.
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
⋮
Read logged output messages in the time interval.
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"
⋮
References
[1] PX4 Developer Guide. "ULog File Format." Accessed December 6, 2019. https://docs.px4.io/main/en/dev_log/ulog_file_format.html.
Version History
Introduced in R2020b
See Also
MATLAB Command
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.
选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
- América Latina (Español)
- Canada (English)
- United States (English)
欧洲
- 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)