このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
ardupilotreader
説明
ardupilotreader
オブジェクトは ArduPilot® のデータフラッシュ ログ ファイル (.bin
) を読み取ります。このオブジェクトは、ファイルのログの開始時間と終了時間、使用可能なメッセージ、およびログ ファイルにあるメッセージの合計数を保存します。
作成
説明
は、指定されたファイル名またはファイル パスから ArduPilot のデータフラッシュ ログ ファイルを読み取り、そのファイルに関する情報を含むオブジェクトを返します。arduObj
= ardupilotreader(filePath
)
プロパティ
この プロパティ は読み取り専用です。
ArduPilot のデータフラッシュ ログ ファイルの名前。string スカラーまたは文字ベクトルとして指定されます。FileName
は、filePath
引数に指定されたパスです。
データ型: char
| string
この プロパティ は読み取り専用です。
ArduPilot のデータフラッシュ ログ ファイル内にある、システム開始時間からログ記録の開始時間までのオフセット。'hh:mm:ss.SSSSSS'
形式の duration
オブジェクトとして指定されます。
データ型: duration
この プロパティ は読み取り専用です。
ArduPilot のデータフラッシュ ログ ファイルにログ記録された、最終タイムスタンプをもつメッセージのタイムスタンプ。'hh:mm:ss.SSSSSS'
形式の duration
オブジェクトとして指定されます。
データ型: duration
この プロパティ は読み取り専用です。
ログ記録されたすべてのメッセージの table。次のフィールドをもつ table として指定されます。
MsgName
InstanceID
StartTimestamp
LastTimestamp
NumMessages
データ型: table
この プロパティ は読み取り専用です。
ログ ファイル内にあるメッセージの合計数
データ型: double
オブジェクト関数
readMessages | Read messages from ArduPilot® log file |
readParameters | Read parameter values from ArduPilot® log file |
readLoggedOutput | Read logged output messages from ArduPilot® log file |
例
BIN ファイルを読み込みます。
bin = ardupilotreader('flight.bin');
すべてのメッセージを読み取ります。
msg = readMessages(bin);
メッセージを選択する期間を指定します。
d1 = duration([0 1 00],'Format','hh:mm:ss.SSSSSS'); d2 = d1 + duration([0 0 55],'Format','hh:mm:ss.SSSSSS');
期間 [d1 d2]
の姿勢メッセージを読み取ります。
attMsg = readMessages(bin,'MessageName',{'ATT'},'Time',[d1 d2]);
メッセージから姿勢データを抽出します。
AttData = attMsg.MsgData{1,1}
AttData=534×10 timetable
timestamp TimeUS DesRoll Roll DesPitch Pitch DesYaw Yaw ErrRP ErrYaw AEKF
_______________ _______________ _______ ____ ________ _____ ______ ______ _____ ______ ____
00:01:01.669489 00:01:01.669489 0 0.06 0 0.05 358.94 358.95 0 0 3
00:01:01.769448 00:01:01.769448 0 0.06 0 0.05 358.95 358.96 0 0 3
00:01:01.869408 00:01:01.869408 0 0.06 0 0.05 358.95 358.96 0 0 3
00:01:01.969368 00:01:01.969368 0 0.06 0 0.05 358.95 358.96 0 0 3
00:01:02.069328 00:01:02.069328 0 0.06 0 0.05 358.96 358.97 0 0 3
00:01:02.169288 00:01:02.169288 0 0.06 0 0.05 358.96 358.97 0 0 3
00:01:02.269248 00:01:02.269248 0 0.06 0 0.05 358.96 358.97 0 0 3
00:01:02.369208 00:01:02.369208 0 0.06 0 0.05 358.97 358.98 0 0 3
00:01:02.469168 00:01:02.469168 0 0.06 0 0.05 358.97 358.98 0 0 3
00:01:02.569128 00:01:02.569128 0 0.07 0 0.05 358.97 358.98 0 0 3
00:01:02.669088 00:01:02.669088 0 0.07 0 0.05 358.98 358.99 0 0 3
00:01:02.769048 00:01:02.769048 0 0.07 0 0.05 358.98 358.99 0 0 3
00:01:02.869008 00:01:02.869008 0 0.07 0 0.05 358.98 358.99 0 0 3
00:01:02.968968 00:01:02.968968 0 0.07 0 0.06 358.98 358.99 0 0 3
00:01:03.068928 00:01:03.068928 0 0.07 0 0.06 358.99 359 0 0 3
00:01:03.168889 00:01:03.168889 0 0.07 0 0.06 358.99 359 0 0 3
⋮
すべてのパラメーター値を読み取ります。
params = readParameters(bin)
params=1312×4 timetable
timestamp TimeUS Name Value Default
_______________ _______________ __________________ _____ _______
00:01:01.651163 00:01:01.651163 "FORMAT_VERSION" 120 120
00:01:01.651163 00:01:01.651163 "SYSID_THISMAV" 1 1
00:01:01.651163 00:01:01.651163 "SYSID_MYGCS" 255 255
00:01:01.651163 00:01:01.651163 "PILOT_THR_FILT" 0 0
00:01:01.651163 00:01:01.651163 "PILOT_TKOFF_ALT" 0 0
00:01:01.651163 00:01:01.651163 "PILOT_THR_BHV" 0 0
00:01:01.651163 00:01:01.651163 "SERIAL0_BAUD" 115 115
00:01:01.651163 00:01:01.651163 "SERIAL0_PROTOCOL" 2 2
00:01:01.651163 00:01:01.651163 "SERIAL1_PROTOCOL" 2 2
00:01:01.651163 00:01:01.651163 "SERIAL1_BAUD" 57 57
00:01:01.651163 00:01:01.651163 "SERIAL2_PROTOCOL" 2 2
00:01:01.651163 00:01:01.651163 "SERIAL2_BAUD" 57 57
00:01:01.651163 00:01:01.651163 "SERIAL3_PROTOCOL" 5 5
00:01:01.651163 00:01:01.651163 "SERIAL3_BAUD" 38 38
00:01:01.651163 00:01:01.651163 "SERIAL4_PROTOCOL" 5 5
00:01:01.651163 00:01:01.651163 "SERIAL4_BAUD" 38 38
⋮
ログ記録されたすべての出力メッセージを読み取ります。
loggedoutput = readLoggedOutput(bin);
期間 [d1 d2]
にログ記録された出力メッセージを読み取ります。
log = readLoggedOutput(bin,'Time',[d1 d2])
log=16×2 timetable
timestamp TimeUS Message
_______________ _______________ _________________________________________________
00:01:01.651163 00:01:01.651163 "ArduCopter V4.3.3 (34e8e02c)"
00:01:01.651163 00:01:01.651163 "d6384d347e3c476ea8702e6a78ef3590"
00:01:01.651163 00:01:01.651163 "Param space used: 323/4096"
00:01:01.651163 00:01:01.651163 "RC Protocol: SITL"
00:01:01.651163 00:01:01.651163 "New mission"
00:01:01.651163 00:01:01.651163 "New rally"
00:01:01.651163 00:01:01.651163 "New fence"
00:01:01.651163 00:01:01.651163 "Frame: QUAD/PLUS"
00:01:01.651163 00:01:01.651163 "GPS 1: detected as u-blox at 230400 baud"
00:01:07.788707 00:01:07.788707 "Mission: 1 WP"
00:01:08.014449 00:01:08.014449 "EKF3 IMU0 MAG0 in-flight yaw alignment complete"
00:01:08.019448 00:01:08.019448 "EKF3 IMU1 MAG0 in-flight yaw alignment complete"
00:01:29.004384 00:01:29.004384 "Reached command #1"
00:01:29.004384 00:01:29.004384 "Mission: 2 WP"
00:01:48.199202 00:01:48.199202 "Reached command #2"
00:01:48.199202 00:01:48.199202 "Mission: 3 WP"
バージョン履歴
R2024a で導入
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.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の 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)