2019/09/06
118

2019/09/06 SWEST21@下呂温泉水明館

高精度衛星測位
RTK-GNSS チュートリアル
静岡大学

総合科学技術研究科

木谷研究室

情報学専攻

Contents

2019/09/06
118

2

1. 準備と機材の確認
2. u-blox社製GNSSモジュールの初期設定
3. RTK測位ことはじめ
4. RTKLIBによる後処理 Kinematic 演算
 RTKPOST と国土地理院の電子基準点データを用

いた，独自基準局の高精度位置の計算
 移動局の位置を後処理 Kinematic 測位演算

5. RTKNAVIによるリアルタイム高精度測位
SWEST21@下呂温泉水明館

2019/09/06
118

第一章

3

準備
• 機材チェック
• アカウントの用意• ソフトウェアのインストール
SWEST21@下呂温泉水明館

移動局用機材（受講生が設定）
 RTKLIB，u-centerをインストールしたPC
 GNSSモジュール
 u-blox ZED-F9P（2周波） または NEO-M8T（1周波） 2周波の恩恵を受ける場合は，ドローンも基準局も両方を F9P にする 右は Sparkfun GPS-RTK2 ボード スイッチサイエンスで 30,800円

 アンテナ u-blox ANN-MB0
 スイッチサイエンスで8,640円

SWEST21@下呂温泉水明館

2019/09/06
118

4

基準局用機材（講師側で用意）

2019/09/06
118

5

 GNSSモジュールとアンテナとグランドプレート
 u-blox ZED-F9P または NEO-M8T
 アンテナは大きくても良い ロガーはPCでもRaspberry PiでもマイコンでもOK PCやRpiはUSB経由で，マイコンだとUART経由でデータ取得

 何らかの手法で移動局側からデータを引っ張れるようにする 今回は Wio-LTE を使って，フリーのNTRIPサーバ

rtk2go.com:2101/SWEST21 に中継
SWEST21@下呂温泉水明館

国土地理院のサービス利用アカウントの用意

2019/09/06
118

6

 Kinematic測位の独自基準局を設置する際に国土地

理院の電子基準点の観測データを使用
 厳密な絶対位置が不要な場合はこの作業は不要
 その場合でも独自基準局との相対位置関係の精度は同等

 電子基準点データ提供サービスへのアクセスにはアカウントが必要
 国土地理院のウェブサイト https://terras.gsi.go.jp/sso_login.php
SWEST21@下呂温泉水明館

2019/09/06
118

7

ソフトウェアのインストールKEYWORDS•

u-blox社 GNSSモジュール設定ソフトウェア
u-center•

オープンソースGNSS測位演算ソフトエア
RTKLIB

SWEST21@下呂温泉水明館

u-blox社製GNSSモジュール
管理ソフトウェア u-center

2019/09/06
118

8

 主な機能 GNSSモジュールの設定確認と変更
 GNSSモジュールが受信している衛星の確認
 GNSSモジュールが出力するメッセージの制御
 GNSSモジュールの内蔵RTKエンジンを使うために，RTK測位に必要な補正情報の中継

SWEST21@下呂温泉水明館

u-center導入
公式サイトからダウンロード

2019/09/06

9118

 u-blox社製GNSSモジュールの設定・評価用ソフトウェア
https://www.u-blox.com/ja/product/u-center 上記URLよりu-centerの最新バージョン（v19.03以降）をダウンロード

保存

クリック

SWEST21@下呂温泉水明館

u-center導入
インストーラを解凍

2019/09/06

10

 ダウンロードしたzipファイルを解凍 解凍フォルダ内の「u-center_v19.xx.exe」を実行

実行

SWEST21@下呂温泉水明館

118

u-center導入
インストール作業実行
 インストーラが起動
 指示に従って進めていく①「次へ」②「同意する」③「次へ」④「インストール」⑤インストールが始まる⑥「完了」

SWEST21@下呂温泉水明館

2019/09/06

11

118

衛星測位演算ライブラリRTKLIB

2019/09/06
118

12

 主なソフトウェア（抜粋紹介）
 ストリームサーバ STRSVR（CUIバージョンは str2str）
 シリアル，TCP，NTRIP，ファイルへのデータストリーミング
 データ変換 RTKCONV（同 convbin）
 衛星観測データファイルをRINEXフォーマットに変換 リアルタイム測位演算 RTKNAVI（同 rtkrcv）
 シリアルやネットワークから衛星観測データを取得してリアルタイムに演算し，結果をファイルに保存したり，TCPなどで配信も可能
 後処理測位演算 RTKPOST（同 rnx2rtkp）
 RINEX 形式の観測データから後処理キネマティック測位演算
 可視化支援 POS2KML RTKLIBでの測位結果（POSファイル）をKMLファイルに変換
 Google MAPやGoogle Earth等のGUIソフトで測位結果の視覚化可能
SWEST21@下呂温泉水明館

RTKLIB歎蕙RTKLIBㅹㆰㆱㇱㇵ㈗㇇
 http://www.rtklib.com
 上記URLよりRTKLIBの最新バージョンをダウンロード

最新バージョンのWindowsパッケージを選択

SWEST21@下呂温泉水明館

2019/09/06

13

118

RTKLIB歎蕙㆞㇏ㆰ㈎㈈㈗㇘

2019/09/06

14

 「Clone or Download」⇒「Download ZIP」

「RTKLIB_bin-rtklib_2.4.x.zip」をダウンロード
2019年8月19日時点で b33 が最新③保存①Clone or Download②Download ZIP
SWEST21@下呂温泉水明館

