2018年7月26日木曜日

RTK-GPS:u-blox 6 で raw データを出力させる方法

 C94-M8P で基地局を作ろうと思って調べていたら、ひょんなことから発見。一筋縄ではいかなかったが、取り合えずやり方がわかったのでメモ。

 条件は厳しい。

対象:
 hardware:u-blox 6
  farmware:Ver 7.03(45969)

 使ったのはアンテナ一体型モジュールで、PC とは USB 接続
 買ったのは 2016/01、Amazon から これ。現在は品切れだけど、型名で検索すると google 様が海外の別な店を勧めてくる。ただし、同じように使えるかは不明(2018/08/01 現在)

やり方:
 ・u-blox 6 を PC に接続(電源 ON)、u-center 起動、u-blox 6 と connect
 ・F9 を押して、Message View を開く
 ・Message View の左の window を一番下までスクロールして CUSTOM を開く
 ・右の Window に以下をコピペして Send をクリック

b5 62 09 01 10 00 c8 16 00 00 00 00 00 00 97 69 21 00 00 00 02 10 2b 22

 ・右の Window に以下をコピペして Send をクリック

b5 62 09 01 10 00 0c 19 00 00 00 00 00 00 83 69 21 00 00 00 02 11 5f f0

  [パラメータはこちらから]

 ・Ctrl+F9 を押して、Configure View を開く
 ・左の Window で MSG を選択
 ・右の Window で[02-10 RXM-RAW],[02-11 RXM-SFRB]で出力を選択

(ここまで書いて翌日試したら動かなかった ><  で、さらに調べて以下を発見)
 ・Configure View の左の Window で PRT を開く
 ・右の Window で下の設定をして send をクリック(出力速度が 9600bps だと raw データを流しきれず、コントローラーが勝手に間引いてしまうらしい。今回使ったのは USB 接続なので、UART1 を disable した。ちなみにこの設定だけは不揮発性メモリに反映される)



  ・このまま電源を切らずに RTKNAVI につなぎ変えると、無事、Rover として認識

----
残念ながら、この設定、u-blox 6 の不揮発性メモリには反映させられないみたいなので、電源投入時に毎回設定が必要 ><

ここを何とかすれば、使い道が広がりそう。

----
続きはこちら。RTKLIB/RTKGPS+ のローバーとして u-blox 6 を使えるようになった 。

2018年7月25日水曜日

RTK-GPS:rtklib と遊ぶ - その2

 Windows 上の rtklib が C94-M8P との組み合わせで動いたので、今度は Android 上で rtklib+ と C94-M8P の組み合わせに挑戦。

 Windows と同じような設定をしても、Rover も Base も SNR に信号がでてこない。緑の四角いのは、二つ、チカチカしてるので Rover/Base ともに、それっぽいデータが来ていることは間違いなさそう。
 シリアルターミナルを立ち上げて C94-M8P からのデータを見ると NMEA っぽく見えるし、telnet で Base につないでも NMEA ぽっく見える。
 (ちなみに base は 善意の基準局掲示板 にあるデータ形式 u-blox、接続方法 STRSVRの局)

 最初、Intel CPU の Android タブレットを WiFi 経由で Base につないでいたので、Intel CPU の問題かと思い、Arm CPU の Android phone + WiFi でつないでもダメ、Android では無理なかと、Windows tablet + rtklib + WiFi で試してもダメ。Wndows tablet + rtklib の設定を、動いている Windows PC + rtklib の設定にしてもダメ。

 ただ、Windows tablet + rtklib と Windows PC + rtklib の設定を比較しているときに、設定ダイアログの内容が微妙に違っていることに気が付いた。
 動いている Windows PC 上の rtklib は 2.4.2 p13、動かない Windows tablet 上の rtklib は 2.4.2。Windows tablet の rtklib を 2.4.2 p13 に入れ替えたら動いた。

 Android 上の RtkGps+ のバージョンは 1.0 alpha 23 。さて、ベースの rtklib バージョンは...

2018/08/01 追記:
 RtkGps+ の README.md によれば  RtkGps+ 1.0 alpha 23 の rtklib は "Version pre 2.4.2p9"。C94-M8P の出力が認識されないのはこのせいか?

 

2018年7月23日月曜日

RTK-GPS:rtklib と遊ぶ - その1

 これから需要が伸びそうなのところを目指して、RTK-GPS を研究中。4月に u-blox の C94-M8P を入手したのだが、忙しくて手を付けられず。

 7月になってようやく触り出す。好条件化で Rover が FIX した時の誤差が cm オーダーになる驚異的な精度を体感。

 次は条件の悪いときの精度を調べたいのだが、外での実験にはいろいろと準備がいるし、天候とも相談だしということで腰が重くなる。

  ということで、家で C94-M8P を Windows 上の rtklib につないでみる。動かすためのキモは、

 ・ドライバーを Windows 標準のシリアルドライバーに変更
 ・u-center に接続して ctrl + F9 でConfigure ダイアログを開き UBX-CFG(config)-MSG(Messages) で [02-15 RXM-RAWX] と [02-13 RXM-SFRBX] を USB から出力するように設定する

  [02-15 RXM-RAWX] と [02-13 RXM-SFRBX]については、RTKLIB ver.2.2 Manual の 6 ページに
- ublox Raw : RXMRAW, RXMSFRM

とあるのを見つけていたが、なんのことかわからず無視していた。 動かないのでいろいろ調べていたところ、こちらのページ

u-bloxの受信機をRTKNAVIに接続する場合,受信機出力としてUBXフォーマットのRXM-RAWとRXM-SFRBが必要になります.

 とあったので、「あ、あの設定か!」と気づき設定したら動いた。

 ただし、C94-M8P では、「RXM-RAW」と「RXM-SFRB」は設定できなかったので「RXM-RAWX」と「RXM-SFRBX」を設定した。

 ちなみに u-blox 6 のアンテナ一体型受信機では、上記パラメータは全く設定できなかったので、u-blox 6 は RTK-GPS のローバーになれないっぽい。