0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

数百万円だったGNSS基準局を月550円で作る

0
Posted at

TL;DR ── 構築コスト

項目 費用
Drogger RWS(GNSS受信機) 約4〜6万円
GNSSアンテナ 受信機に付属 or 別途数千〜数万円
AWS EC2(NTRIP Caster) 月 約550円
格安SIM(通信回線) 月 300〜500円

初期費用 約5万円、維持費 月1,000円程度。

以前は数百万円規模だった常設RTK基準局を、この金額で24時間運用できる。個人がクラウド上に測位インフラを持てる時代になった。

本記事ではその具体的な構築方法を解説する。


はじめに

RTK-GNSSを使い始めると、必ずぶつかる問題がある。

基準局をどうするか。

国土地理院の電子基準点サービス(日本GPSデータサービスなど)や、ソフトバンク ichimill のような民間補正サービスを利用する方法もある。しかし、以下のようなケースでは「自前の基準局」を持ちたくなる。

  • 山間部 ── 最寄りの電子基準点から遠く、VRSサービスの精度が出ない
  • ドローン測量 ── 現場ごとに臨時基準局を立てるのではなく、常設局から安定配信したい
  • 精密農業 ── 自動操舵トラクタに常時補正データを配信したい
  • 自治体独自の基準点整備 ── 公共測量の基準局を低コストで維持したい

本記事では、BizStation社のDroggerシリーズAWS EC2を組み合わせて、24時間運用できるGNSS基準局を構築する。


Droggerが面白い理由

普通のGNSS受信機は「受信するだけ」の装置である。基準局として使うには、PCやRaspberry Piを別途用意し、受信機からシリアルでRTCMデータを取り出し、NTRIP Serverソフトウェアを動かす必要がある。

Droggerは違う。

普通のGNSS受信機       Drogger
─────────────         ─────────────
  受信                  受信
                        +
                        NTRIP Server内蔵
                        +
                        WiFi / イーサネット

Droggerは受信機単体でNTRIP Serverとして動作する。WiFiモジュールを内蔵しており、ルータに接続すれば受信機だけでRTCM補正データをインターネット上のNTRIP Casterへ送信できる。PCもRaspberry Piも不要である。

さらに、全モデルが基準局運用に対応しており、Androidアプリ(Drogger-GPS)とNTRIP Casterが無償提供されている。

この「受信機単体で基準局が完結する」という特性が、個人でも低コストにRTK基準局を構築できる最大の理由である。

主な受信機ラインナップ

BizStation株式会社 Droggerシリーズ

モデル 周波数 GNSSモジュール 特徴
RWSシリーズ 2周波(L1/L2) u-blox ZED-F9P 低コスト、基準局に十分な性能
RZS.Dシリーズ 3周波(L1/L2/L5) Septentrio mosaic-X5 高精度、国土地理院1級GNSS測量機登録あり

基準局用途であれば、RWSシリーズ(受信機単体で数万円台)で十分実用的である。

2024年12月にはイーサネットモジュール(RWE-ETH)もリリースされており、WiFiではなく有線LANによる安定接続も選択可能になっている。


システム構成の全体像

一般的なRTK構成

RTK測位は、基準局・NTRIP Caster・移動局の3者で成り立つ。

基準局(GNSS受信機)
      │
      │ RTCM3(補正データ)
      ▼
NTRIP Caster(中継サーバ)
      │
      │ NTRIP Protocol
      ▼
移動局(GNSS受信機 + 端末)

問題は中央のNTRIP Casterである。自宅PCで動かすこともできるが、停電・回線断・グローバルIPの変更など、24時間運用には不安が残る。

本記事の構成

固定アンテナ
      │
  Drogger受信機(NTRIP Server)
      │ RTCM3
  4Gルータ / 有線LAN
      │
  ─── Internet ───
      │
  AWS EC2(NTRIP Caster)
      │
  ─── Internet ───
      │
  移動局(複数台同時接続可)

AWS側にオープンソースのNTRIP Casterを導入し、Droggerから送信されるRTCM補正データを中継する。移動局はインターネット経由で接続するため、全国どこからでも利用可能になる。

その他の機材

  • GNSSアンテナ ── 受信機に対応したアンテナ(HX-CSX601Aなど)。基準局は屋外固定設置のため、マルチパス対策としてグランドプレーン付きが望ましい
  • 通信手段 ── 4G/LTEルータ(SIM付き)、または有線インターネット接続
  • 電源 ── USB給電。屋外設置の場合はソーラー+バッテリーの組み合わせも可
  • アンテナ設置用金具 ── 三脚やポール固定金具。恒久設置ならコンクリート基礎上のステンレスポールが理想

AWS EC2の構築

インスタンス仕様

NTRIP Casterが中継するデータ量はごくわずかである。RTCMストリームは数kbps程度なので、最小クラスのインスタンスで十分動作する。

項目 設定値
リージョン ap-northeast-1(東京)
AMI Amazon Linux 2023
インスタンスタイプ t4g.nano(2 vCPU, 0.5 GiB RAM)
ストレージ 8 GiB gp3
Elastic IP 1個(固定IP必須)