118

RTKLIB導入 (Windows)

2019/09/06

15

118

 ダウンロードしたzipファイルを解凍 解凍ファイル「RTKLIB_bin-rtklib_2.4.3」⇒「bin」

RTKLIBのアプリケーションが入っている Mac or UNIX系OS ではソースをダウンロードし，コンパイルする必要がある（GUIバージョンはなくCUIのみ）

SWEST21@下呂温泉水明館

2019/09/06
118

第二章

16

u-bloxモジュールの準備
KEYWORDS• u-blox社 GNSSモジュール … ZED-F9P，NEO-M8T• u-center
SWEST21@下呂温泉水明館

実施項目リスト

2019/09/06
118

17

1. u-bloxモジュールをPCにシリアル通信デバイス（COMポート）として認識させる
2. u-centerを知る
3. u-bloxモジュールのファームウェアバージョ

ン確認
4. u-bloxモジュールのファームウェア更新

SWEST21@下呂温泉水明館

1. u-bloxモジュールのPC接続
 デバイスマネージャを開く
 USBケーブルでPCとu-bloxモ

ジュールを接続 デバイスマネージャの「COMポート」の項目を開く
 COMポートという文字が無い場合，

デバイスドライバの変更（更新？）が必要 u-centerを開き，接続された

COMポートにアクセス
SWEST21@下呂温泉水明館

2019/09/06
118

18

u-bloxモジュールがCOMポートに認識されない場合

2019/09/06
118

19

 一度，USBを抜き，改めて接続してみる
 これで認識されることもある
 デバイスアイコン上に ！ が表示されている場合に有効

 デバイスマネージャからドライバの再インストールをする デバイスのプロパティ
 ドライバの更新
 「USBシリアルデバイス」を選択

SWEST21@下呂温泉水明館

2. u-centerの概説

2019/09/06
118

20

 u-blox GNSSモジュールの動作のモニタリング 捕捉している衛星 測位情報 u-blox GNSSモジュールの設定変更
 使用する衛星選択
 測位間隔 出力するメッセージの制御
SWEST21@下呂温泉水明館

u-centerの主なウィンドウ説明

2019/09/06
118

21

 メニューバーから，「View」を展開

 主に使う機能は次の3つ
 Packet Console USBポートに出力されたデータのデコード結果をみられる
 ubxバイナリデータかNMEAか，メッセージ長は何 Byteかの情報が表示 Message View ubxプロトコル形式のバイナリ，NMEAなど，メッセージパケット内の値を表示
 Configuration View u-bloxモジュールの動作に関わる設定をGUI（チェックまたは値指定）で行う
SWEST21@下呂温泉水明館

2019/09/06

NMEAメッセージとは

118

22

 GNSSモジュールが測位演算した結果を文字列として受け渡す標準フォーマット形式
 National Marine Electronics Association による

 GPS/GNSSのNMEAメッセージ
 NMEA0183
 形式によってさまざまな情報を得られる
 受信機の状態：GxGGA
 測位に有効な衛星情報：GxGSA
 衛星から取得した時刻情報：GxZDA
SWEST21@下呂温泉水明館… など

UBXプロトコル

2019/09/06
118

23

 u-blox社のGNSSモジュールで使われる観測データと設定データを表すデータ形式

 GNSSモジュールの設定を変更するためにも使う 基本的にバイナリデータ
 メッセージの意味を理解するにはデコードが必要
 UBXバイナリは生の観測データを出力させることができ（モジュールに依る），次のデータに変換できる

 UBX → RTCM
 Realtime Kinematic（RTK）演算用の補正用データ
 UBX → RINEX（OBS, NAV）
 Kinematic（後処理）演算用の観測データ
SWEST21@下呂温泉水明館

2019/09/06
118

24

u-bloxモジュールの設定
KEYWORDS u-blox社 GNSSモジュール … ZED-F9P，NEO-M8T
 u-center

SWEST21@下呂温泉水明館

GNSSモジュールの設定手順

2019/09/06

 u-centerを起動し，各種設定を行う
1. GNSS

観測する衛星システムの選択

2. Rate

観測間隔の設定

3. Port

u-bloxモジュールのデータ入出力ポートの設定

4. Message

出力するデータの種類の設定

5. Write Current Configuration to Flash Memory
SWEST21@下呂温泉水明館

118

25

Configuration Viewからモジュール設定を変える𧏾㈅㇈㇗

SWEST21@下呂温泉水明館

2019/09/06
118

26

𧏾㇠㇜㈆

設定項目1: GNSS (GNSS config)
 ZED-F9Pの場合
 GPS, Galileo, BeiDou, QZSS,GLONASS のEnableを有効 M8Tの場貪
 BeiDouとGLONASSは排他利用
 BeiDouのEnableを無効
 GLONASSのEnableを有効➡ 後に使う国土地理院の電子基準点がBeiDouに対応していないため．

独自基準局をつかうときはBeiDouの方を使ってもよい．
SWEST21@下呂温泉水明館

2019/09/06
118

27

設定項目 2 : RATE (Rates)

2019/09/06
118

28

 モジュールの計測間隔（メッセージ出力間隔）を変更する

 デフォルトの設定では，計測間隔が 1 Hz
 今回は 5 Hz にするために「Measurement Period」を「200」にする 2周波のデータは日本ではオープンスカイだと1エポック最大

2 KB 程度

SWEST21@下呂温泉水明館

【 重要な操作 】

