【L-RTK】MovingBase方式の学習始めた<相対位置がmmオーダーで得られる>

※2024年初夏 ubloxはRTK事業で失敗したようです、ZED-F9Pは製造中止になるかもしれません。
=>心配なので、Ardusimple社に問い合わせたら、ZED-F9Pはあと5年以上供給するとの回答を得たので一安心しました。

【RTK】Ublox異変=>F9P終わって、NEO-F9Pに移行L1-L5のみ<事業存続の危機か>

読者の皆さんに問いかけたいのは、あなたの行動は、コト作りを前提としたモノ作りになってますか? です。

私の目的はスキーターンの測定なので、緯度経度以外に板の姿勢角(Heading)が必要です。そのような用途には、MovingBaseモードがあることをCQ出版のU氏から教えていただきました。
MovingBase2点距離精度の凄さを実感した(RTKを凌駕したLocal RTKというべきです)
RTKは、基準局(Base)が別の場所に設置されていて、移動局(Rover)がインターネット経由で、RTCM3(補正データ)を受信して位相測定と波数の連立方程式計算を行ってcm位置を得ます。
MovingBaseは、基準局(MovingBase)が
その場にあって、数十cmから数m距離に移動局(Rover)があります。有線のシリアル通信でRTCM3(補正データ)をMovingBaseからRoverへ送信してRTK計算をして、相対位置を得ます。この場合緯度経度が得られないと不便なので
Ardusimple社のMovingBase設定ファイルでは、基準局のNTRIPからのRTCM3をMovingBaseへ入力してRTK計算をさせて緯度経度を得ます。つまり、
一般的なRTK計算をMovingBaseでローカルなRTK計算をRoverで同時に行っていて、結果は、Roverから出力されます。
「基準局(base)との距離が数十cmから数mなので、MovingBase精度が良いのは当然です」

 

●ばらつき測定例
・家のベランダで約98cmのアンテナ間距離を静止状態で測定した場合の3シグマ値が7.77mmですので、ミリオーダーで精度がでていることが分かります。RTKだとcmオーダーになるのでMovingBaseは、一桁上の精度です。
・視界の良い河川敷で測位した場合は、3シグマ5.35ミリになってます。NTRIP接続はMovingBaseでは必要ありませんが、衛星受信電波が良好な場所にいかないと精度は上がりません。

MovingBaseばらつき例約98cmアンテナ間隔
average 98.889cm 988.887mm
stdev .259cm 2.592mm
3sigma .777cm 7.775mm

※2023年8月11日追記 Moving  Baseの上下配置のVertical MovingBase、鉛直方向でも相対精度が出ます。

STA24】MovingBaseの非推奨の使い方でトライ<VCBLとVertical MB>

※2023年7月追記  超小型MBアンテナ作った
しばらくMovingBase方式の改良をしてなかったのですが、アイデアが浮かんで、超小型アンテナをつくりました。精度は、アンテナ間1mなら1度以内ですが、アンテナ間6cmだと5度まで低下しますが、下手なIMUを使うよりは、信頼性が遥かに上なので、グランドプレーン一体型MBアンテナでSTA24システム作ってみます。

※2022年6月30日追記 MovingBaseのユーザーは、GNSS分野でなく、物の動きを測定する分野のユーザーです。
私も、スキー滑走用に変位、速度センサとして、MovingBaseを使ってますが、測定周期が遅いのが欠点です。
2022年は、10HzのMovingBaseを25Hz以上に補間する方法を検討してますが、自動運転で使われている
技術で、DeadReckoningという多センサでの推測アルゴリズムがあります。自動車では、確立してますが、いかんせん、自動車の目標精度が1m程度なので、私の目標である数cm精度にはなりません、そこで、MEMS IMUを止めて、高レートGPSで速度ベクトルを測定することで、MovingBaseを補間することを検討してます。Ublox M9Nという高レート(25Hz)のGPSだと、GNSS測位精度は1m程度ですが、速度を積分した変位は、数cm精度がでます。原理は、速度をGPSドップラーで測定しているからです。
 試しに、RTKのF9PとM9Nを車載して測定してみたところ、速度と変位の相関がほぼ線形なので、M9NがF9Pの補間に使えることが判ってます。下記記事参照。これを2022年末までに開発完成させて、スキーターンの高速高精度測定にトライしていく予定です。 