月額コスト概算

項目 月額(USD)
t4g.nano(オンデマンド) 約 $3.07
EBS 8GiB gp3 約 $0.64
Elastic IP(稼働中) $0.00
データ転送(数GB以下) ほぼ $0.00
合計 約 $3.7(≒ 550円前後)

Reserved Instanceを利用すればさらに安くなる。Amazon Lightsailなら月額$3.50~でさらに手軽だが、本記事ではEC2で構築する。

セキュリティグループ設定

NTRIP Casterのデフォルトポートは2101/TCPである。

タイプ プロトコル ポート ソース 用途
SSH TCP 22 管理者IPのみ サーバ管理
カスタムTCP TCP 2101 0.0.0.0/0 NTRIP Caster

公開運用しない場合は、2101ポートのソースを基準局と移動局のIPに制限することを推奨する。


NTRIP Casterの構築

NTRIP Casterにはいくつかの選択肢がある。本記事では2つの方法を紹介する。

方法1:BKG NtripCaster(推奨)

ドイツ連邦地理測地局(BKG)が公開していたオープンソース実装のフォークが利用可能である。

# 必要パッケージのインストール
sudo dnf update -y
sudo dnf install git gcc make -y

# ソースの取得とビルド
cd ~
git clone https://github.com/tomohirosuenaga/ntripcaster.git
cd ntripcaster
./configure --prefix=/usr/local/ntripcaster
make
sudo make install

設定ファイルの編集

cd /usr/local/ntripcaster/conf
sudo cp ntripcaster.conf.dist ntripcaster.conf
sudo cp sourcetable.dat.dist sourcetable.dat
sudo cp mountpos.conf.dist mountpos.conf

ntripcaster.conf を編集する。

# サーバの識別名
server_name your-caster.example.jp

# 最大接続数
max_clients 10
max_sources 5

# NTRIP Server(基準局)からの接続パスワード
encoder_password your_server_password

# NTRIP Client(移動局)からの接続パスワード(不要なら空欄可)
# client_password  your_client_password

# 待ち受けポート
port 2101

sourcetable.dat を編集し、マウントポイントを定義する。

STR;MYBASE;YourCity;RTCM3.2;1077(1),1087(1),1097(1),1117(1),1127(1),1005(10);2;GPS+GLO+GAL+BDS+QZS;;JPN;35.00;140.00;0;0;Drogger RWS;none;N;N;8000;
ENDSOURCETABLE

各フィールドの意味は RTCM NTRIP Sourcetable仕様 を参照のこと。緯度・経度は基準局の概略位置を記載する。

systemdサービス化

24時間運用のために、systemdで自動起動を設定する。

sudo tee /etc/systemd/system/ntripcaster.service << 'EOF'
[Unit]
Description=NTRIP Caster
After=network.target

[Service]
Type=simple
ExecStart=/usr/local/ntripcaster/bin/ntripcaster
WorkingDirectory=/usr/local/ntripcaster/bin
Restart=always
RestartSec=5

[Install]
WantedBy=multi-user.target
EOF

sudo systemctl daemon-reload
sudo systemctl enable ntripcaster
sudo systemctl start ntripcaster

動作確認

# Sourcetableの取得テスト
curl http://localhost:2101

# 出力例:
# SOURCETABLE 200 OK
# ...
# STR;MYBASE;YourCity;RTCM3.2;...
# ENDSOURCETABLE

外部からElastic IPに対して同様のリクエストが通ればOKである。

方法2:RTKLIBのstr2str(簡易構成)

RTKLIBに含まれるstr2strコマンドは、単体でNTRIP Casterとして動作させることもできる。BKG NtripCasterよりも導入が簡単だが、複数クライアントの管理機能などは限定的である。

# RTKLIBのビルド
cd ~
git clone -b rtklib_2.4.3 https://github.com/tomojitakasu/RTKLIB.git
cd RTKLIB/app/str2str/gcc
make

# NTRIP Casterとして起動(Droggerからの入力をNTRIPで中継)
./str2str -in ntrips://:your_server_password@:2101/MYBASE \
          -out ntripc://:2101/MYBASE

テスト用途や移動局が1~2台の小規模運用ならこの方法で十分である。


Droggerの基準局設定

基準局座標の決定

RTKの測位精度は基準局のアンテナ座標の正確さに直結する。適当な座標を設定すると、接続する全移動局に系統的な誤差が伝播する。

座標決定の方法は以下のいずれかを用いる。

  1. 長時間スタティック観測 + 後処理解析 ── Drogger Processorを使い、最寄りの電子基準点データと合わせて基線解析を行う。数時間の観測で数mmの精度が得られる
  2. PPP解析 ── 長時間(24時間以上)の観測データをPPPサービス(CSRS-PPPなど)に送信し、絶対座標を取得する
  3. 既知点への設置 ── 公共基準点上にアンテナを設置する(測量法に基づく使用許可が必要な場合がある)

Drogger-GPSアプリにはスタティック観測・セッション記録機能があり、Drogger Processorで基線解析から三次元網平均計算まで実行できる。

NTRIP Serverの設定