設定をコマンドとしてモジュールに送信

2019/09/06
118

29

 詳細設定パネルの値を変更しただけではモジュール側の設定は変更されていない configure ウィンドウの左下の「Send」を押すこと

で，本体に変更命令が送られる
 設定変更後に「Send」が押されていない場合

次のようなメッセージは一応表示される
 変更されたか確認 「Poll」を押すことで，モジュールに設定されている値を要求し確認することができる
SWEST21@下呂温泉水明館

SendボタンとPollボタン

Sendボタン

SWEST21@下呂温泉水明館

Pollボタン

2019/09/06
118

30

設定項目 3 : PRT（Ports）

2019/09/06
118

31

 F9Pモジュールにはデータ入出力ポートとして，USB，

I2C，UART1，UART2，SPI の5つのポートが用意されている 今回使用するポートは，USB である
 USB … 今回はu-centerから設定書き込み，strsvrでの観測
データのロギングに使用
 UART, I2C, SPI … マイコンでロギングしたりする場合に使用し，今回はなし 以降のスライドの設定を行い，各ターゲットの設定

変更ごとに「Send」を押して適用する

SWEST21@下呂温泉水明館

設定項目 3 : PRT（Ports）
USB

2019/09/06
118

32

 USBの設定は基本デフォルトから変更しなくてよい 少なくとも Protocol in/out にUBX があることを確認 Protocol in から UBX を外すと u-center を使って以後の設定ができなくなるので厳禁

SWEST21@下呂温泉水明館

設定項目 3 : PRT（Ports）
使わないポートは none に2019/09/06
118

33

 データ出力機能をオフにしていなければ，使っていない

ポートでも送信バッファ溢れが起こって内部の処理が滞ることがある USBで使うときは問題が起きることは少ない 気になるなら UART1，UART2，SPI，I2C の入出力を none にしておく

SWEST21@下呂温泉水明館

設定項目4: MSG（Message)

2019/09/06
118

34

 u-bloxモジュールから出力できる「NMEA」

や「ubxプロトコルデータ」など，各種メッ
セージの出力制御命令を送って設定する
 Kinematic測位に必要なデータの出力設定を追加する

SWEST21@下呂温泉水明館

設定項目4 : MSG（Message）
出力するメッセージの選定

2019/09/06
118

35

 Kinematic測位に必要なデータ
 02-15 RXM-RAWX : 搬送波位相観測データ
 1エポックで1～2KB （捕捉衛星数に依存） 02-13 RXM-SFRBX : 各衛星の航法データ
 1秒で1～2KB前後（捕捉衛星数に依存）
 航法データは基準局，移動局で同一のものが取得できるのでいずれ一方でロギングすればよい 両方でもよい 移動局は観測間隔が短くてデータが多いので，余裕のある基準局側で取得することを推奨

SWEST21@下呂温泉水明館

設定項目4 : MSG（Message）
UART への出力

2019/09/06
118

36

 Configuration View で，設定を再開する
 02-15 RXM-RAWX と 02-13 RXM-SFRBX を有効にする
 USBにチェックを入れる 「Send」ボタンを押す

SWEST21@下呂温泉水明館

モジュール再起動後も現在の設定を引き継がせる

2019/09/06
118

37

 各種設定を「Send」ボタンで送信し適用してきた 現状態の設定は，u-bloxモジュールへの電源供

給を切るとリセットされる

 再起動時は，FLASHメモリのデータが読み込まれる

内部FLASHメモリに現状態の設定を上書きする操作が必要
SWEST21@下呂温泉水明館

設定項目 : 現設定を不揮発メモリに書きこむ

2019/09/06
118

38

 CFG（Configuration）を開き，「Savecurrent configuration」にチェック これまでのように「Send」ボタンを押し，コマンド送信 念のため数回押す

SWEST21@下呂温泉水明館

移動局側 u-blox モジュールの設定終了

2019/09/06
118

39

 不揮発性メモリに設定を現設定を上書きする操作をした後であれば，USBを抜いても良い もう一度USBを差し Configuration View をみてと，先に設定した内容が残った状態になっているのを確認する

SWEST21@下呂温泉水明館

モジュールがちゃんと動作しているかの確認

2019/09/06
118

40

 選択した衛星システムが取れているか，RATEで設定

した更新間隔でモジュールが動いているかどうかは
u-center に接続して確認できる

 u-center の View に情報がリアルタイムで表示されていなくても，正しく動いていないとは限らない

 例えば USB の Protocol out と Message の設定で

UBX と 01-30 NAV-SV-INFO，または NMEA と GxGSV がON になっていない場合，u-center の GUI に衛星情報は表示されない

 モジュールがちゃんと動いているかをまず確認する

場合は，確認したい MSG について USB のチェックボックスも ON にしておく

SWEST21@下呂温泉水明館

基準局側 u-blox モジュールの設定

2019/09/06
118

41

 基本的に移動局側と同じでよい
 RATE は移動局と基準局で合っていると好ましいが，基準局は 1Hz でも十分
 経験的に移動体測位では補正情報が5秒以上遅れ

るときつい

SWEST21@下呂温泉水明館

u-blox社 GNSSモジュール
F9P用 プロトコルリファレンス

2019/09/06
118

42

 Configure View や Message View で見てきた

ubx プロトコル形式の制御コマンドやメッセージ仕様書（公式資料）
 https://www.u-

blox.com/sites/default/files/u-blox_ZEDF9P_InterfaceDescription_%28UBX18010854%29.pdf

