3月19日で6回目の測定完了しました。6回目は、左右モードで、INSTA360で滑走シーンも撮影しました。
スキー場実測が一段落したので、やることと課題をまとめて考えてみました。
Pythonを学習しながら進めていくので、夏まで時間がかかると思います。
今年こそはシステムの水濡れ対策ができているので、夏から秋のサマースキーでの実測をしようと思います。
●課題
A:スキーターンの基本原理が分ってない点でターンの評価パラメータが判らない。
B:デバイス毎にサンプリング周期が違うので、同期が大変MovingBase120msec,RTK100msec,BNO10msec
C:デバイス毎で、ログの開始時間がズレるので、開始時間の先頭合わせが手間
D:測定モードが右のみと左右モードと2種類のデータ混在
E:上記のデータの種類を処理するプログラムが無数にあって、複雑で扱いにくい
●課題対応案
A1:スキーの上手な人の模範滑走データを測定する
B1:データを細切れにして、ぴったり合う補間式を作って10msec刻みの分解能で補間データを作製
Pythonには、様々な補間ライブラリーがあるので、学習しながら進めます。
https://qiita.com/maskot1977/items/913ef108ff1e2ba5b63f
C1:Pythonで処理
D1:Pythonで処理
E1:最終的にバイナリ処理からPythonで全部やる(Pythonコードが長くなるので慣れてからにする)
●現在のデータ処理作業
①ログデータのバイナリからcsv変換
②csvファイル群からPython DataFrameを生成
③DataFrameからグラフを切取り
●データの種類
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で、データ閲覧プログラムを完成させてから、補間処理用プログラムを作ります。
4月いっぱいで、補間処理を完了させたいと思います。
※120msecと100msec周期の2通りにした理由
MovingBaseは、一時的にBNO精度確認用で使い、BootsOnがSTA24のメインシステムで
扱い易い100msecに統一するために採用してあります。
いずれにせよ、BNOの補間処理がテーマの技術課題なので、RTKの軌跡と角度データを
10msecまで補間分解してみないとBNOと比較できないので10msec補間が必須です。
そうすれば120msecと100msecも同時にできてしまうので、補間を優先し行うということになります。