Issue #20(P4: VRSC+DG-PRO1RWS RTK移動体技術検証)の方針転換に伴い、ArduSimple AS-RTK2B-F9P-L1L2-NH を自前RTK基地局として立ち上げるまでの実機作業手順を記録します。Track #31の作業記録です。
本文書は作業途中の記録です。Survey-inによる基準局位置確定・RTCM3の実配信確認までは完了しました。RTKLIB str2strによるNTRIP配信設定は別途追記します。
確認環境:
AS-RTK2B-F9P-L1L2-NH(simpleRTK2B、ZED-F9P搭載、L1/L2対応、No Housing=基板剥き出し版)COM5、9600bpsCOM33、9600bps(wine経由のu-center。COM番号はPC・接続の度に変わりうる。詳細はIssue #32参照)u-blox Generation 9(u-center画面下部ステータスバーより確認)u-center 25.06機器名、COM番号、u-centerのバージョンは環境ごとに異なります。この文書中の値をそのまま決め打ちせず、各PCで確認してください。
AS-RTK2B-F9P-L1L2-NH は「NH = No Housing」のため筐体がなく基板剥き出しです。同梱物は基本的に基板本体のみで、GNSSアンテナ・USBケーブルは別途用意が必要です。u-center(F9対応版)を使います。u-center 2ではありません。 ArduSimple公式ガイドに「download version for F9, not u-center2」と明記されています。u-center 2はZED-F9Pの基準局設定(後述のUBX-CFG-TMODE3など)に十分対応していません。u-center(F9対応版、u-center 2ではない)をインストールします。COM5、9600bpsで接続。u-center画面下部ステータスバーにu-blox Generation 9と表示されることを確認)。出典: ArduSimple公式チュートリアル「How to configure simpleRTK2B as static base station」
View > Messages View を開き、UBX-CFG-TMODE3 画面を開きます。Mode 1 – Survey-in を選択します(絶対精度は1〜2m程度になりますが、既知座標が未確定の現段階ではこちらを使います)。Minimum Observation Time と Required Position Accuracy は必ず具体的な数値を入力してからSendすること。 「デフォルト値のまま」という記載はWindows PCでの本セッション初回作業時の誤りで、実際にはこの2項目は未入力=0(Minimum Observation Time = 0[s]、Required Position Accuracy = 0.0000[m])のまま送信していた。
Required Position Accuracy = 0.0000は「精度誤差が厳密に0以下」という決して満たせない条件になるため、この値のままではSurvey-inは永久に完了せずMean Position ValidはNoのままになる。この状態でも受信・衛星捕捉自体は正常に進むため、後述のNAV-SVIN画面でMean 3D StdDevが下がっているのにNoから変わらない、という形で症状が出た(Ubuntu PCへ移動後にこの誤りに気づいた)。Minimum Observation Time = 60[s]、Required Position Accuracy = 2.0000[m]。この組み合わせでは60秒程度・実測Mean 3D StdDev約1mでStatus: Successfully finished・Mean Position Valid: Yesになることを確認済み。Required Position Accuracy = 0.1000[m](10cm)を試したが、Minimum Observation Time = 3600[s](1時間)経過時点でもMean 3D StdDevは0.3757mまでしか収束せずNoのままだった。収束は経過時間の平方根に反比例して遅くなるため、1mから0.3〜0.4m程度までは1時間弱で進んでも、そこから0.1mまで詰めるにはさらに長時間(半日〜1日程度)かかると判断し、この値の採用は見送った。Minimum Observation Time = 3600[s]、Required Position Accuracy = 0.5000[m]。 採用理由: RTK Fixで得られる基準局-移動局間の相対測位精度(cmレベル)は基準局のSurvey-in絶対精度に依存しない。Survey-in誤差は移動局側の絶対座標へ一定方向・一定量のオフセット(バイアス)として乗るだけで、軌跡の形・相対的な移動量には影響しない。この値で1時間後にMean 3D StdDev 0.4184m・Status: Successfully finished・Mean Position Valid: Yesとなり完了を確認した。Minimum Observation Time・Required Position Accuracyを送り直すたびにSurvey-inの内部状態(Observation Time等)はリセットされ、0から数え直しになる(想定内の挙動)。Minimum Observation Timeを変えていなくても、Required Position Accuracyだけ変更して送信した場合もリセットされるため、精度条件を先に満たしていても観測時間条件のため待ち直しになる点に注意。CFG-CFG保存をやり直さないと、電源断で古い設定に戻る。固定座標が判明済みの場合はMode 2 – Fixed Modeを使いますが、本作業では未実施です。
出典: 同チュートリアルの記載を基にしたu-center操作手順。
推奨されているRTCM3メッセージ:
1005, 1074, 1084, 1094, 1230
手順:
View > Messages View の左ツリーで UBX → CFG (Configuration) → MSG (Messages) を開きます。F5-05 RTCM3.3 1005 のように「クラス/ID(16進、例: F5-05)+プロトコル名+メッセージ番号」の並びで、本セッションでは実際に F5-05 RTCM3.31005(=RTCM3.3 1005)という表示を実機で確認しました。USB列)にチェックを入れます。Sendをクリックします。1074・1084・1094・1230についても、ドロップダウンで選び直してはUSBにチェック、Sendを繰り返します。実配信の確認方法: View メニュー(Toolsではない)→ Packet Console を開くと、受信・送信された生パケットのログが流れる。Survey-in完了(Mean Position Valid: Yes)後にここでRTCM3 1005・1074・1084・1094・1230が周期的に出力されていることを実機で確認済み(1005は数秒おき、他は概ね1秒おき)。
CFG (Configuration) フォルダ内の CFG (Configuration)(MSGとは別項目)を開きます。Save current configuration を選び、Devices欄のBBRとFlashにチェックが入っていることを確認します。Sendをクリックします。UBX → NAV (Navigation) → SVIN (Survey-in) を開きます。開くとMessages - UBX - NAV (Navigation) - SVIN (Survey-in)という画面になります。valid/activeという生のフィールド名ではなく、このバージョンのu-centerでは次の分かりやすい表示名になっていました):
Time Of Week — GPS週内秒Status — In progress(観測中)。完了すると別表示に変わる想定(本セッションでは未到達)Mean Position Valid — No/Yes。YesになればSurvey-in完了Observation Time — 経過観測時間[s]Positions Used — 観測に使われた測位数Mean ECEF X / Mean ECEF Y / Mean ECEF Z — 平均ECEF座標[m]Mean 3D StdDev — 現在の推定精度[m]。これがTMODE3のRequired Position Accuracyを下回るとSurvey-in完了Pollボタンを押した瞬間の値のスナップショットです。放置していても表示は変わって見えず、Pollを押すたびに最新値が表示されます(進捗は経過時間に応じて内部で継続しており、押した回数ではなく経過時間が効きます)。▶(再生)ボタンは、ライブ表示の再開ボタンではなく、受信ログをファイルへ保存する機能でした(クリックするとファイル保存ダイアログが開きます)。本作業では使用していません。Survey-inは当初、TMODE3のMinimum Observation Time・Required Position Accuracyを0のまま送信していたため(3節参照)永久に完了しない状態だった。この誤りに気づき値を入れ直して以降の推移:
| 確認タイミング | TMODE3設定 | Mean 3D StdDev | Observation Time | Mean Position Valid |
|---|---|---|---|---|
| 初回確認(誤設定: 0s/0.0000m) | - | 21.3395 m | 516 s | No |
Poll実行後(誤設定のまま) |
- | 18.0248 m → 16.8051 m | 23810s台 | No |
| Ubuntu PC移動後(誤設定のまま) | - | 0.5248 m → 0.3 m台 | 2434s〜 | No |
| 動作確認(修正1回目) | 60s / 2.0000m | 0.9968 m | 60 s | Yes |
| 精度重視を試行(修正2回目) | 3600s / 0.1000m | 0.3757 m | 3768 s | No(精度条件未達) |
| 最終採用(修正3回目) | 3600s / 0.5000m | 0.4184 m | 3601 s | Yes |
最終的にTMODE3をMinimum Observation Time = 3600s・Required Position Accuracy = 0.5000mで確定し、Status: Successfully finished・Mean Position Valid: Yesを確認。CFG-CFG(BBR+Flash)で保存済み。RTCM3メッセージ(1005/1074/1084/1094/1230)がPacket Consoleで周期的に出力されていることも確認済み。
Pollを継続的に押しながらSurvey-in完了を待つPacket Consoleで実際に周期的に出力されているか確認するstr2str を設定し、既存のVPS/Raspberry Pi/WireGuard中継インフラを経由してNTRIP Server配信を構成する(Issue #20の次ステップ、本文書では未着手)。