※2024年初夏 ubloxはRTK事業で失敗したようです、ZED-F9Pは製造中止になるかもしれません。
=>心配なので、Ardusimple社に問い合わせたら、ZED-F9Pはあと5年以上供給するとの回答を得たので一安心しました。
【RTK】Ublox異変=>F9P終わって、NEO-F9Pに移行L1-L5のみ<事業存続の危機か>
読者の皆さんに問いかけたいのは、あなたの行動は、コト作りを前提としたモノ作りになってますか?
RTKで遊ぶためには、視界の良い場所でのモノの動きを精密測定したいというコト作りを探すコトが大事です。
RTKは、普通のGPSのコード測位と違って搬送波測位なので、分解能が0.1mmと細かい分、アンテナ周辺の電波の反射に敏感ですので、できるだけ広い場所で、見晴らしが確保できる場所でないと安定して計測できません。都会を移動するとか、森林の中を移動する計測には向きません。私の場合はスキー場でのスキー運動測定ですので、視界が良いコースなら抜群の精度がでます。
場所としては、広い河原、屋上、公園、駐車場、畑などがフィールドになります。建物が視界の5m以内にあるとダメです。
測定場所としては、衛星の電波強度が40dB以上が10個、50dB以上が数個確保できる場所が必要です。
冬の工作(rtk-gnss自作テーマ)でcm級測位が可能なシステムを仕入れました。
数年前まで300万円もしたcm級測位ですが、u-blox社の開発努力で高性能のCHIPが安く出回ってます。
https://www.u-blox.com/en/product/zed-f9p-module?lang=ja
海外の普及が急速で、日本の半額でスペイン バルセロナ Ardusimple社製のSimpleRTK2B+SimpleRTK2Blite+Ublox-ANN-MB00アンテナ2個セット
で444ユーロで購入しました。(別途DHLで関税で2800円+諸費用1100円)で日本円で55000円くらいで、LocalRTKが作れるキットを入手できました。
https://www.ardusimple.com/product/simplertk2b-heading-basic-starter-kit-ip67/
Amazonで同種のDG-PRO1RW F9Pが1個で65000円なので、
海外購入だと同じモジュールとアンテナセットでも半額以下で入手できました。その後スキーターン計測用にもう1セット購入して
世界初のスキーターンアナライザーを開発成功しました。Ardusimple社ブログで紹介され世界のRTKユーザーに開示されました。https://www.ardusimple.com/ski-turn-analysis-with-rtk-gps/
■2022年で、Ardusimple製ボードF9P4個F9H2個で計6個使ってますが、
サポートの良さとユーザーの多さで世界で一番安心なメーカーさんです。
Q&AForumへ質問すれば超初歩的な質問にも丁寧に答えてくれます。
私は、WEBの英和辞書を引きながら質問して使いこなせるようになりました。
Ardusimple社の人達はバルセロナ近郊なのでガウディで有名なカタルーニヤ人気質があって、真面目で丁寧な人たちです。
※購入4年目で、超小型MovingBaseアンテナ作りました。(Very Close Base Line Antenna)
アンテナ間距離6cmグランドプレーン一体型MBアンテナつくりました。MEMS IMUの信頼性がRTKに比べて悪すぎるので、MovingBaseの精度を落としてコンパクト化優先させて作りました。アンテナ間1mでHeading角±1度ですが、6cmにすると5度まで低下しますが、IMUに比べると、全然マシなことが分かったので、グランドプレーン一体型MBアンテナをスキーターンアナライザに採用します。スキーにはとりつけないでレガースに取り付けてあるので、スキー板とブーツはなんでも使って測定できます。
※購入3年目の感想 「趣味のプログラム作りになってきた」
cm級GPSは、マイナーな分野なので、一般向けの便利なソフトやToolが無いので、プログラムを自作する以外に無い状態です。更に、高度なICチップを搭載した基板単体ですので、電子工作の心得がないと壊してしまうリスクがありますので、電子工作初心者の方は、マイコンとセンサを接続する練習を数か月積んでからF9Pを触ったほうが無難です。万一ショートでもさせたら、一発で2-3万円が消えてしまいます。電子工作に必要な道具も揃えていかないと、完全には使いこなせません。F9P以外に、オシロと電子工作工具類で、6~10万円くらいかかります。
F9Pは、センサとしては、膨大な種類のデータを吐き出してくれます。それらを目的に合わせて、計算処理、表示、フィードバックさせないと、自分の目的に沿えません。そのため、膨大なプログラミング作業が必要です。私の活動も年々プログラミングの比率が高くなってきていて、2022年度は多分80%近くプログラミングで20%が実験時間になると思います。ということで、プログラムをいじらないと、F9Pは遊べないのが結論です。プログラムをいじれる方、いじりたい方向きのデバイスであるのは間違いないです。
私はおかげ様で、購入時点では、VisualStudioなど使えなかったのですが、VB.NETでリアルタイムグラフ、動画同期アニメーション、
2022年では、C#でRTKデータ処理グラフィックプログラムを作れるようになりました。
簡単なライブラリーが海外で開発されてないか探してみたのですが、Arduino系でspartkfunのUBLOXライブラリーがあるのですが
そこにF9Pのライブラリーがあるのですが、単純な使い方をするだけで膨大なプログラム行数を浪費しているコードでとても
実用的に使える代物ではありません。アルゴリズムを追うだけでも面倒くさいコードです。
https://github.com/sparkfun/SparkFun_Ublox_Arduino_Library
F9Pのデータ処理プログラムは、マイコンレベルでは、位置を表示するとか、単純な使い方しかできませんので、
‘PCのグラフィックプログラミングがないとF9Pの能力を使い切ることができません。本ブログでは、大量のプログラム例を掲載してますのでその中から、あなたの必要な部分を抜き取って、参考にしていただければ、一助になるとおもいます。
私は、プログラミングの素人なので、ライブラリー等、配布する作品は作ってもバグなどのリスクがあるので提供してません。
■購入してから2年経過してしてから、今更、基礎学習を始めてます。目的に合わせて最低限の学習だけで、F9Pをいじっていたので更なる高精度測定(0.1mm単位)をしようとすると統計処理Pgmと基礎学習が必要となりました。学習ボリュームが膨大で、年単位で計画しないとこなせません。買ってすぐ使ってもデータの意味が何が何だかわからずに使うので、2年後に全容が理解できればいいやと思ってコツコツとやっていく覚悟が必要です。忙しい方は、なおさら年単位の計画をたてて購入してください。購入前に1年くらい下記論文を学習するのもいい方法です。しかし、私のように実際に物をいじりながらでないと理解できない人は、さっさと買って、悪戦苦闘しながら、理解を深めるのも楽しみ方の一つかもしれません。
電子航法研究所様の文献 GPS/GNSSの基礎知識
GNSS株式会社様プレゼンスライド資料 GNSSの基本知識
RTCMの仕様書コピーサイト、いずれLINK無くなるかもしれません https://ge0mlib.com/papers/Protocols/RTCM_SC-104_v3.2.pdf
防衛大学校のRTK計算の基礎を丁寧に解説「RTK-GPSの原理と応用」
海洋大学 高須先生資料 RTKLIB開発者様ですので、詳しいです[GNSS測位入門からRTKLIB活用まで その1」
静岡大学 木谷先生資料 F9Pの実験方法解説されてます「高精度衛星測位RTK-GNSSチュートリアル」
■自分でF9Pデータ受信Pgmを作る場合、一般のチップとは全く違います。Reall Time Kineticsとは名ばかりで、実際の出力データは、電波が受信されてから連立方程式の解がでるまで50-70,msecほど遅れて出力されますので、マイコンでデータを受信した時刻は、リアルタイムでは無い時刻ですので、運動動作のリアルタイム表示は、遅延した動きしか出ません。タイムスタンプがついているので、事後タイムスタンプに合わせて運動のグラフィック動画を作れば、正確な動きが再現できます。プログラムの作り方のノウハウ記事はこちらにあります。 基礎実験用システム備忘録<F9P対応ノウハウ>
私がここまでプログラムを作れるようになるのに2年かかりました。F9Pいじりは、年単位で計画が必要です。
■2022年5月18日追記 MovingBase方式のmm級精度を活用して部材のたわみ測定法の開発始めました。
部材がたわむとアンテナ間の距離が数mmオーダーで変化するのでそれを測定する原理です。移動体で姿勢が常に変化している場合にたわみを測定できるのがメリットです。
■RTKは,RealTimeKineticsという名称ですので、動きの測位が本来の用途です。ubloxF9Pは、各種動き分野を網羅した仕様を設定してあります。例えば、NAV-CFG-ODOというODO METERの設定では、使用プロファイルが用意されてます。0:Running 1:Cycling 2:Swimming 3:Car 4:Customとなっていて、各種動きのフィルタを用意してます。
私は、スキー分野にRTKを使ってます。スキーターンのデータとMP4動画スローモーション動画<MovingBaseの効果が凄いです>
========================2020年5月記========================
「初めてF9P SimpleRTK2の購入検討されている皆様へ」
お問い合わせがあるので
勘違いがあるといけないのでメモしておきます。
「基地局を作って精度を得るのに大変手間がかかります。基地局作りは必然性がある方だけでトライされたほうがいいと考えます。基地局作りの手間と時間を天秤にかけるなら、NTRIPを使ってrtk2go.comなどの善意の基準局を使ったほうが合理的で高精度を得られます。」
=>私は2個買ったのですが、cm級緯度経度の精度だけが欲しい用途ならSimpleRTK2B1個とアンテナ1個買って、RTKは、NTRIP接続をPCもしくはマイコンでやれば2-3万円でcm級GNSSを体験できるので、気軽に楽しめます。MovingBaseなどheading用途でIMUに代わる使い方では、2個必要です。
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
※お勧めは、 simpleRTK2B – Basic Starter Kit $257
だけ購入して、PCメインでUcenterでNTRIP接続すれば1cm測位できますので、3万円以下で楽しめます。
NTRIPをマイコンプログラムでやろうとするとマイコン初心者だとはまるので、そこで時間を食ってしまって、本来のGNSS RTKの基礎学習がおろそかになるので、Ucenterを使いながらArduSimples社のHookUpGuidesを見ながら必要なUbloxの仕様書を紹介してもらうのが
安全で正しい入門方法だと感じてます。
■cm級GNSS実験環境と準備
①見晴らしの良い場所で実験できること、田舎だと不自由ないのですが、都会だとビル屋上とか公園、河川敷などになります。自宅で実験できるのは田舎住まいの特権となります。
(RTKユーザーは私のような田舎住まいの方が多いです、本ブログアクセス統計で分かりました。)
=>マンションベランダでも、位置精度は劣りますが、動作確認程度はできます。最悪20-30cmの精度になります、FIXしないでも、設定の練習はできます。
最終的には、1cm以内でFIXする環境で実験する必要があります。広い河川敷は結構良い環境です。
➁ノートPCが必要です。屋外で実験するので、3時間以上は使います直射日光に対して視認性の工夫が必要です。
③私は、自動車を使ってます。車内でノートPCを使って、アンテナは、車の周囲に設置して実験してます。
公園内ならベンチもしくは、携帯椅子、携帯テーブルなどキャンプ用品を活用するのもいいかもしれません。
④NTRIPを使うので、モバイルルーターもしくは、スマホでインターネット共有をして、基地局接続します。
使用データ量は少なくて遅くてもいいので、100kbps程度の格安MVNOで古いスマホをルーター代わりに使うと手頃です。
※2022年12月2日追記 rtk2goの接続方法に重要な変更がありました。
今まではブランクでよかったのですが、ログインIDとパスを入力しないと使えなくなりました。
■アンテナ間相対位置なら、MovingBase方式で高精度で実現できますが、上記入門コースでご経験を積んでからです。スキー滑走中の測定データを下記のようなデータ処理をすると、RTK MovingBaseの威力が目に見えて分かります。
=>MovingBaseの場合は、F9Pが2個必要です。入門で購入したSimpleRTK2Bスターターキットをもう1セット
そろえればMovingBaseが実現できます。HeadingKItを購入してしまうとSimpleRTK2B liteの設定ではまるので
避けたほうがいいです。MovingBaseのデータ処理が結構手間取りますのですので電子工作とプログラミングが得意な方向きです。電子工作初級の方は1年間くらいの計画でMovingBaseモードにトライされる覚悟が必要です。
私の場合いきなりMvingBaseから始めたので1年くらい無駄をしてます。
※F9P3年間使ってきて、無線通信はできるだけ使わないほうが良い。特に初めから無線は無理です。
ここ3年無線化にトライしてきましたが、無線で使っているのは、NTRIPレシーバーのWiFIだけです。
F9Pからのデータ通信は、エラー率が高くて、無線ログは危険なので断念しました。F9Pから有線でマイコンに接続してマイコン内蔵のSDカードにデータをログするのが一番安全なログ方法です。無線だと、必ずデータ落ちが発生します。Xbee,Bluetoothは、115200bpsで使うと酷いです。無線は、データ数を絞ってモニター用に使えうのが正解です。ローカル5Gが普及してきたら、まともな無線ログができるようになると思いますのでローカル5Gが手近になるまで、無線データ通信は待っていたほうが無駄がないです。
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
※2022年1月23日追記 小型NTRIPレシーバー自作
下記既製品モジュールの真似をして自作するアイデアです。Arduinoで電子工作経験のある方なら1日で自作できます。
※2021年4月追記
マイコン制作無しで簡単にNTRIP接続できる小型モジュールがArduSimple社から発売になりました。これをSimpleRTK2Bと同時購入すれば、開梱後数時間程度で1cm精度を体験できるようになります。使い方の記事はこちらです。
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
自作でNTRIP接続する場合
1:マイコン電子工作で簡単なプログラムと回路を作れる方が対象となっております。<PCを移動局として持ち歩く場合はマイコンいりませんが不便です>
=>ArduinoIDEを使ってシリアル通信プログラムを作る程度の経験が必要ですが、これは、数日の練習で可能です。トラ技2019年2月号、10月号を学習してください。
私の場合は、ESP32-DEV-KitでNTRIP接続して、SimpleRTK2へRTCM3データを入力してRTKを動作させてます。やり方は、2019年トラ技10月号の付録の記事にあります。
2:F9Pの各種出力データ(Binaryが多い)を加工して、PCとかスマホに表示させるためには、ExcelVBA,VisualStudioでのVB.NET,VC.NETとかProcessingのプログラム経験が必要です。これらを習得するのは相当期間がかかりますので、既存の受信ソフトU-Centerを
活用されるほうが合理的です。U-CenterはWin10でしか動作しませんので、PCもしくはWin10タブレットとなります。
3:上記手間と時間がかけられない方は、既製品を購入したほうがTCOは、安上がりとなります。例えば、DG-PRO1RWSなどを6万円で購入したほうが簡単で使い方のマニュアルがきちんとあります。
4:通常のRTKだけでは、目的の運動を測定できない場合は、MovingBase法を使いますが
これは、上記1,2以上のスキルが必要ですが、手間と時間がかけられない場合は、3のメーカーのBIZSTATION社に問い合わせして相談すればお金はかかりますが実現できると思います。
●私の用途
当初、基準局(BASE)と移動局(ROVER)のつもりで2個購入したのですが、実際は、基準局を自前で構築するのは、一般ユーザーにおいては、手間と技術的に難しいのが結論です。私の場合はスキーターンの動作解析ですので、MovingBase方式で2個使ったので、基準局は、NTRIPを使って近くのrtk2go.com局を使わせていただいて非常に便利です。
F9Pの場合性能が良いので、100km程度離れていても見かけ上2cm程度精度がでますので
松本市の基準局で80km離れた小谷村のスキー場で見かけ上3cm以内の精度がでます。
ですので、MovingBaseを使わない方で、緯度経度の位置精度だけ欲しい方は、SimpleRTK2B1個とアンテナ1個だけ購入して、NTRIP接続のためにESP32を電子工作してNTRIPすれば、それで見かけ上1-3cm精度は簡単に得られます。2~3万円でcm級GNSSを体験できるので、ArduSimple製は、世界一コストパフォーマンスが良いと思います。
私の場合は、スキーの両足x2CHのMovingBaseが必要なので、来シーズンに向けて
もう2個購入して、4個のF9Pでスキーターン解析を行う予定です。
※2022年4月追記
精度について「見かけ上」としているのは、F9Pの出力で表示されている精度は、1回の計算結果での最小二乗法で発生した誤差ですので、何分も測定したデータの統計値ではありませんので、別途計算する必要があります。やり方は、下記記事です。f9Pの一連の操作ができるようになってからトライしてみてください、私はここまでくるのに2年かかりましたが、本記事読者様なら数か月で可能です。【RTK22】2kmと51km基準局での基線長ばらつき精度比較<ubx-csv変換TOOL公開>
●基線長は、重要な寸法です。NTRIP接続した基準局のアンテナと自分の局のアンテナ間の距離と北、東、高低差相対座標が0.1mm単位でF9Pから出力されますので、それをログして後で統計計算をして基準局からの位置ばらつきを得られます。それがRTKの真の位置精度です。一般的なGPSは、緯度経度で角度値として表現されてますが、角度値から位置精度を求めるとりRTKの距離から位置精度を求めたほうが計算精度が良いです。
※2020年12月24日追記
1年経過して、F9PHeadingキット2セット目も購入して、スキー両足測定システムを組んでます。1月からスキー場でフィールド測定実験開始します。2021年の新システムは、小型化を極めました。SimpleRTK2Bボードを使って最小のサイズまでまとめました。下記記事をご覧ください。
※2020年12月17日記:2set目のSimpleRTK2BHeadingKit Spainから3日で届きました。RTK2021開発構想はこちら
※2021年2月27日追記:ようやくスキーターンモニターの試運転ができました。RTK-MovingBase技術は凄いです。
こちらの記事をどうぞ。https://tinyurl.com/ya4hsm4v 動画:https://youtu.be/khmMZRHmXGs
==========================================================
●開梱
●仕様
大きい基板がSimpleRTK2Bで、基準局(Reference)にする基板です。
小さい基板がSimpleRTK2liteで、移動局(Rover)にする基板です。
=>その後分かったのですが、どちら基準局、移動局かは勝手です。
私の場合MovingBase法ですので、小さいliteがBase(基準局)で、
大きなRTK2BがRover(移動局)ですが、両方とも上下に接続してあるので
どちらを動かしても相対変位が3次元で1cmレベルで得られます)
アンテナが大きいですが、アンテナが命なのでしょうがないそうです。
5mの同軸ケーブル付きです。
https://www.ardusimple.com/simplertk2b/
●選択した理由<これは失敗でした>
=>Xbee自体が高速(115200bps)など高速通信のデータ欠落が悪くて、ダメな無線規格でした。低速19200bpsなどで使う技術でした。
ですので、460800bpsのMovingBaseではWIFIとか5Gでないと使えません。通常のNTRIPだけなら、WIFIでやったほうが簡単です。
基準局と移動局間で無線通信か、インターネット通信が必要ですが
SimpleRTK2Bの場合は、XbeeとAruduino,STM32にソケット可能になってます。Xbeeは4個もっているので、流用できて便利なのでSimpleRTK2Bシリーズを決めました。当然価格も世界一安かったということもあります。
Xbeeが乗って、UART2につながっています。
SimpleRTK2Bliteは、USBがついてないので秋月のXbeeアダプタに載せてあります。
※2021年1月追記====RTCMのシリアル無線入力は危険です。====
下記写真でXbeeでRTCMデータをF9Pに流しこんでますが、MovingBaseで125msecRATE駆動などする場合、RTCM通信のタイミングの数十msecの遅延でNoRTKになってしまうことが判ったので
無線でRTCMを通信するとF9PはNORTKになる可能性が高いです。詳細な解析は下記記事です。
無線を使って大丈夫なのは、F9Pのデータを出力する場合だけです。他の無線はWifiでRTCMをNTRIPから受信する場合だけです。
●以後
トラ技の2019年2月号と10月号をしっかりと読みながら、セットアップします。12月いっぱいで、試運転して、1月からスキー場で実際にcm測位でスキーターンの軌跡を測定したいです。
※2020年2月15日記
購入後2カ月半たって、使い方が慣れてきたので、振り返ってみて、ずいぶん遊べるデバイスであることが分かりました。F9Pの使い方で詰まったら、ArduSimple社のFORUMへ質問すると、サポートスタッフが丁寧に回答してくれます。
マイコンが使えない方でも、F9Pの出力を無線(XbeeとかBluetooth)でマイコン送受信する電子工作をすることでマイコンの学習になります。ただしArduinoではダメで、mbed のNucleo F446REを使ってやらないといけません、秋月のベストセラーCPUです。
ArduSimple社のSimpleRTK2BとSimpleRTK2bliteキットの破格値の5万5千円で6か月以上は遊べるのでお得感あります。
F9Pネタで、55記事ほど書いてます。
http://shinshu-makers.net/shinshu_makers/category/rtk/
ここで、感想と使い方をまとめた記事を作りました。