【RTK21】RTKの無線化その1<BaseとRoverの通信内容>

RTKシステムでの無線化は、高速でデータ量も多く、信頼性要求も高いため、通常の電子工作の無線化より難易度が高いです。過去にXbee,BlueTooth,ESP-Nowでトライしましたが、一長一短でこれら3つの無線規格でも、RTKの無線通信全体はカバーできませんでした。
●RTKで使う無線通信には、2つの役割があります。
①RTCM3データの無線通信
 インターネット経由でNTRIPキャスターから基準局のRTCM3データを受信するために
 WiFi TCP/IP規格を使います。これは、TCP/IPなので、データ落ちはありませんが、遅いので1秒に1回程度の受信です。受信したRTCM3データを有線でF9Pへ入力すれば、間違いないRTCM3通信は可能です。
 しかし、受信したRTCM3データを無線でF9Pへ入力する場合は、データ落ちのリスクがありますので、データ落ちの実験評価をしながら、無線システムを開発する手間がかかります。
 私は有線でやってますが、WiFi TCP受信をF9Pの隣でやれば他の無線規格は不要です。

②RTKシステムの出力データの無線通信
私の実績では、Xbee,BlueTooth,ESP-NOWの3つとも、RTKデータ出力のログには使ってません。何故なら1データでも落ちると困る用途なので無線の信頼性が有線並みでないと困るからです。有線(シリアル通信)が4σのデータ落ち信頼性がありますが、無線だと2σ以下の信頼性しかでませんので、ログには使えませんでした。
無線は、ログではなくリアルタイムモニターとして使ってました。

●最も難易度の高いMovingBase モードのBase-Rover間通信から始めます。
 Xbee,BlueTooth,ESP-Nowでは絶対にできないのが、MBモードでのBase-Rover間無線通信です。
=>難易度が高い理由は、

・460800bps以上の高速
・1データ1KByte近いデータ量
・メッセージデータのタイミングが数十msecで管理する必要がある。

=>難易度が高いため、RTK無線化シリーズで基本から1歩1歩確認作業をしながら進めていきます。途中でできなくなったら、課題として来年まで持ち越します。

1:MovingBasモードのbaseからの出力データの確認
1-0オシロで波形を観察
2つに分割して出力されてます。大きな塊の周期が125msec
 後日ロジアナで解析すると大きな塊の最初は4072.1メッセージで
 独立した短い塊(5msec以下)が4072.0メッセージでした。


 

1-1Ucenterを使って読む
AE-Xbee-USB SeialボードにSimpleRTK2Bliteを差し込んで、USBケーブルを接続して
UcenterでSimpleRTK2BliteのMovingBaseとしての出力信号を観察します。NTRIPは、SimpleRTK2Blite上のWiFi NTRIP MASTERから供給してます。USBケーブルをPCへさすと電源オンとなって、RTKが開始されます。数分でSimpleRTK2BlitenのNO RTK LEDが消えてRTCM IN LEDとGPS FIX LEDが交互に点滅するようになればRTK接続完了です。

UcenterでCOMポート指定して460800bps接続して、View-PacketCosoleを見ると
下記6個のメッセージが繰り返し受信されていることが判ります。
UbloxのMovingBaseマニュアルの10ページに記述してある通りに出力がでていました。
https://www.u-blox.com/en/docs/UBX-19009093

R -> RTCM3 4072.0, Size 132, ‘Reference station PVT’
??:??:?? R -> RTCM3 4072.1, Size 62, ‘Reference station timing information’
??:??:?? R -> RTCM3 1077, Size 226, ‘GPS MSM7’
??:??:?? R -> RTCM3 1087, Size 201, ‘GLONASS MSM7’
??:??:?? R -> RTCM3 1097, Size 127, ‘Galileo MSM7’
??:??:?? R -> RTCM3 1230, Size 10, ‘GLONASS code-phase biases’

これらのメッセージのバイナリを見るには、
Ucenterの赤ボタンを押して受信データをログします。FIle-closeしてログファイルを保存
File-Openでログしたファイルを読み込みます。View-BinaryConsoleに設定してから
▶ playボタンを押して全データを読み切ります。バイナリ文字が表示されます。
●BinaryとPacketを対比したMovingBase 6個のメッセージ表
ヘッダーの12ビットがメッセージID番号を表しますが12bitという半端な表記なので、見にくいです。

後日ロジアナで詳細に測定したら、メッセージの順序が違ってました、さらに条件によってメッセージサイズも変化することが確認できました。その2をご覧ください。

【RTK21】RTKの無線化その2<Base出力をロジアナで見た>

●以後
ヘッダー番号12ビットを目印にメッセージを把握して、無線でのパケット区切りを考えていきます。
その2からESP32で実際に受信してタイミングを測定していきます。

コメントを残す

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