Drogger-GPSアプリから以下を設定する。

  1. RTKの設定基準局 をONにする
  2. 基準局の緯度・経度・楕円体高 に決定済みの座標を入力
  3. 基準局用キャスターホスト を以下のように設定
ホスト:     <EC2のElastic IP>
ポート:     2101
マウントポイント: MYBASE
パスワード:  your_server_password
  1. スタートすると、DroggerがNTRIP ServerとしてRTCM補正データをAWSへ送信し始める

RWSシリーズの場合、Android端末なしでも受信機単体でNTRIP Serverとして動作可能である(WiFi経由でルータに接続)。RWE-ETHイーサネットモジュールを使えば有線LAN接続も可能で、屋外常設基準局の信頼性が大幅に向上する。


移動局からの接続

移動局側のDrogger-GPS(またはRTKLIB、その他NTRIP対応アプリ)で以下を設定する。

ホスト:     <EC2のElastic IP>
ポート:     2101
マウントポイント: MYBASE
ユーザ:     (ntripcaster.confでclient_passwordを設定した場合のみ)
パスワード:  (同上)

接続後、数秒でFIX解が得られる。水平精度は概ね1~3cm程度で、ネットワーク経由でも十分実用的である。


運用上のメリット

どこからでも利用可能

基準局が山形県にあっても、AWSを経由することで遠隔地の移動局から接続できる(ただし基準局との距離が離れるほどRTK精度は低下する。後述の「注意点」を参照)。

複数利用者の同時接続

1台の基準局から、測量・ドローン・農業機械など複数の移動局へ同時にRTCMデータを配信できる。NTRIP Casterが中継を担うため、基準局の受信機には負荷がかからない。

ログの保存と解析

AWS上でRTCMストリームをファイルに記録しておけば、障害発生時の解析や、後処理での利用が可能になる。str2strを併用すれば簡単にログを取得できる。

# RTCMストリームをファイルに記録する例
str2str -in ntrip://localhost:2101/MYBASE \
        -out file:///var/log/rtcm/%Y%m%d%H_MYBASE.rtcm::S=1

注意点

基準局座標の精度管理

基準局の座標誤差は、接続する全移動局にそのまま伝播する。とりあえず動かしてみたい気持ちはわかるが、本運用前には必ずスタティック観測+後処理で座標を確定させること。

セキュリティ

NTRIP Casterをインターネットに公開する場合は、以下を検討すべきである。

  • NTRIP ServerパスワードとClientパスワードの設定
  • セキュリティグループでの接続元IP制限
  • CloudWatch等による接続監視

近年、基準局のなりすましやRTK補正情報の改ざんに関する研究も報告されている(RTKiller: manipulation of GNSS RTK rovers by reference base spoofing, arXiv:2406.07565)。公開運用時は認証とアクセス制御を適切に設定すること。

基準局と移動局の距離

基準局と移動局の距離は、RTK精度に直接影響する。

  • 数km以内 ── 高精度なRTK-FIXが安定して得られる
  • 数km〜十数km ── 実用的なRTK精度を維持できるが、FIX率がやや低下する場合がある
  • 20〜30kmを超える ── 電離層・対流圏の遅延差が大きくなり、FIXが困難になることがある

一般的に、2周波受信機(RWSシリーズ)の場合は基線長が短いほど有利である。3周波受信機(RZS.Dシリーズ)は電離層誤差の補正能力が高く、やや長い基線にも対応しやすい。広域をカバーしたい場合は複数基準局の設置、またはVRS型サービスの利用を検討する。

通信コスト

4Gルータ経由の場合、RTCMデータの転送量は月数百MB程度と少量だが、SIMの月額料金は別途かかる。格安SIM(月額数百円~)で十分賄える帯域である。


コスト比較

項目 従来(専用基準局システム) 本構成
GNSS受信機 数十万~数百万円 約4〜6万円(Drogger RWS)
NTRIP Caster 専用サーバ or 有料サービス 月額 約550円(AWS EC2)
通信回線 専用回線 格安SIM(月額数百円)
ソフトウェア 有償ライセンス 無償(Drogger-GPS, RTKLIB)
運用コスト(年間) 数十万円~ 約2万円以下

まとめ

DroggerとAWSを組み合わせることで、個人でも24時間稼働するGNSS基準局を月550円で構築できる

構築のポイントは4つ。

  1. Drogger受信機 ── 全モデルが基準局対応。受信機単体でNTRIP Server動作が可能。これが最大の差別化要因
  2. AWS EC2 t4g.nano ── NTRIP Casterに十分な性能。Elastic IPで固定アドレスを確保
  3. BKG NtripCaster ── オープンソースで無料。systemdで自動起動すれば放置運用可能
  4. 基準局座標 ── スタティック観測+後処理で正確に決定。ここを手抜きしない

数百万円の専用システムがなくても、数万円の受信機とクラウドだけで測位インフラが手に入る。AWSの画面に流れ続けるRTCMデータを見ていると、少しだけ電子基準点を持った気分になれる。

個人がクラウド上に測位インフラを持てる時代は、もう来ている。


参考リンク

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?