【STA24】STA24データの機械学習その0<学習データ整えるまでが長い>

PythonでSTA24データ処理して、ペアプロットで観察すると、いろいろなことが判りました。

判ったこと1:Heading角とIMU yaw角の最大誤差は、ある特定条件で発生しやすい。
=>roll角のピークでyaw角が10度以上誤差が発生している場面が多い
判ったこと2:上記1でもばらついている場合があるので、roll角だけではyaw角誤差を説明できない
=>誤差をターゲットとして、機械学習で分類して誤差を予測させる

=>Pythonの学習ばかりしていて、ST24のデータ処理の流れ忘れてしまったので、
ここで、改めて整理して備忘録しておきます。兎に角複雑になっていて、判りにくいです。
複雑な理由は、RTKの周期が120msecと100msecがあって、IMUが10msec周期なので
全部同期させるために、RTKの波形を補間処理しているからです。
補間処理は、波形を分割して行うので、多数の小さなファイル群で1本のスキー滑走になります。
1個1個のファイルをチェックするので大変な手間となってます。

⓪4月のpython学習でまとめた図

①ログされた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)サフィックス_T
3:付加:
headMot,Heading 360度補正
headMot3MA,headMotdiff  doffzero 移動平均、差分 変曲点
H-Ysa,skid Heading-yaw差分 横滑り角
linecorr       直線部分の直線回帰の相関係数
LHoseindx  直線部分のインデックス
yawHosei  yawH   yaw補正値   補正済みyaw
 

補間処理

結果
keyin ‘ho’

ヘッダー
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データ生成