SWEST21@下呂温泉水明館

2019/09/06
118

第三章

43

RTK測位ことはじめ

SWEST21@下呂温泉水明館

RTK測位の手順

2019/09/06
118

44

 前準備
 基準局を固定し，その場所の位置を求める

 リアルタイム測位
1.

基準局は観測するデータをネットワーク経由で配信
 TCPサーバ機能で中継（RTKLIB のストリームサーバ STRSVR）
 NTRIPサーバで補正情報配信（rtk2go.com:2101）
 既に他者が配信しているのを使ってもいい2.

移動局は，基準局の補正情報を得ながら，自身の観測データを元にRTK測位演算アプリ（RTKLIBのRTKNAVI）で演算

 後処理測位
1.

基準局と移動局の観測データをロギング u-center または RTKLIB のストームサーバ STRSVR

2.

後処理演算ライブラリ（RTKLIBのRTKPOST）で測位演算をする

SWEST21@下呂温泉水明館

水明館基準局につないでみる

2019/09/06
11845

 基準局はできるだけオープンスカイに置く 下呂温泉は山が多い，平らな広い場所がない 意外と建物が多い

 SaprkfunのGPS-RTK2ボードにWioLTEをつなげて
rtk2go.com:2101/SWEST21に送っています

SWEST21@下呂温泉水明館

RTKLIB

2019/09/06
118

46

 フリーでオープンソースのGNSS測位計算用ソフトウェ

ア MS Windows または GNU/Linux 上で動作
 ここではまず次の2つのアプリケーションプログラムを紹介 STRSVR：ストリームサーバ
 TCP通信のサーバ機能，クライアント機能
 データの中継，ロギング RTKNAVI：リアルタイム測位演算アプリケーション
 STRSVRの機能も一部含み，同時にロギングも可能
SWEST21@下呂温泉水明館

フォルダ構成と実行ファイル

2019/09/06
118

47

 RTKLIB_*/ というフォルダの下 bin/ ：実行ファイルが置いてある ソースコードからコンパイルした場合は app/ソ

フト名/gcc に実行ファイルができる
 RTKLIB_*/bin/rtklaunch.exe を実行すると，全ての利用可能なプログラムへのランチャーが立ち上がる

SWEST21@下呂温泉水明館

リアルタイム測位エンジン
RTKNAVI でつないでみる
 起動して入力の設定

SWEST21@下呂温泉水明館

2019/09/06
118

48

改めて水明館基準局につないでみる2019/09/06

 (1) Rover の Type を NTRIP Client にし，Opt で Host:Port をrtk2go.com:2101 に，Mountpoint を SWEST21 にUser-ID はなし，
Password は
BETATEST にする
 Format は u-bloxにする
SWEST21@下呂温泉水明館

118

49

改めて水明館基準局につないでみる2019/09/06
118

50

 Start を押し，うまくつながると，観測している衛星と信号強度がでる

SWEST21@下呂温泉水明館

改めて水明館基準局につないでみる2019/09/06
118

51

 いったん Stop で止める Option で設定して Start し，基準局の位置を計算してみる とりあえずは単独測位
 Positioning Mode は Single
 下の使用システムには

すべてチェックを入れる GPS：米国
 GLO：ロシア
 Galileo：EU QZSS：日本
 BeiDou：中国

SWEST21@下呂温泉水明館

水明館基準局の位置を単独測位

2019/09/06
118

52

 Startしてしばらくすると位置が求まってくる 信号強度が色つきになったら，衛星の位置が分かって測位に使われるようになった印

 Plot を押すと測位結果が出てくる

SWEST21@下呂温泉水明館

SVRSTR：ストリームサーバ

2019/09/06
118

53

 TCP通信のサーバ機能，クライアント機能
 データの中継，ロギング USBでつながったGNSSモジュールのデータをCOMポートから取得
 ファイルにも保存できる TCP/NTRIPサーバクライアントとして外部に中継可能
SWEST21@下呂温泉水明館

自前で作った基準局のデータを配信するには？

2019/09/06
118

54

 STRSVRを使う
 Input: COM ポート（GNSS モジュールのデータ）
 Output: TCP サーバを立ち上げる設定でもいいし，

外部の NTRIP サーバにつないでも良い 外部のフリーな NTRIPサーバ
 rtk2go.com:2101
 ユーザ名なし，パスワード BETATEST
 マウントポイントに分かりやすい名前をつける
 ウェブページを読んで節度を持って使いましょう
SWEST21@下呂温泉水明館

他者が用意しているリアルタイ
ム配信基準局データ

2019/09/06
118

55

 rtk2go.com を使っている人で近隣の人を見つける
 国内であれば善意の基準局掲示板を参照する
 http://rtk.silentsystem.jp/

SWEST21@下呂温泉水明館

2019/09/06
118

56

データロギング

SWEST21@下呂温泉水明館

USBポートのGNSSモジュールのデータロギング u-center を使う
 Portをコネクトし，

RECでロギング
 STRSVRを使う
 Output を File にする ファイル名を%y%m%d-%h%M%S.pos のようにすると，ロギング開始時刻が入るので便利SWEST21@下呂温泉水明館

2019/09/06
118

57

2019/09/06
118

第四章

58

RTKLIB による後処理
Kinematic 測位演算
KEYWORDS• RTKLIB RTKPOSTSWEST21@下呂温泉水明館

実験データの処理手順

2019/09/06
118

59