※MovingBaseで上下動が入るとFix落ちする現象の解析
歩行時の足の方向をMovingBaseで測定してみるとFix率が50%以下に落ちてしまう現象が多発したので、MovingBaseの基本的 実験をやり直してみました。パッチアンテナだと、上下動が入って斜めのBaseLineになる場合Fix落ちしやすくなりますが、ヘリカルアンテナだと傾斜が50度程度までは、Fix落ちしません。流石に垂直に立てるとFix率は50%近くまで落ちますが、傾斜姿勢を測定するならヘリカルがアンテナがよいです。ただし、全てのアンテナには、10cmx10cmのグランドプレーンが必須です。
MovingBaseのFix落ち解析シリーズは、こちらです。

※2022年5月18日追記 MovingBaseの高精度を活用して梁のタワミの測定をはじめました。
移動体の部材のタワミ測定には、MovingBaeのLengthは、金尺みたいな物で
非常に有効なパラメータとなりそうです。

【RTK22】MovingBaseで部材のタワミを測定できるか実験した<Lengthが好適>

※2022年5月追記 IMUを追加してRTKを補完する技術の調査 良い論文ありました。
RTK/
MovingBaseは、IMUなど従来のセンサでは到達不可能な位置精度をもたらしてくれますが、弱点もあります。自動車走行の場合など視界の悪い場面(高架下、トンネル、高い森の中等)では計測は外れ値となってしまいます。その点んを補うセンサーフュージョンについて研究した博士論文がありました。RTK中心にかかれてます。

【RTK22】RTKとIMUを使った位置推定分野で良い論文あった<大阪大学Dr論文>

※2022年3月追記
スキー滑走中の測位精度を管理するために、RTKの精度を調査学習してます。GNSS分野では、ばらつきの管理レベルは1シグマで統一されてます。ですので、ばらつき全体の68%を精度として表現しているので、実際は、3シグマ程度のばらつきが発生すると思ったほうがいいです。MovingBaseでもmmオーダーがでても最悪3cm程度の誤差があり得るということです。通常の工業製品分野の精度感覚だと、3シグマは当たり前で5シグマくらいないと精度良いと判断されないのですが、GNSS業界では、1シグマで統一されてますので、一般の工業製品の品質管理からの精度感覚だとびっくりします。
精度についての調査記事は、こちらです。

※2022年6月追記
RTKの基準局からの距離による誤差3シグマを基線長解析しました。RTKの実力値をみるには、基線長解析が最適です

【RTK22】2kmと51km基準局での基線長ばらつき精度比較<ubx-csv変換TOOL公開>


■cm級GPS2個の相対位置を測定するよりMovingBaseで相対位置を測定したほうが精度が良い事例下記記事
【RTK2021】2点間距離の実測とHubeny計算式の比較<MovingBase精度のほうが良い>

   メリット1:MovingBaseだと2点間の距離と座標値の精度はmm単位(cm以下)になります。
 メリット2:NTRIP接続がなくても動作します。ただし緯度経度は出ません。3次元の相対位置だけです。
 メリット3:Base1個と複数Roverで多点の位置計測ができる
デメリット1:F9P設定が難しいので、メーカーが用意してある設定ファイルを忠実に書き込む以外に無い。
デメリット2:Base-Rover間を無線で接続するには、遅延が問題になって難度高い。5Gならできるかも
私は、スキー用途なので有線シリアル460800bpsで接続してます。
デメリット3:F9Pの場合最速Rateが10Hz程度と遅い。Septentrio社のMOsaicチップなら50Hz出ます。
デメリット4:MovingBaseの出力はNAV-PVTとNAV-RELPOSNEDの172Byteですがバイナリなので、Ucenterを接続して読むか、自分で変換プログラムを作らないとデータとして使うことができません、簡単なので、初歩のプログラム学習で十分対応できますので、トライをお勧めします。マイコンでプログラムを作る、もしくは、ExcelVBAとかVisualStudioのプログラミングの3種類があります。信州MAKERS では、プログラミングの紹介記事をたくさん用意してあるので、プログラム初めての方は学習をしながらMovingBaseに挑戦してください。

 カテゴリー MovingBase
