【RTK22】RTK走行軌跡ビューワー<所望のデータを見つけて拡大自在>

F9Pの計測したデータから走行軌跡をプロットして、所望の部分を拡大して観察するビューワ機能作りました。
M9Nの補間システムで、時系列処理は、ローパスフィルターで積分ができたので、実際に補間プロットを
して、M9Nの性能評価をする目的で、プログラム組みました。
C#を学習しながらなので、1か月ほどかかりましたが、VBと同程度まで使えるようになってきました。
※信州MAKERSの開発拠点の移転作業が8月から12月くらいまでかかりますので、開発活動は、大幅に遅延しますが、2023年以降は、松本拠点よりスキー場30分と好立地なので、STA開発は格段に進捗します。

今回は、公園内をロードバイクで、10-30kmh程度の速度走行したデータをログして、それをデバッグ用に
使ってます。M9Nは、精度を得るには20-30kmh以上必要なので、ロードバイクで飛ばせる場所が必要です。

●走行軌跡ビュワー特徴
特徴1:ログしたデータ全体を表示して、ブロックに分割して、cm分解能で見れる
特徴2:所望の軌跡をマウスクリックして、マウスホイールで拡大縮小して、みれる
特徴3:拡大縮小で、縮尺がついているので、ポイント間距離が分かる。

ソース備忘録
https://gist.github.com/dj1711572002/ec9a51146b71d2650f44ca53a81a0b37

●アルゴリズムの備忘録
ポイント1:分解能を上げるために、BITMAPのデータを全データ以外に全データをブロックに分けて、1cm/dot以下に拡大できるようにした。
ポイント2:最初に全体を俯瞰してどのブロックを注目するか全体View機能をつけてある。
ポイント3:ソースBITMAP画像を左PictureBoxに、拡大BITMAP画像を右Picture Boxで表示することで、観察しやすい
ポイント4:クリックで範囲選択して、ホイールを回して拡大縮小率をきめて、クリックして表示する単純操作で全て観察可能

※アフィン変換をつかった方法が一般的なようですが、
https://imagingsolution.net/program/affine_image_transformations

私はDrawImageだけ使ってます。中身はアフィン変換をつかわれていると思います。
アフィン変換についてMS仕様の記事
https://imagingsolution.net/program/csharp/microsoft-affine-transformation/

●実際の観察

①全体表示は、最後のブロックNoを指定すると表示されます。
色別になっているので、どこのブロックを拡大するか選べます。この全体表示で拡大しても
どっとがくっついた状態でソース描画されているので、ソースを拡大再描画しないと分解の得られません。
メモリーが潤沢で、BITMAPの制限がなければこのようなブロック処理は必要ありませんが、タブレットとか
ノートPCだとメモリー制限あるので、ブロック化は必要です。

②ブロックNo1が赤なので、拡大すると円軌跡がポイントで見えます。ポイント間が100msecです。
この円軌跡の直系が5m前後であることが分かります。

③さらに拡大して1m縮尺にすると弧の形がみえてきます。

④別のブロックを選択してプロットすると減速して加速するところが観察できました。

 

●以後

プロットした座標のデータNoと時系列グラフの同期させるアイデアを考えます。

コメントを残す

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