1. u-blox 受信機からのバイナリデータ（拡張子 .ubx）を
RTKCONV で変換し，観測データ（.obs）（と航法データ（.*nav））を得る
2. RTKPOST に，対象の観測データ・基準局の観測データ・共通の航法データを入力し，測位演算結果（.pos）を得る
 RTKPOSTのオプションの設定が演算結果に大きく影響

3. RTKPLOT で .pos を表示

SWEST21@下呂温泉水明館

RTKCONV：ファイルの指定
 rtkconv.exe を起動
 .ubx ファイルを指定
 出力ファイルは，デフォルトで指定される
 必要に応じてファイル名を変える

 .obs は観測データ（搬送波位相等のデータ）
 .*nav/.sbs は衛星の位置データ
 Format: Autoで拡張子で判断 うまくいかないときは

ubx なら u-blox と指定
SWEST21@下呂温泉水明館

2019/09/06
11860

RTKCONV：Optionsの設定

2019/09/06
118

61

 Convert で変換開始
 Options の設定
 RINEX Version は 2.12 以上（QZSSに対応）
 3.03 がお勧め（3.X は可読性が高く，.*nav が1つに集約される）

 Satellite Systems は使用する

GNSS にチェックを入れる 全選択で問題ない Excluded Satellites で特定の衛星を除外可能
 例：J01 で準天頂衛星#1を除外

 Observation Types やFrequencies は全選択で OK
SWEST21@下呂温泉水明館

RTKPOST：ファイルの指定

2019/09/06
118

62

 rtkpost.exe を起動
 RINEX OBS: Rover には計測対象の観測データ（.obs）を設定
 RTK測位をする場合は，RINEX OBS: Base Station に基準局の観測データを指定 RTK測位しないときは空欄

でOK RINEX NAV には，各 GNSSの航法データ（.*nav）を指定

利用する全ての GNSS について航法データが必要

 Options（後述）を設定してExecute を押せばよい

SWEST21@下呂温泉水明館

RTKPOST Options : Setting1 (1)2019/09/06
118

63

 言及ないものは基本的にデフォルトでOK Positioning Mode は Kinematic Single は一般的な単独測位（基準局情報を使わない）

 Kinematic は移動体の位置を基準局情報を使って高精度測位 Static は同じく静止物（独自基準点とか）の位置を高精度測位 Frequencies は，2周波測位を行う

ので「L1㈖L2㈖L5」SWEST21@下呂温泉水明館

RTKPOST Options : Setting1 (2)2019/09/06
118

64

 Filter type は「Combine」
 Forward は時系列順に測位解を算出する
 Backward は逆事例列順に測位解を算出する
 Combine は Forward と Backward の両方の解を照合し算出（後処理ではこれでよいが演算時間は2倍になる）
 RAIM FDE は明らかに測位演算に悪影響を与える衛星を排除するアルゴリズムの利用にチェック 使用する衛星システムの ON/OFF はチェックボッ

クスを使う
SWEST21@下呂温泉水明館

2周波測位演算にL5を含める理由
 各衛星の搬送波位相値の周波数帯は

RTKCONV で変換後に分かる

SWEST21@下呂温泉水明館

2019/09/06
118

65

El-Mask / SNR Mask (1)2019/09/06
118

66

 Elevation Mask / SNR Mask とは Elevation Mask（仰角マスク）とは，どの仰角までの衛星を測位計算から除外するか
 低空の衛星は直接信号を受信できないことが多いため
 15～40度ぐらいを指定することが多い

 SNR マスクとは，信号ノイズ比
 SNR が低くなる反射波を除外するために設定する
 25～45dB を指定することが多いが，受信機やアンテナの性能によって異なる

SWEST21@下呂温泉水明館

2019/09/06

El-Mask / SNR Mask (2)

118

67

 Elevation Mask / SNR Mask の決め方

ㅝㅝㅲㅎ㆙ㅎ㆙ㅵ
㆞
ㅲㅗ㆗ㅝㅝㅶ
㇖㈗㇎㆞ 𧏾ㅡㅱ
粋ㅹㇷ㇎㈎㆞ ㅣㅳ
ㅲㅗ㆗SWEST21@下呂温泉水明館

El-Mask / SNR Mask (3)2019/09/06
118

68

Sat Vis では，どの衛星を捕捉できるのかがわかる

SWEST21@下呂温泉水明館

El-Mask / SNR Mask (4)2019/09/06
118

69

Sky plot では，どの衛星がどの仰角，どの方位角に居るか分かる

例えば，計測場所の近くに建物等の障害物があることが既知の場合，
特定の衛星を Excluded Satellites として登録し計算精度を上げることができる
SWEST21@下呂温泉水明館

El-Mask / SNR Mask (4)SNR/MP/EL

ここを
押すと
不要な
グラフを
非表示
にできる

SWEST21@下呂温泉水明館

2019/09/06
118

70

SNRの分布が分かる
ここでは30dBぐらいが適切か

仰角20度以下でSNRが40dBを割っている
仰角マスクは20度ぐらいが適切かEl-Mask / SNR Mask (5)2019/09/06
118

71

 Options で Elevation Mask と SNR Mask を設定

SWEST21@下呂温泉水明館

RTKPOST Options : Setting 2

2019/09/06
118

72

 Integer Ambiguity Res
 Fix and Hold, ON, ON
 ON は選択できる場合のみ

 Ambiguityとは
 搬送波のあいまい性 「Ambiguityを解く」＝「搬送波の波長数を解く」
 先の一つ目のONは，GLONASSでそれを行うか
 先の二つ目のONは，BeiDouでそれを行うか