●MovingBase主要記事のリスト
2020年1月から初めて試行錯誤を繰り返してきたので、完成したのは2021年2月です。
まとめてないので下
表から拾い読みしていただければ幸いです。

記事題名

解説

【L-RTK】Moving Base設定トライ失敗備忘録
<SimpleRTK2b liteが悪い>

2019年12月17日
SimpleRTK2B HeadingKit入荷したのが2019年12月3日で2週間でRTKをいじってから、MovingBaseをやろうとしてこけた時の記事。
未だ、F9Pの設定の初歩ができてないので、MovingBaseに進むには
知らないことが多すぎて経験不足段階でした。これから1か月半の間悪銭苦闘して、何とか動作させることができるようになりました。はまった最大の原因は、SimpleRTK2B liteが書き込みがしにくい点が最大の原因です。小さい基板なので、USBがついてないので、データ出力専用のUART1を使って、設定用通信をするので、データ通信のボーレートを変更すると設定通信が中断してしまうエラーが毎回発生します。これは、致命的な欠点です。できないことはないですけど、毎回設定のエラーがでるので、嫌気がさします。
2022年からは、私は、SimpleRTK2Bliteの代わりにF9Hを使ってMovingBaseシステムを構成してます。何故なら、設定を気軽に変更して測位実験をしたいからです。初めての方なら、SimpleRTK2Bを2枚購入されてMovingBaseを組めば、1日でMovingBaseを動作させることができますので、SimpleRTK2B liteは、小型化が必須の方が使われるのが良いと存じます。

【L-RTK】RTK_2CHで横スベリ測定してみた<MovingBaseかHeading必要>

 

2020年1月13日 MovingBase設定できないので、RTKだけで、測定した例、スキー板の前後にアンテナをつけて、2CHでRTKしてみた。
40cm間隔で固定してあるのにも拘わらず、1mくらい離れた距離で測位データがでる場合があって、RTK2CHでは、相対位置精度がでないことが判った。やはりMovingBaseでないとダメと悟った。
【L-RTK】2ch_RTK解析用VBAグラフTOOL作ってみた<スキーターンズレ見えた> 2020年1月19日 上記結果を出すために作ったVBAの作り方

【L-RTK】MovingBaseモード何とか動きそう<master設定の書き込み方が間違っていた>

2020年1月23日 初めてMovingBaseが動作させた記事
ArduSimple社の設定ファイルの書き込みできてなかっただけでした。F9P設定に慣れてない点とSimpleRTK2Bliteの書き込みが難しい点の二重苦で1か月かかりました。
 【L-RTK】MovingBaseモード動いた<基本と設定>  2020年1月24日 苦戦しているMovingBaseを再度いじりだした。
SimpleRTK2B Heading KitでのMovingBaseの図解

設定方法の詳細は書いてない。
 【L-RTK】F9P出力ファイルをExcelVBAで処理<NAV-PVTとNAV-RELPOSNED見た>  MovingBaseのRoverから出力される2個のUBXフレームはバイナリーなので、実数に変換するEXCEL VBAプログラムを初めて作った時の記事なので、初歩的なアルゴリズムなので変換バグあり
 【L-RTK】F9P_Xbee経由でのRTCM3データ初めて見た<バイナリーで化け文字>  2019年12月9日の初投稿依頼、数十回更新してます。
F9PでのRTCM3の通信は2種類あります
①遠くの基準局からのNTRIP経由のRTCM3を受信。
②MobVingBaseが発生するRTCM3をRoverで受信。
本記事では、①の受信をXbee1経由で無線で行って
失敗した例です。私の場合、無線プログラムの技がないので、それ以降NTRIPから受信したRTCM3は、有線シリアルで送信することにしました。BlueToothで送信している事例は多くあります。
 【L-RTK】MB出力処理VBA高速化とバグ取り<VBAも結構早くなる>  2020年2月8日 上記VBAプログラムのバグ修正と高速化をしました。これではPC上でしかできないので、以降は、マイコンプログラムでのMB出力変換プログラム作りに移ります。

