MovingBaseは、原理はUblox資料でよいですが、設定は、ArduSimple社の設定ファイルを忠実に書き込んでから、所望の条件のポートを設定する作業が必要です。
※2022年5月27日追記 MovingBaseをやりたい方のアクセスが急増してます。3年目を迎えて、SimpleRTK2Bなら5分でMovingBaseモードの書き換えができるようになってます。しかし、SimpleRTK2Bliteを使うと毎回トラブルが発生します。ですので、私は、SimpleRTK2BliteをMovingBaseでは使ってません。Ardusimple社の設定ファイルには、SimpleRTK2BがRoverとSimpleRTK2bliteがBaseになってますが、どちらでも設定ファイルは使えます。ですので、SimpleRTK2Bを2枚用意して、高速シリアル通信線を手作りして、460800bps通信で接続してMovingBaseシステムにしてます。シールド線でないと安定しません。工作例はこちらにあります。既製品のUSB通信線をばらして作ります。Ardusimple社のSimpleRTK2B heading kitでは、Movingbaseのいろいろな使い方のバリエーションができないので、上記,SimpleRTK2B基板2枚でMovingBaseを構成されたほうが、将来性がある使い方ができます。参考記事群はこちらです。
MovingBaseの設定作業は、条件にもよりますが、最低でも丸1日、初めてだと2日はかかると思いますので、土日をかける覚悟が必要です。=>私のようにいきなりMovingBaseモードからスタートするのは、無謀でした。まずは、SimpleRTK2Bとアンテナセットで、十分にucenterでの設定方法など基本操作に慣れて,測位実験も数か月経験してから、MovingBaseにトライするのが物事の順序です。急がば回れのいい例でした。
※2021年9月追記「SimpleRTK2B liteが悪いのでSimpleRTK2Bなら5分でOKです」
SimpleRTK2B liteをBaseに設定する場合の書き込み失敗は仕様上必ず発生します。SimpleRTK2BならUSB経由で1発で書き込みできます。SimpleRTK2B liteが悪い原因は、シリアル1、2しかないため、シリアル1経由でConfiguratuionファイルを書き込んでいる途中にシリアル1のボーレートを38400bpsから460800bpsへ変更する命令が出るので、それ以降の設定データがエラーになって失敗するからです。ですので、1回目は必ず失敗します。2回目は、Ucenterのボーレートを460800bpsに変更して、2回目の書き込みを来ないます。しかし、2回目から460800bpsという高速だと失敗する確率が非常に高く、何回も何回も失敗を繰り返すことになります。特に、USBシリアルチップが460800bpsに対応してないと永遠に書き込みできません。ということで、2022年から私は、simpleRTK2BliteをMovingBaseでは使わないことにしました。代わりにF9Hを使ったのですが、これもなかなか大変なシステムになってますので、素直にSimpleRTk2Bを2個でMovingBase組むのが一番簡単で安全な組み合わせとなります。その代わり、BaseからRoverへの通信線とXbee基板を自作する手間と通信エラーリスクがあります。ArdusimpleのMovingBaseの設定ファイルは、SimpleRTK2BでもsimpleRTK2Bliteで同じに使えます。
ArduSimple社の解説
https://www.ardusimple.com/configuration-files/ にある
5Hz simpleRTK2Blite (Moving Base) of a simpleRTK2B+heading kitの解説では、
This is the files that goes into the simpleRTK2Blite mounted on top of the simpleRTK2B in the kit. Note that depending on your previous configuration you might have to upload the configuration file twice, because in the middle of the configuration file there is a baudrate change.
※MovingBaseポータル記事
※2021年1月追記 MovingBaseモード使い始めて1年経過
F9Pのファームも1.13にアップされて、MovingBaseモードも200msecから125msecに高速化されました。そこで、SimpleRTK2B HeadingKitを再度設定し直して、今までの不明点が明確になってきました。こちらの記事がMovingBaseモード設定の最新記事です。今までの失敗をまとめると
失敗する原因1:設定がフラッシュに保存できてない(SimpleRTK2Bliteに多い失敗)
失敗する原因2:F9PへRTCM送信が完全に届いてない場合がある(無線では危ないです)
失敗する原因3:MB設定ファイルの書き込みを失敗している(デフォルトからスタート必須)
【RTK2021】2セット目のSimpleRTK2BHeadingSet_MovingBase設定<SimpleRTK2B liteが曲者>
※本記事は、12月の記事ですが、2月になって、MovingBaseモードを自由に使えるようになりました。
ポイントは、SimpleRTK2B用の設定ファイルを指示通りに忠実に書き込めば動作するということのみです。
本記事に書いてあるように、視界がなければ使えないということは逆で、MovingBaseモードは視界がなくても精度よく使えることが分かってきました。物の絶対位置と同時に姿勢を測定するアプリケーションを使う場合は、MovingBaseモードが精度が単独のRTKより数倍高くて最適です。
長年IMUを使ってきましたが、IMUでできなかったことが高精度で実現できることが判った目から鱗です。
MB関連記事はここです。
http://shinshu-makers.net/shinshu_makers/?s=MovingBase
①ublox正規資料
基本は、元資料に書いてありました。
ZED-F9P_IntegrationManual_(UBX-18010802)
https://www.u-blox.com/ja/docs/UBX-18010802
ここの20ページから21ページにMBに関する重要な解説が詰まってます。ページが別れていてみにくいのでコピーメモしておきます。
3.1.5.6 Base and rover configuration for moving base RTK operation The MB mode differs from the standard RTK operation in that the base station is no longer stationary at a pre-determined location. Both the reference station and rover receivers are allowed to move while computing an accurate vector between the receiver antennas. This mode enables the calculation of heading on dynamic or static platforms, plus provides a centimeter level accurate 3D vector for use in dynamic positioning applications, e.g. a UAV ”follow me” feature. This section describes how to configure the ZED-F9P high precision receiver in a moving base setup. 3.1.5.6.1 Base operation in MB RTK mode In addition to the rules described in RTCM output configuration section above, the following moving base specific rules apply: • The RTCM 3.3 stream must contain reference station message 4072 sub-type 0 (position information) and MSM7 observation messages, otherwise the rover will be unable to operate in MB rover mode. • It is recommended to include message 4072 sub-type 1 (timing information) as this will improve RTK rover timing performance. • Messages of type 4072 must be sent for each epoch the MB base observations are sent. • To ensure that the baseline is as accurate as possible, the MB base and rover must use the same navigation update rate. The desired RTCM messages must be selected and configured for the corresponding GNSS constellations received. The recommended list of RTCM output messages for a base operating in MB configuration are: • RTCM 4072.0 Reference station PVT information • RTCM 4072.1 Reference station timing information • RTCM 1077 GPS MSM7 • RTCM 1087 GLONASS MSM7 • RTCM 1097 Galileo MSM7 • RTCM 1127 BeiDou MSM7 • RTCM 1230 GLONASS code-phase biases Additionally, while a MB receiver operates as a base, it is able to simultaneously: • Apply RTCM 3.3 corrections and reach RTK fixed mode. • Generate a MB correction stream for accompanying MB rover(s). 3.1.5.6.2 Rover operation in MB RTK mode While the MB RTK solution aims at estimating the relative position with centimeter-level accuracy, the absolute position of each receiver is expected to be known with a standard GNSS accuracy of a few meters, unless the base is receiving RTCM 3.3 corrections. In addition to the rules described in the rover operation section, the following moving base specific rules apply: • A moving base receiver typically experiences worse GNSS tracking than a static base receiver in an open-sky environment and therefore the MB RTK performance may be degraded. • The MB rover can only compute an optimal MB RTK solution if the time-matched RTCM observation and position messages are received within a predefined time limit. The MB rover will wait up to 700 ms for messages before falling back to an extrapolated MB RTK solution. The MB rover will extrapolate the MB reference observations and/or position for up to 3 s before falling back to standard GNSS operation. • The achievable update rate of the MB RTK solution is limited by the communication link latency. As a rule of thumb, the communication link latency should be about half the desired navigation update period. If it exceeds 700 ms, the MB rover will not be able to compute an MB RTK solution, even at 1 Hz. • Since the MB rover must wait for time-matched RTCM corrections from the MB RTK base to compute its position, the overall latency of the MB RTK solution will be the sum of the communication link latency plus the MB RTK computation time. In addition to the modified output described in the rover operation section, the following moving base output message modifications will be observed:UBX-NAV-RELPOSNED: • The isMoving flag will be set • The refPosMiss and refObsMiss flags will be set for epochs during which extrapolated base position or observations have been used • The baselineValid will be set, unless extrapolated observations have been used • The heading for the relative position vector and its accuracy will be output, the relPosHeadingValid flag will be set, unless the length of the relative position vector and/or its accuracy are not sufficient to reliably derive the heading informationCFG-NAVSPG-CONSTR_DGNSSTO: As discussed above, RTCM corrections can only be extrapolated over a few seconds when both base and rover receivers are moving. Therefore, any value set using this configuration key will be ignored by the MB rover. |
①通常の固定BASEと移動ベースのRTCM3設定の違い
固定BASE (19ページに載ってます) | 移動BASE(21ページに載ってます) | |
1 | RTCM 1005 Stationary RTK reference station ARP | RTCM 4072.0 Reference station PVT information |
2 | RTCM 1074 GPS MSM4 | RTCM 4072.1 Reference station timing information |
3 | RTCM 1084 GLONASS MSM4 | RTCM 1077 GPS MSM7 |
4 | RTCM 1094 Galileo MSM4 | RTCM 1087 GLONASS MSM7 |
5 | RTCM 1124 BeiDou MSM4 | RTCM 1097 Galileo MSM7 |
6 | RTCM 1230 GLONASS code-phase biases | RTCM 1127 BeiDou MSM7 |
7 | ー | RTCM 1230 GLONASS code-phase biases |
固定BASEでFIX位置を知らせる重要な1005が、
移動BASEでは4072.0に代わってます。
※2020年1月25日追伸
本記事2019年12月17日時点の記事ですが、その後MovingBaseとRTK基準局の進展があって、現在では庭先(北半分は視界がない)状態でもMovingBaseで相対誤差7mm程度までの設定ができるようになってます。F9Pの設定は難しいので、初心者のうちは、Ardusimple社のmaster設定ファイルを使って設定をすることが肝心です。MovingBaseのやり方は下記ページです。
動画をみていただければ、2個のF9Pを独立して測定するよりMovingBaseを使ったほうが遥かに精度が
いいことが分かりました。
ーーー以下古い記事となりますーーーーーーーーーーーーー
私の場合自宅庭置きでは、1005が出ないので、移動BASEではどうかと
思ってやってみたのですが、やはり、4072.0が出なくてNO RTKでしたので
結局、アンテナ工事するか、見晴らしの良い場所で設定実験しないとダメという状況が本日までの結果です。確認方法は、
①移動BASE側:USBにRTCM3を出力して、View-Packet-Consoleで確認
この時は、4072.0が一瞬見えたがその後消えた
➁移動Rover側での確認(Xbee115200bpsでUART2接続)
View-MesseagesView-RXM-RTCMをenablelにして受信RTCMをみる
7個送っているはずなのに4個しか受信されてないこの
原因は、Xbeeのデータ落ちなのか、衛星の補足の不足なのか、移動BASE側のばらつきなのかいろいろあって、わかりませんので、どれか確実に動作させないとデバッグできないことを悟りました。
●ubloxフォーラムではどういう情報があるのか
「Enabling moving baseline on ZED-F9P」
というMBを設定したが、精度がでないという投稿がありました。
この方も、電波の状態が悪いせいと片付けられてしまいました。
●アンテナの立て方
東京海洋大学様が詳しい資料を公開されてました。
http://www.denshi.e.kaiyodai.ac.jp/gnss_tutor/pdf/st_171208.pdf
結局BASEの実験するには、庭でなく長いアンテナポールにとりつけないと実験すらできないということでした。
●ユーザーがBASEを管理するのは面倒=>BASE断念します
私のように測位が趣味でなく、スキーターンの軌跡を測定したい人にとって
BASEを作ることは、非常に手間がかかって面倒です。できれば、スキー場で動的に5cm以下の精度で測位できるNTRIP局があればそれで、万事かたづくので、調べてみました。
ソフトバンクの子会社のALES社が12月からRTKサービスを始めたの質問してみたら、すぐ回答がきました。
①全国のソフトバンクエリアには、ほぼRTK局の設置は完了している。
➁スキー場の場所(八方尾根、コルチナ、LOTTE ARI)の10km範囲内に
RTK局は存在する。
③ただし、現在のサービスは専用回線を使うお客様のみで、一般のNTRIPサービスはしていないが、2020年3月からNTRIPサービスを行う予定
とのことでしたので、3月まで待てば、スキー場でも5cm以内で測位できそうです。それまでは、松本局を使ってどこまで測位できるかをトライしてみて、その他の課題を抽出していく方向で検討したほうが、自前BASEにこだわるよりいいかもしれません。