SWEST21@下呂温泉水明館

RTKPOST Options : Setting2

2019/09/06
118

73

 Min Ratio to Fix Ambiguity は，FIX 解とするための測位演算結果の信頼性の閾値 デフォルトは 3（最低値は 1）

RTKPOST での静止点測位ではデフォルトのままでOK 大きくするとミスFIX（間違った位置への収束）が減るが，一度電波状況が悪化すると復帰に時間がかかる
 2周波かつ良好な受信環境では 3 より小さくしてもよい パラメータ調整
 静止点測位ではデフォルト値で問題ない 移動体測位では以下のオススメで概ね大丈夫
 Min Lock to Fix Amb：デフォルト 0 → オススメ 1
 Min Fix to Hold Amb：デフォルト 10 → 同 1
 Outage to Reset Amb/slip：デフォルト 5 → 同 10
SWEST21@下呂温泉水明館

RTKPOST Options : Positions

2019/09/06
118

74

 Base Station には基準局の位置情報を入れる
 未知の場合は RINEX Header Position またはAverage of Single Position でよい RINEXのobsファイルにはその観測地点の大まかな位置が入っている 後者では，測位演算時に基準点位置も単独測位で計算してくれるが時間がかかる
SWEST21@下呂温泉水明館

PTKPOST Options : Output (1)2019/09/06
118

75

 Solution Format 通常は Lat/Lon/Height でよい Datum/Height の設定
 WGS84 : よく使われる測地系
 楕円体高（Elipsoidal）：標高ではないので注意を選ぶ X/Y/Z-ECEF
 地球の中心原点の3次元座標系（絶対座標）でメートル単位，測地系に依存しない E/N/U-Baseline
 基準局からの相対距離，東西，南北，上下のメートル単位 絶対位置が不要なとき
SWEST21@下呂温泉水明館

楕円体高とジオイド高と標高

2019/09/06
118

76

 ジオイドとは重力の等ポテンシャル面
 簡単に言うと地球の平均海面の形

国土地理院「ジオイド」より
https://www.gsi.go.jp/buturisokuchi/grageo_geoid.html

SWEST21@下呂温泉水明館

PTKPOST Options : Output (2)2019/09/06
118

77

 Time Format
 GPST GPS時刻 閏秒を考慮していないUTC
 現時点でUTCより18秒早い
 ww ssss GPST GPS週（1980年1月6日を第1週）と週初めの日曜 GPST 午前0:00 からの経過秒
 経過時間を後でプログラムなどで計算するときに扱いが楽 Output Single of Sol Outage : ON
 補正情報がなかったり衛星数が足りなかったりで

Kinematic測位ができないときに単独測位結果を出すかど
うか

SWEST21@下呂温泉水明館

RTKPOST Options : Misc

2019/09/06
118

78

 Time Interpolation of Base Station Dataを“ON” にする
 基準局の観測間隔がローバーよりも長いときに補正が効くSWEST21@下呂温泉水明館

状況ごとの設定ファイルを管理

2019/09/06
118

79

 Save機能で設定をファイル保存できる
 基準局用・ローバー用を保存しておくと便利 Loadすると，保存した設定を復元できる

SWEST21@下呂温泉水明館

RTKPOSTでの測位演算

2019/09/06
118

80

 観測データファイル，航法データファイルの設定，Options の設定が終わったら Execute で測位計算
基準局のデータの時間範囲は，
移動局のデータの時間をカバーしてないと RTK 測位できない

Options を変えたら，ファイル名も変えると比較できて便利

計算後に押すと図示できる

SWEST21@下呂温泉水明館

計算中に Q=1 と出たら RTK fix，
Q=2：RTK float，Q=5：単独測位で計算されたと言うこと

RTKPLOT (1)2019/09/06
118

81

Google Earth で表示（インストール済の場合）
Q=1 のみ表示等
1：Open Solution-1 で指定した pos ファイルを表示
2：Open Solution-2 で指定した pos ファイルを表示
比較が可能
Q=1：RTK fix（数cm誤差）
Q=2：RTK float（数十cm誤差）
Q=5：単独測位（数m誤差）

SWEST21@下呂温泉水明館

RTKPLOT (2)2019/09/06
118

82

Gnd Trk：水平位置
Position：東西，南北，上下位置
Velocity：東西，南北，上下速度
NSat：衛星数，RTK Fix算出根拠（AR）係数

マウスのホイール回転や，
右クリック+ドラッグで縮尺等を変更できます
SWEST21@下呂温泉水明館

2019/09/06
118

83

RTKPOST と国土地理院の電子基準点データを用いた，独
自基準局の高精度位置の計算
KEYWORDS• 国土地理院電子基準点の観測データ• Static測位
SWEST21@下呂温泉水明館

新設独自基準局の高精度位置演算の手順

2019/09/06
118

84

1. RTKCONV で変換した独自基準局の obsファイル

を，RINEX OBS（Rover）として指定
2. 国土地理院の電子基準点の「*.YYo」ファイルを，

RINEX OBS（BASE） として指定
3. RTKCONV で生成した nav ファイルを RINEXNAV/CLK に指定
4. RTKPOST の Options : Setting1 の Positioning

Mode は Static を指定

求めたい独自基準局の位置は静止点であるからSWEST21@下呂温泉水明館

国土地理院の基準点位置を調べる

2019/09/06
11885

 2つの方法がある① 測量成果（測地成果JGD2011）
 元期に相当する
 東日本は2011年5月24日，西日本は1997年1月1日の位置が基準 測量ではこっち② 電子基準点の日々の基準点位置変動データから平均値を

