【STA】RTKデータ解析用グラフィック機能開発ーその4ー<ターンの解析手法>

グラフィックでデータを視覚的に見やすくしたので、ターンの解析結果とリンクさせて表示することでターンの理解を深めました。
ポイント1:ターンのRとアスペクト比で描いた弧を表現(クロソイド解析は後日)
ポイント2:ターンの平均値(横滑り角と速度と加速度)を見て動作の概要表現
ポイント3:斜度、道のり、フォールラインなど1本の滑りのデータでセッション全体を表現

※STAグラフィック解析シリーズ記事
RTKデータ解析用グラフィック機能開発ーその1ー<自動追尾機能便利>
RTKデータ解析用グラフィック機能開発ーその2ー<ソースBITMAP表示基礎>
RTKデータ解析用グラフィック機能開発ーその3ー<自動追尾機能の中身>

RTKデータ解析用グラフィック機能開発ーその4ー<ターンの解析手法>

RTKデータ解析用グラフィック機能開発ーその5ー<8か月の集大成>
※2022年2月追記 本記事から8か月経過して下記作品でターン解析まとめました。


※2021年7月12日スキーの曲げセンサ開発開始しました。
【ロードセル】銅板でロードセル作ってみたその1<曲げ測定用>

 

●ターン解析の考え方

●ターン構造体
1本のターンに多くのパラメータが存在するので、構造体でターンを表現してます。

 ‘*******************Turns 構造体******************************************************** 解説
    Private Structure Turns 1つのターンのパラメータ構造体
  ’全体
        Public skiRL As String ‘左右スキーの指定(0)番に収納 データが右スキーか左スキーか目印
        Public turnNo As Integer ‘ターン番号 ターン番号
        Public direction As String ‘ターン方向 R L ターンの方向 右ターン 左ターン
        Public lastNo As Integer ‘ターンの数(0)番に収納 セッション全体のターン数
        Public startNo, endNo As Integer ‘開始データ行No ターン開始RTKデータ番号と終了RTKデータ番号
        Public initX, initY, endX, endY As Integer ‘開始座標、終了座標 X:lon Y:lat ターン開始点と終了点の経度緯度座標値
        Public turnTime As Double ‘ターン時間 ターンの消費時間
        Public turnTimesum As Double ‘累積ターン経過時間 セッション開始からこのターンまでの経過時間
        ‘ターン弧
        Public Radius As Double ‘簡易円近似半径 ターン半径の簡易円近時
        Public theta As Double ‘fallLine 角度 ターンのフォールラインの傾き
フォールラインは始点と終点を結んだ直線
        Public minorDia, majorDia As Integer ‘ターン半円の縦短径、横長径 ターンの短径、長径
        Public Aspectratio As Double ‘ターン弧のアスペクト比 ターンのアスペクト比
        Public fallen As Double ‘fallLine長さ フォールラインの長さ
        Public fallensum As Double ‘ fallLineの累計 セッション開始からのフォールライン累計
        Public initHeight, endHeight As Double 開始点の標高と終点の標高
        Public fallHeight As Double ‘fallLineの標高差 始点と終点の標高差
        Public fallHeightsum As Double ‘fallLine標高差の累計 セッション開始からの標高差
        Public Slopedeg As Double ‘fallLineの斜度deg ターンの始点から終点の傾斜角
        Public Arclen As Double ‘円弧長 ターンの円弧長
        Public Arclensum As Double ‘円弧長の累計 セッション開始から円弧長の累計
        ‘Speed
        Public Speed() As Double ‘Speed配列 ターン内のベース速度データ配列
        Public inSpeed, outSpeed, aveSpeed, maxSpeed, minSpeed As Double 開始点速度、終点速度、最高速度、最小速度、平均速度
        ‘Heading Skidding
        Public headMot() As Double ‘headMot角配列 ベースの進行方向角配列
        Public headSki() As Double ‘ski角配列 スキーの方向角配列
        Public Skid() As Double ‘Skid角配列 横滑り角の配列
        Public maxHeadmot, minHeadmot, dHeadmot As Double ‘headMot角各種 最大進行角、最小進行角、進行角振れ幅
        Public maxSkid, minSkid, aveSkid, dSkid As Double 最大横滑り角、最小横滑り角、平均横滑り角、横滑り角振れ幅
        ‘G Acceleration
        Public Gacc() As Double ‘平均加速度 ターン中の平均遠心力加速度
        Public Gaccmax, Gaccmin, Gaccave As Double 最大加速度、最小加速度、平均加速度
    End Structure

●ターン径の簡易計算
本格的には、クロソイド曲線を用いた理論的な解析が必要です。後日の楽しみにします。
鉄道線路、道路の設計では、必須の考え方ですので、スキーターンも緩和状態から円弧を描くので
クロソイド領域がありますので、
あてはまる理論だと思います。
学会論文たくさんあります。t.ly/DYHx

 

 

●遠心力加速度計算

 

●STAプログラムターン解析部
手順1:SDカードから読み取った左右データをCSVファイルに合体してまとめておく、データエラーは修正しておく。
手順2:まとめたCSVファイルを読み込んで、みたい滑走範囲をグラフに表示して確認
手順3:フォーム下部のTurnCutter17ボタンを押してターンを抽出して右下のRichTextBoxに表示してターン数を確認する。
手順4:フォーム右下のTurnTableボタンを押して、dgv2にターン解析結果を表示する。
手順5:フォーム左のplotBボタンを押すと、滑走データをBITMAP展開して、手動アニメーション表示しながらターンデータ群を表示してターン解析ができる。
●プログラム備忘録
STA22_Graphic_TurnTable_rev23.vb
ソリューションフォルダー毎ZIPしてあります。STA22_Graphic_TurnTable_rev23
shell32を使っているので、プロジェクトー参照の追加で Microsoft Shell Controll & Automaticを追加します。

①ターン構造体をdgv2に一括表示(dgv1は、RTKデータ)

②スクロールバーをスライド

ターンの平均パラメータをグラフ上に表示して谷足のデータを直観的に見てターンの傾向を判定できるようにした
「このターンは、横滑りが10度以下で小さく良かったが、ターン弧が浅い(アスペクト比が0.21)なので
深いターンをしてないため横Gが1.1Gと小さい。」
目指すべきターンは。深い(アスペクト比0.3以上)横滑り角5度以下、横G2G、速度35Km
/h以上となった。

●以後
 ターンの指標がほぼ出そろったので、STAの核心部はほぼ完成したと考えてます。
 次には、ターンを作る入力とSTA結果を対比させて、スキーのたわみと力の入れ方を計測することで、自分の技術の向上が客観的に図れるようにします。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です