【RTK2021】M5StackでRTK-MB_SDcardロガーPgm作った<2日でできた>

2020年12月30日 2021年シーズンに入って、M5StackでMovingBase出力データをリアルタイムに表示するプログラムを作成しました。以外と簡単でした。

【RTK2021】F9PへRTCM入力するシリアル波形をオシロで観察してみた<RTCMシリアル通信はまりやすい>

 2021年1月12日 NTRIPから受信したRTCM3を無線で送信しようとトライして失敗ばかりするので、オシロとロジアナで観察しました。
数十msecデータ転送中に遅延が発生するとエラーになってしまいます。失敗は絶対許されない使い方なので無線化はあきらめました。

【RTK2021】RTKモニターにコマ送り機能追加<板の動きがよく判る>

2021年2月15日 スキーターンのデータ初めてグラフィック表示
MovingBaseのおかげで、スキー板のズレ姿勢が見事に測定できました。以後は、STA(スキーターンアナライザー)というテーマに特化して、毎年12月から4月まで開発を進めてきてます。

【STA】RTK Ski Turn Analyzer[STA] Introduction <for DIY>

2021年3月18日スキーターンアナライザの第一報
Ardusimples社のブログで紹介されたので、英語版で記事を書きました。欧州からのアクセスが増えてきました。本テーマが世界初の試みであることを意識して開発を続けることになりました。

【RTK21】MovingBase 1Base-2Roverで試してみた<MB機能を拡張する>

2021年5月23日 通常のMovingBaseは卒業して、新たな使い方を試みる活動に移りました。
MovingBase1個から複数のRoverへRTCM3を通信することで、多点の相対位置測定ができることが判りました。

【RTK22】正月の工作ZED-F9Hボード試す<Movingbaseアンテナ間固定専用>

2021年12月30日年末ぎりぎりにスペインArdusimple社からF9Hボード2枚が届きました。これをMovingBaseのRoverの代替え品として使うことで、SimpleRTK2Bliteから卒業できることになりました
余ったSimpleRTK2B liteは、単独のRTK測定用に使います。
コストダウン効果もありますが。初めての方は、F9Hは、機能が少なすぎて、使いこなすのが難しいのでお勧めしません。

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

 

2022年10月29日 春夏は、F9Pの高速化のための基礎開発がメインでM9Nで補間するシステムのプログラミングで春夏が過ぎてしまいました。10月になって、2022年のスキーターンアナライザの全体開発に戻して、2022年版のシステムハード仕様を検討はじめてます。まずは、2022年でF9Pのファームウェアがアップデートされたので、その効果を得るべくFw1.32でUART2のOUTが使えるか実験してみました。仕様通り十分使えるので、MovingBaseモードをマイコンで使う場合に精度の向上が実現できました。

●UBLOX F9PのMovingBase基本解説はここです。
https://www.u-blox.com/sites/default/files/ZED-F9P-MovingBase_AppNote_%28UBX-19009093%29.pdf

これは、IMUの代わりになる技術なので、凄いです。IMUは積分誤差があって高級品でないと、方向と軌跡の精度がでませんが、MovingBase技術を使えば精度よく安く実現できます。(安いといっても5-6万円ですが)
最近は、高精度IMUの低価格化が進んでいるので、用途によっては高精度IMUのほうが適している場合もあります。私のスキーターンアナライザー用途の場合は、猛烈な振動環境の測定なのでIMUでは、ノイズが大きすぎて
技術的に難易度が高いので、容易に高精度の位置とベクトルが得られるMovingBaseを採用しました。
スキー関連のカテゴリー STA
 スキーターンアナライザ開発は,MovingBaseのおかげで成功いたしました