算出する







今期に相当する
リアルタイムで地球上の位置にする
自動運転などはこっち？

セミダイナミック補正で相互変換は可能

SWEST21@下呂温泉水明館

①測量成果（測地成果JGD2011）2019/09/06

1. 国土地理院の「基準点成果等閲覧サービ

ス」のウェブページに接続
2. 使用する基準点を検索し「基準点成果情報」の緯度・経度・楕円体高を得る
 注意
 公共測量に使う場合は無断使用はできません 自分用に使うのであれば大丈夫だと思います
SWEST21@下呂温泉水明館

118

86

国土地理院ウェブサイト
https://www.gsi.go.jp/

SWEST21@下呂温泉水明館

2019/09/06
118

87

基準点成果等閲覧サービス

SWEST21@下呂温泉水明館

2019/09/06
118

88

基準点成果情報

𢷡頃

118

89

㆞

ㅌ㆗ "㇉㈗ㇻ
ㅡㅵㅎㅳ蛭ㅱㅝㅵㅎ

SWEST21@下呂温泉水明館

2019/09/06

薪羃

①のRTKPOST Optionsの設定：
Positions Base Station を設定
 形式は Lat/Lon/Height (dms/m)
 度分秒の間は半角スペース

北緯35度48分55.9939秒
東経137度27分03.1677秒
楕円体高1103.95m

SWEST21@下呂温泉水明館

2019/09/06
118

90

Kinematic（static）測位

2019/09/06
118

91

 Executeで測位演算を開始
 演算後，Viewで演算結果（posファイル）のテキスト，

Plotで位置情報をグラフ・図で見ることが可能

SWEST21@下呂温泉水明館

演算結果の例

SWEST21@下呂温泉水明館

2019/09/06
118

92

独自地上基準局の位置を算出

2019/09/06
118

93

 演算結果のPOSファイルから，FIXデータのみを取り出し，平均値とする
 Excelで計算

 Step1 ヘッダ行を削除
 % GPSTの行より前を削除

SWEST21@下呂温泉水明館

新設する基準局の位置の計算- データ整形 -2019/09/06
118

94

 Step2 テキストデータをセルに分割
1. A列を全選択
2. データタブから╡「区切り位置」ツールを選択╠

3. スペースによって区切る
4. 完了ボタンを押し実行╢╣
SWEST21@下呂温泉水明館

独自地上基準局の位置を計算- 平均値計算 -2019/09/06
118

95

 FIXデータのみを取り出して平均値算出
 P列以降に次の式を書きこむ
 =AVERAGEIF($F:$F,"=1",C:C)
 =AVERAGEIF($F:$F,"=1",D:D)
 =AVERAGEIF($F:$F,"=1",E:E)

 セルの幅を広くし，小数4桁になるようにする
 元のposデータと同じ桁数

 この値を阷簪頃
し，記録しておく

SWEST21@下呂温泉水明館

迄ㅹ罰（ECEF座標）と

2019/09/06
118

96

移動局の位置を後処理 Kinematic 測位
演算

SWEST21@下呂温泉水明館

2019/09/06
移動局の高精度な位置を
RTKLIBの後処理で算出する方法3つ 97
118A) 独自基準局をBase Stationとして使う
1. 独自基準局のロギングを開始
2. RTKCONVでu-bloxファイルをRINEXフォーマットに変換
3. RTKPOSTで後処理Kinematic測位B) RTK2GOの基準局をBase Stationとして使う
1. STRSVRでRTK2GOから基準局データを取得
2. RTKCONVでu-bloxファイルをRINEXフォーマットに変換
3. RTKPOSTで後処理Kinematic測位
C) 国土地理院の近隣の電子基準点をBase Stationとして使う

国土地理院のウェブページから基準局データを取得
2. RTKPOSTで後処理Kinematic測位
1.

SWEST21@下呂温泉水明館

RTKCONVを使いRINEX生成

2019/09/06
118

98

 Roverの観測データ，Base Stationの観測データを変換する Rover : ubxバイナリファイル ➡ obs

エポック…データ取得数
5Hz ➡ 1秒に5エポック

 Base Station : ubxバイナリファイル ➡ obs, nav
変換終了後のステータス
O : obsのエポック数
N : navデータの個数E : エラーエポック数

SWEST21@下呂温泉水明館

RTKPOSTを起動し設定する

2019/09/06

 基本的に独自基準局を設置する時と変わらない
 変更項目 Positioning Modeを

Kinematicにする
 PositionのBase Stationに先に出した位置情報を設定

SWEST21@下呂温泉水明館

118

99

RTKPOST の設定 : Setting 2

2019/09/06
118

100

 パラメータ調整
 RTKLIBのデフォルトは静止点測位にはいいが移動体測位ではあまり性能が出ないことも 以下のオススメ設定を元に調整する
 Min Lock to Fix Amb：デフォルト 0 → オススメ 1
 Min Fix to Hold Amb：同 10 → 1
 Outage to Reset Amb/slip：同 5 → 10

SWEST21@下呂温泉水明館

RTKPOSTの設定

2019/09/06
118

101

ドローンの観測データ

基準局の観測データ

SWEST21@下呂温泉水明館

Kinematic測位演算を行う

2019/09/06
118

