PythonでSTA24データ処理して、ペアプロットで観察すると、いろいろなことが判りました。
判ったこと1:Heading角とIMU yaw角の最大誤差は、ある特定条件で発生しやすい。
=>roll角のピークでyaw角が10度以上誤差が発生している場面が多い
判ったこと2:上記1でもばらついている場合があるので、roll角だけではyaw角誤差を説明できない
=>誤差をターゲットとして、機械学習で分類して誤差を予測させる
=>Pythonの学習ばかりしていて、ST24のデータ処理の流れ忘れてしまったので、
ここで、改めて整理して備忘録しておきます。兎に角複雑になっていて、判りにくいです。
複雑な理由は、RTKの周期が120msecと100msecがあって、IMUが10msec周期なので
全部同期させるために、RTKの波形を補間処理しているからです。
補間処理は、波形を分割して行うので、多数の小さなファイル群で1本のスキー滑走になります。
1個1個のファイルをチェックするので大変な手間となってます。
①ログされたBinaryデータからの前処理備忘録(Teensy,C#プログラム)
●データの種類
SkiOn MovingBse システム |
Boots On RTK システム |
|
バイナリーファイル | MBのubxファイル BNOのbinファイル |
RTKとBNOの混在binファイル |
csvファイル | ubx変換csvファイル
BNO変換csvファイル |
ubx変換csvファイル
BNO変換csvファイル |
DataFrameファイル | BaseRoverBNO 統合した BRBNファイル |
BTUBXファイル |
全合体 | MovingBaseシステムとRTKシステムで合体させる必要があるが 120msec周期と100msec周期で同期できない点が課題 |
●3月末までの処理プログラム群
SkiOn MovingBse システム |
Boots On RTK システム |
|
システムPgm | Teensy4.1 STA24_All_InMB_bnoSD_rev05_bnitowBug240309.ino |
ESP32e WifiUDP_ESP32e_ATERM_BNOK_RELPOK_rev09.ino |
モニターPgm | STA24_Console_MB_SerialMon_rev00.cs | STA24_Console_BinDataToCSV_rev00.cs |
bin csv変換Pgm | STA24_Console_UBX_MB_frev03.cs | STA24_Console_BinDataToCSV_rev00.cs |
PythonDF作成 グラフ閲覧 |
py_CSVread_PandasDF04_VectorRLAllGraph05 | BootsOnシステム用は未だ未着手 周期の違いの処理待ち |
②Pythonデータ処理の順序備忘録
何しろ、STA24のデータのパラメータと量が多く、しかも、不完全部分があるので、
1つのデータを処理するために何段階も処理をしないといけませんので、備忘録しておきます。
STEP | ファイル名 | 周期 | データ種類 |
測定データ 集計結果 keyin’r’ |
ヘッダーBRBNT_ タイムスタンプ MM_DD_HH_ mm_ss |
120 msec |
1:SkiOn: Base(PVT,RELPOSNED)サフィックス _B Rover(PVT,RELPOSBNED)サフィックス _B IMU(yaw,pitch,roll,ax,ay,az)サフィックス 無し 2:BootsOn: Base(PVT,RELPOSNED)サフィックス _T IMU(yaw,pitch,roll,ax,ay,az)サフィックス_T3:付加: headMot,Heading 360度補正 headMot3MA,headMotdiff doffzero 移動平均、差分 変曲点 H-Ysa,skid Heading-yaw差分 横滑り角 linecorr 直線部分の直線回帰の相関係数 LHoseindx 直線部分のインデックス yawHosei yawH yaw補正値 補正済みyaw |
補間処理 結果 |
ヘッダー interPDMRTK _No_BRBNTファイル名 “ho” |
10 msec |
変曲点3個に一回単位で2次のスプライン補間して ファイルに保存 hokannフォルダーにdiffN番号(No)付きのファイル保存 個数は、diffN/3で3個飛び 最後は、削除 |
All合体 ITPAll_ nterPDMRTK_ |
上記ファイル群を順番に1本ファイルに合体 | ||
BNO合体 ITPBNORTK_”ball” |
10msecのBNO生データファイルを同期させて追加 | ||
機械学習
用前処理 |
Trainingデータ生成
Testデータ生成 |