概要
RTK(Real Time Kinematic)測位は、GNSS(GPS等)の測定誤差を補正することでセンチメートル(cm)級の高精度位置情報をリアルタイムに得る技術です。標準的なGPS・GNSSの精度が3〜10m程度であるのに対し、RTKは水平方向1〜2cm、垂直方向2〜3cmという圧倒的な精度を実現します。
RTKは「基準局(Reference Station)」と「移動局(Rover)」という2つのGNSS受信機を使います。既知の正確な位置に設置した基準局の観測値と、移動局の観測値の差分(相対測位)を使って誤差を相殺する仕組みです。基準局の補正データをリアルタイムで移動局に送信(通常はLTE-M・Wi-Fi・LoRaWAN等)することで、リアルタイムにcm精度の位置を求められます。
精密農業(農機の自動操舵)・建設機械の自動制御・ドローンの精密着陸・GIS測量・橋梁・ダムの変形監視など、高精度な位置情報が不可欠な分野で広く使われています。
歴史・背景
RTKの基礎となる「搬送波位相測定」技術は1980年代から測量分野で使われていましたが、リアルタイム処理が可能になったのは1990年代のコンピュータ性能向上によります。
1990年代後半には農業機械メーカー(John Deere等)がRTKシステムを農業向けに商品化し、農機の自動操舵(オートパイロット)として急速に普及しました。2000年代にはGalileoやGLONASSの整備が進み、マルチコンステレーションRTKが可能になったことで精度・可用性が向上しました。
2010年代以降はu-blox ZED-F9P等の低コスト高精度GNSSチップが登場し、従来は数百万円していたRTKシステムが数万円以下で構築できるようになりました。これによりドローン・ロボット・農業IoTへの応用が一気に広まりました。
技術仕様
RTKの測定原理
RTKが高精度を実現する核心は「搬送波位相(Carrier Phase)」測定です:
通常のGPS測距(コード測距):
PRNコードの遅延時間 × 光速 = 疑似距離
精度: 1〜10m(コード波長 300m の1%程度)
搬送波位相測距(RTK):
L1搬送波(波長 = 3×10⁸/1575.42×10⁶ ≈ 19.0cm)の位相を測定
精度: 波長の1〜2%程度 → 2〜4mm の分解能
整数アンビギュイティ(N):
衛星〜受信機間の搬送波の「整数サイクル数」が不明
φ_受信 = φ_送信 - N × λ + δ(雑音)
N(整数アンビギュイティ)を確定することが初期化の核心
アンビギュイティ確定後:
mm〜cm精度の測距が可能
一般的に初期化(Fix)に数秒〜数分かかる
2周波RTK vs 1周波RTK
| 方式 | 周波数 | 初期化時間 | 精度 | コスト |
|---|---|---|---|---|
| 1周波RTK(L1/E1のみ) | 1波 | 数分〜 | 1〜3cm | 低 |
| 2周波RTK(L1+L2/L5等) | 2波 | 数秒〜30秒 | 1〜2cm | 中〜高 |
| マルチバンドRTK | 3波以上 | 1〜5秒 | 1cm | 高 |
2周波以上を使うと「ワイドレーン」という等価波長の長い信号が生成でき、アンビギュイティの確定が大幅に速くなります。
Fix状態とFloat状態
RTKの測位状態:
No Fix(測位なし):
- GNSS信号受信不十分
- 位置精度: なし
Float(浮動小数解):
- 搬送波位相を測定しているが、整数アンビギュイティ未確定
- 位置精度: 数十cm〜数m
- NMEA GGAのQuality indicator: 5
Fix(整数解確定):
- 整数アンビギュイティ確定済み
- 位置精度: 1〜5cm(水平)
- NMEA GGAのQuality indicator: 4
FIX状態の信頼性(Ratio test):
最良解 / 次点解の比率(Fix Ratio)> 3 で信頼性が高いとされる
補正データフォーマット(RTCM 3.x)
基準局から移動局への補正データはRTCM(Radio Technical Commission for Maritime Services)フォーマットで送信されます:
RTCM 3.x 主要メッセージタイプ:
1001-1004: GPS観測値(L1/L2搬送波・コード)
1005/1006: 基準局の基準点座標
1007/1008: アンテナ情報
1009-1012: GLONASS観測値
1033: 受信機・アンテナ情報
1074-1077: GPS MSM(Multiple Signal Message)
1084-1087: GLONASS MSM
1094-1097: Galileo MSM
1114-1117: QZSS MSM
1124-1127: BeiDou MSM
典型的なRTCM 3.2通信レート:
1秒間隔の観測値: 約1〜5kbps
→ LTE-MやWi-Fiで容易に伝送可能
→ LoRaWANでは帯域不足の場合あり
動作原理
RTKシステムの構成
構成1: 自前基準局 + 移動局(プライベートRTK)
[基準局]
既知位置に固定したGNSS受信機
(例: u-blox ZED-F9P + 測量済み三脚台)
│ RTCM補正データ
│ (Serial/USB → Raspberry Pi等)
↓
[補正配信サーバー]
(例: NTRIP Caster on Raspberry Pi)
│ LTE/Wi-Fi経由
↓
[移動局GNSS受信機]
(例: ZED-F9P搭載IoT機器)
→ cm精度の位置を算出
構成2: ネットワークRTK(VRS等)
国土地理院 電子基準点ネットワーク
→ CORS(Continuously Operating Reference Station)
→ NTRIP形式で補正データ配信
→ 月額サービス料で利用(数千円〜)
NTRIP(Networked Transport of RTCM via Internet Protocol)
NTRIPは、RTCM補正データをインターネット経由で配信するプロトコルです:
NTRIPの構成:
NTRIP Source(基準局)→ NTRIP Caster(配信サーバー)→ NTRIP Client(移動局)
国内の主なNTRIPサービス:
国土地理院 配信サービス(無料・要登録)
NetStar GNSS(有料)
Aichi CORS(愛知県)等の地方公共団体サービス
SORACOM Napterと組み合わせたプライベートNTRIP
NTRIP Client実装例(疑似コード):
http_get("ntrip.gsi.go.jp", 2101, "/MOUNTPOINT", credentials)
→ HTTPストリームでRTCMデータを受信
→ UARTでGNSS受信機にRTCMを送信
u-blox ZED-F9Pを使ったRTK実装
// u-blox ZED-F9P RTK移動局設定(UBX-CFGコマンド)
// UBX-CFG-TMODE3: RTK移動局モードに設定
uint8_t ubx_cfg_tmode3_rover[] = {
0xB5, 0x62, // UBXシンクロナイザ
0x06, 0x71, // クラス/ID (CFG-TMODE3)
0x28, 0x00, // ペイロード長 40バイト
0x00, 0x00, // バージョン
0x00, 0x00, // フラグ(モード: 0=Disabled, 1=Survey-in, 2=Fixed)
// mode=0: 移動局モード
// ...以下40バイトのペイロード
};
// RTCM入力設定(UBX-CFG-PRT)
// ポート2(UART2)でRTCM3.xを受け付ける
uint8_t ubx_cfg_prt[] = {
0xB5, 0x62, 0x06, 0x00,
0x14, 0x00, // ペイロード16バイト
0x02, // ポートID=2 (UART2)
0x00, 0x00, 0x00, // 予約
0xD0, 0x08, 0x00, 0x00, // UART設定 (8N1, 115200bps)
0x00, 0xC2, 0x01, 0x00, // ボーレート 115200
0x07, 0x00, // 入力プロトコル: UBX+NMEA+RTCM3
0x03, 0x00, // 出力プロトコル: UBX+NMEA
0x00, 0x00, // フラグ
0x00, 0x00, // 予約
0x00, 0x00 // チェックサム(要計算)
};
// Fix状態の監視
void monitor_rtk_status(void) {
// UBX-NAV-PVTからfixType・carSolnを読み取り
// fixType=3, carSoln=2 → RTK Fix(cm精度)
// fixType=3, carSoln=1 → RTK Float(数十cm精度)
uint8_t ubx_poll_pvt[] = {0xB5, 0x62, 0x01, 0x07, 0x00, 0x00, 0x08, 0x19};
uart_send(ubx_poll_pvt, sizeof(ubx_poll_pvt));
// 応答解析...
}
用途・ユースケース
精密農業
農機の自動操舵でのRTK精度: 2〜3cm以内のクロスレロー(列ずれ)
農業RTKの具体的効果:
- 農薬・肥料散布のオーバーラップをゼロに近づける
- 播種の等間隔を高精度に維持
- 深夜・視界不良時でも精密作業が可能
- 収穫量マッピングとの組み合わせで収益最大化
建設機械制御(ICT建機)
国土交通省のi-Constructionで推進されるICT建機では、バックホウ・ブルドーザーのバケット位置をRTKで管理し、設計面通りに自動制御します。
ドローン・UAM
- 精密着陸(±5cm以内)
- 農薬散布ドローンの自律飛行コース維持
- 点検ドローンの対象物との距離維持
変形・沈下監視
- ダム・橋梁の微細変形(mm〜cm単位)の継続監視
- 地すべり地域の移動量計測
- 軟弱地盤上の建物沈下モニタリング
実装・開発のポイント
RTK対応GNSSモジュール比較
| モジュール | メーカー | 周波数 | 特徴 | 価格帯 |
|---|---|---|---|---|
| ZED-F9P | u-blox | L1/L2 デュアル | 業界標準、豊富な実績 | 2〜4万円 |
| LC29H | Quectel | L1/L5 デュアル | 小型、低コスト | 1〜2万円 |
| F9H | u-blox | L1/L2 (移動局専用) | 低コスト版ZED-F9P | 1〜2万円 |
| mosaic-X5 | Septentrio | L1/L2/L5 | 高精度・高信頼性 | 5〜10万円 |
| C099-F9P | u-blox | 評価ボード | 開発・評価向け | 3〜5万円 |
LoRaWANでのRTCM伝送
RTCM補正データは通常1〜5kbpsのビットレートが必要です。LoRaWANでの伝送には工夫が必要です:
RTCMデータ量の削減策:
1. 観測間隔を5〜10秒に延ばす(精度多少低下)
2. 必要なRTCMメッセージタイプのみ配信
(1005/1006 + 1074/1084/1094のMSMのみ等)
3. 圧縮アルゴリズム(gzip等)を適用
4. L1信号のみ使用(2周波差分なし)→ 速度を減らす
現実的な選択:
LoRaWAN SF7: 5.5kbps → 低密度RTCMなら通信可能
LoRaWAN SF12: 0.29kbps → RTCMには不十分
→ 実際にはLTE-MやWi-Fiが推奨
他技術との比較
RTKとPPP(精密単独測位)の比較
PPP(Precise Point Positioning)はRTKとは別の高精度測位技術で、基準局なしにcm精度を目指します:
| 比較項目 | RTK | PPP |
|---|---|---|
| 基準局 | 必要(数十km以内) | 不要 |
| 精度 | 1〜2cm(Fix時) | 2〜10cm |
| 初期化時間 | 数秒〜数分(2周波) | 10〜30分(収束) |
| 通信 | RTCM補正が必要 | 衛星軌道・時計補正のみ |
| 主な用途 | 農業・建設・ドローン | 船舶・航空(広域) |
クラウドRTK(PPP-RTK, Fast-PPP等)は両者の中間として、基準局ネットワークを使いつつ広域カバレッジとRTK速度を両立させる新しいアプローチとして注目されています(例: u-blox PointPerfect、Trimble RTX)。