102

 Executeボタンを押す
 POSファイルができる
 RTKPLOTでみる
 Fix解が少ない場合，仰角マスク等の設定をする
 演算に使う衛星選択で、BeiDouを外すとFix率が上がる場合あり（事前実験での知見）
 QZSSを含める場合，Trimble社製（国土地理院電子基

準点でよく使われている）とu-blox社製の受信機の相性が悪いことに注意
SWEST21@下呂温泉水明館

2019/09/06
118

第五章

103

RTKNAVIによるリアル
タイム高精度測位

SWEST21@下呂温泉水明館

2019/09/06

RTKNAVIで演算する際の設定

118

104

Rover，BaseStationの設定
観測データの
保存設定
RTK演算結果の出力先

測位演算の設定

SWEST21@下呂温泉水明館

RTKNAVI：入力設定

2019/09/06
118

105

PCに接続されたu-blox測位
モジュールからのデータ

基準局となるu-blox測位モ
ジュールからのデータ

Base Station設定について
RTK2GOを使用する場合は，
NTRIP CLIENTに設定する
SWEST21@下呂温泉水明館

RTKNAVI：シリアル通信設定

SWEST21@下呂温泉水明館

2019/09/06
118

106

RTKNAVI：
測位演算結果の出力
チェック
を入れる

2019/09/06
118

107

Lat/Lon/Heightなど扱いやすい形式を任意指定

保存先を設定 ファイル名を %y%m%d-%h%M%S.pos のようにすると，ロギング開始時

刻（%yは西暦2桁，%mは月，%dは日，%hは時，%Mは分，%Sは秒）が入るので便利 次のログファイルの指定でも同様の指定ができる
SWEST21@下呂温泉水明館

RTKNAVI：
ログデータの出力
チェックを入れる

2019/09/06
118

108

受信したInputデータをファ
イルに保存

保存先を設定 TWELITEでの無線通信で送信漏れがないような環境であれ

ば，ドローン上のOpenLogでのロギングは不要にできる
SWEST21@下呂温泉水明館

RTKNAVI：
測位演算の設定し実行

2019/09/06
118

109

 基本的にはOptions は，後処理 Kinematic 演

算のときの設定と同じ
 測位開始SWEST21@下呂温泉水明館

2019/09/06
118

110

さあGNSSモジュールがつながったPCを持って外を歩いてみましょう

SWEST21@下呂温泉水明館

2019/09/06
118

111

Q&A
研究室の2019年時点での見解

SWEST21@下呂温泉水明館

RTK測位について

2019/09/06
118

112

 必要な衛星数は？
 可視衛星15機程度で問題ない（1周波の場合）
 2周波の場合15機より少なくても良い 衛星数が測位精度の良さに影響するか？
 衛星数よりかは，演算に用いられる衛星の信号状態の良しあしが強く影響を与える

 RTCMの補正データ配信に必要な通信速度
 10kbps程度
 1秒に1回の補正情報を送ることができればよい ただ、5秒に1回は欲しい
SWEST21@下呂温泉水明館

基準局とローバの関係

2019/09/06
118

113

 基準局からローバーの距離の制約は？
 15km以内であれば，センチメートルを期待できる 基準局のアンテナの性能にもよる
 Trimbleなど高価なもの

 基線長10kmに対し測位精度が1cm程度下がる

SWEST21@下呂温泉水明館

国土地理院の電子基準点データ

2019/09/06
118

114

 後処理であれば自前で基準局を作らなくても

国土地理院電子基準点の観測データを使えばいいのでは？
 必ずしも近くにあるとは限らない 30秒に1回のデータなので移動体のRTK測位で精度を出すことが難しい
 移動体だと5km以内，1秒間隔で欲しい BeiDouに対応してない

SWEST21@下呂温泉水明館

RTK測位の機材について

2019/09/06
118

115

 グランドプレーンとは？
 アンテナ下に導電性のプレートを配置してマルチパスを除去する アンテナはグランドプレーンを付けることを想定して設計されている 仕様書の特性も，例えば10cmのグランドプレーンを付けた場合と但し書きがある
参考 : トランジスタ技術,”全国で1cm測位！RTK-GPS”, 2018年1月

 ドローン使用上グランドプレーンは必要か？
 ドローンに乗せる場合は，反射物から50cm～1m以上
離れていれば，グランドプレーンの有無による変化はそれほど無しSWEST21@下呂温泉水明館

F9かM8か？
内蔵エンジンかRTKLIBか？

2019/09/06
118

116

 u-blox F9Pを使うか，u-blox M8Pを使うか？
 2周波である事に加え，RTK測位エンジンが改良されているため，圧倒的に性能はF9Pが高い
 F9はM8と比べて，BeiDou/GLONASSの同時受信ができるため単独測位精度も大きく向上
 M8Pの内蔵エンジンはGalileoとQZSSも使わない u-blox内蔵エンジンかRTKLIBか 静止点測位ではF9PもRTKLIBも大差ない
 移動体測位では内部情報を活用しているF9Pに軍配 M8P対RTKLIBなら，RTKLIBに軍配SWEST21@下呂温泉水明館

用語の解説2019/09/06
118

117

 ローバー，rover 移動局のこと
 対義語は基準局（base）

 エポック，epoch 観測する1時点のこと
 1Hzだと1秒1エポック，5Hzだと1秒で5エポック

SWEST21@下呂温泉水明館

2019/09/06
118

Contact

木谷 友哉 （E-Mail t-kitani@kitanilab.org）
静岡大学 大学院総合科学技術研究科 情報学専攻
Graduate School of Integrated Science and Technology, Shizuoka University, Japan
http://kitanilab.org