【STA22】新MovingBaseでの座標パラメータ備忘録<MB0.1mm分解能>

STA22のMovingbaseと過去のMovingBaseとの大きな違いは、従来の緯度経度値を位置座標に換算していた簡易式を使わないで基準局からの基線長座標を使って、移動位置を計算する方式にしたので、0.1mm分解能で
位置を表示できます。RTKの最高分解能で、表現できることができました。

●実現するために、MovingBaseシステムの大改造をおこないました。
Ardusimple社から提供されているMovngBase configuration fileでは、
Baseは、出力ができません。なぜなら、シリアルポート2個とも埋まってしまって、マイコンへの
出力ができないからです。UART2 INからNTRIPレシーバーからの基準局のRTCM3データが
入ってきて、RTK計算したRTCM3データをUART2 OUTで出力する設定になってます。

Baseからのデータをマイコンへ出力する手段は、FW1.13までは、USBポートから出力するしか手段がありませんでしたので、私は、Teensy4.1で HOSTシリアルのプログラムを組んで対応しておりました。
2022年1月から9月までは、USB HOSTでBASEからデータを読んでいました。

ところが、FW1.32にアップすると、UART2のOUTがUBX出力が可能になりました。
そこで、USBHOSTをやめてシリアル通信で、マイコンにBASEのデータを送信することが可能になりました。このやり方の解説は下記記事です。

【RTK22】FW1.32にアップしてUART2-OUTを使った<MovingBase性能アップ>

 回路図は下記です。

●新MovingBaseシステムでのデータ加工

①固定点を設ける
基準局の座標を常時データで出力していても桁数が大きすぎて、判りにくいので、
固定点を設けて、そこを測定の基準座標にする方法にしました。
固定点は、30秒静止してその間に基線長解析計算して、基準局からの精度ばらつきを計算して
平均値と標準偏差を得ます。モニターで、標準偏差値が良いかどうか確認してから測定に入ります。

②固定点座標からBase Rover位置計算
引き算、足し算ですが、±をまちがうと位置を間違ってしまうので、実際のアンテナ位置を計算値を
合わせて検算しながらプログラムを組みました。

③モニターするデータ
3行のASCIIで送信します。
 監視行:マイコンのモードとF9P BaseとRoverの受信状態 flags,pDop,haccとログのミスカウント、ログカウント
Base行:itow,固定座標N,E,D,gSpeed,headMot
Rover行:itow,固定座標N,E,E,gspeed,headMot,Length
これだけあれば、スキーの位置と姿勢と横滑り角が計算できるので、モニターのタブレットのC#プログラムで、グラフィック表示できます。

 

●以後
明日以降、IMUを仕入れたのでIMUマイコン接続して基礎実験します。
欲張って、9軸IMU BNO055  秋月
https://akizukidenshi.com/catalog/g/gK-16996/

BNO055使用 9軸センサーフュージョンモジュールキット

磁気補正がついて オイラー角、クォータニオン出力してくれるので、学習して
headMotの精度と比較して±2度程度に収まるようでしたら、MovingBaseを止めて、
BNO055を使ってスキートレーシングシステムにします。
コストサイズ 手頃さでも、IMUで板の方向角がでれば御の字です。
MovingBaseと9DOF IMU比較は、STA23テーマとなります。

BOSCH社の意欲作です。
https://www.bosch-sensortec.com/products/smart-sensors/bno055/

今までIMUが使えないで困っていたのですが、これがそこそこ使えれば、大きいです。

 

 

コメントを残す

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