●具体的にどうすればいいのかわからないので
※初心者の方は、まずF9P1個でcm級GPSを十分使いこなせるようになってから、MovingBaseに挑戦したほうがいいです。私の場合はいきなりHeadingKitを購入しましたが、設定が分からなくて、2-3か月かかってようやくMovingBase動作させましたがcm級GPSの基礎学習がおろそかになってしまいました、1年目は1個でcm級測位の学習をしてから2年目で応用(MovingBaseとか基準局作り)無理ないです。ブラックボックスで動作させるなら、私の記事を参考にして動作させられますが、トラブルとか応用発展する場合、躓きます。
早速、Arudsimple のフォーラムにいって、事例をさがしたらありました。https://www.ardusimple.com/question/moving-base-functionality-for-positionheading/

こちらの方がYOUTUBEにしてくれてありました。

*********************************************************************************
※2021年1月追記
SimpleRTK2B headingKitを使った、MovingBaseの設定方法の最新版です。はまり易いので、最新版をお試しください。

【RTK2021】2セット目のSimpleRTK2BHeadingSet_MovingBase設定<SimpleRTK2B liteが曲者>

 

※2020年12月追記

購入後1年経過して、F9Pのファームウェア2020年6月に1.12から1.13へアップされたので、手持のF9P2個を
ファームバージョンアップしました。それに伴い、MovingBaseの設定ファイルも変更になりましたので、書き込み手順を備忘録していきます。1年たっても、設定書き換えはトラブルが多く1日がかりでした。2021年スキーシーズンは、SimpleRTK2BHeading kitをもう1セット購入して、スキー両足で4個のF9Pを取り付けて、両足MovingBase測定をします。ファーム1.13でMovingBaseサンプリングが1.6倍の125msec(8Hz)になったので分解能向上になってます。

【RTK2021】FW1.13更新したらMovingBase高速化できた<速さは動画ご覧ください>

**************************************************************************************************************************

※2020年2月追記
本記事は2019年12月の記事ですが、2020年2月現在MovingBaseを自由自在に使えるようになってます。

 特徴は、NTRIP基準局で2Ch測位する2Ch間の精度よりMovingBaseの2点間の精度が格段に高精度な点です。
  2点間の距離角度精度が重要なアプリケーションでは、威力を発揮します。
 しかし、MovingBaseモードを使いこなすには、通常のRTKより相当難易度が高いので1カ月間苦労しました。MB関連記事は下記リンクです。

http://shinshu-makers.net/shinshu_makers/?s=MovingBase

 

===注意===============

この記事は、過去のトライの内容ですので、ここでは動作しませんでした。
このリンク記事のJPEG解説図をダウンロードして、じっくりと見ながら設定すれば動作します。

【L-RTK】MovingBaseモード動いた<基本と設定>



以下の資料は、UBLOX社純正ボード用の設定ファイルなのでardusimple社のボードでは動きませんでした。その辺がはまりやすい点でした。

 

 

●MovingBaseの資料
UbloxのボードC099用の設定ファイルとマニュアル一式がGITにあるそうです。https://github.com/u-blox/ublox-C099_F9P-uCS

SimpleRTK2とは違って高い純正品ですが、設定の基本は同じはずなのでこれ読んでます。
GITからダウンロードした資料で分かりやすいのがありました。
C099-F9P-Quick-configuration-Moving-base_(UBX-19046400)
9ページ目 ucenterの使い方TIPS増えました。

 

上記はMovingBase用の設定ファイルの読み込み方法を解説してます。
使うのは
[Generation 9 Configuration View]のAdvanced Configurationです。隠れていて気付きませんでしたが、F9Pの膨大な全設定がここだけ
でみえます。

 

Advanced Configurationをクリックすると

●設定ファイルの読み込み操作
一番下の左で見えてないのでスライドでだしてから
load from file ボタン押します。

“F9P Base moving base config C99″を指定してOK

すると空白だった表が設定項目でぎっしり埋まります。

これで、C099用のMB設定ができてるはずですが、SimpleRTK2との違いを修正すればできるはずです。

 

カテゴリー: RTK

コメントを残す

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