GNSS センサに関するメモ
GPS と GNSS
GPS ∈ GNSS の関係である。GPS は Global Positioning System の頭字語であり、米国によって運営されている衛星測位システムを指す。対して GNSS は Global Navigation Satellite System の頭字語であり、これは全地球衛星後方システムの意である。GNSS は各国の衛星航法システムを一般的に指す語であるので、航法衛星(人工衛星)から発射される信号を利用して位置測定などを行うシステムを指したい場合はこの語を使うべきである。(ただし、バカ向けにプレゼンテーションをする必要がある場合はこの限りではない。)
各国による衛星測位システムには次のようなものがある:
GPS: 米国によるもの。全地球をカバーしている。全ての元凶。
Galileo: 欧州によるもの。全地球をカバーしている。脱米国依存したかったらしい。
GLONASS: 旧ソ連によるもの。ロシアに引き継がれた。全地球をカバーしている。
北斗衛星導航系統(BeiDou): 中国によるもの。全地球によるもの。名前が長ったらしい。
準天頂衛星システム(みちびき; QZSS): 日本によるもの。日本及びアジア太平洋地域に特化している。東京で空を見上げると天頂付近に常時 1 機以上の衛星がいるらしい。
RTK と DGPS(DGNSS)
RTK は Real-Time Kinematic Positioning の略語であり GNSS の誤差を補正するための手法である。基準点からの相対的な距離をセンチメートル単位くらいで算出することができる。基本的な考えかたは https://w.wiki/5$GT に英語版 Wikipedia の記事を機械翻訳に突っ込んだだけのものを用意しておいたので参照されたし。(後出しされた日本語版の Wikipedia もあるけれど内容が無いよう(2022-11-22 時点)。) DGPS(DGNSS)は Differential — の頭字語であり、やはり GNSS の誤差を補正するたの手法である。位置の判っている基準点でも GNSS 電波を受信し、測位対象地点の測定誤差を消去するものである。こちらは誤差数メートルで算出することができる。
Jeedo システムでは DGNSS を利用している。事前実験の結果、充分な精度で現在位置を得られたからである。(RTK を組み込む手間を省きたかっただけであることはみんなに内緒のお話である。)
Ntrip とは
Ntrip とは、the Network Transport of RTCM via Internet Protocol の略語であり、インターネットを介して DGNSS のためのデータを配信するためのプロトコルである。
Ntrip システムには Ntrip Server、Ntrip Caster、Ntrip Client の三役がある。
code:Ntrip システムの三役の関係
+--------------+ +--------------+ +--------------+
| Server | Pos. data | Caster | Diff. data | Client |
| (TCP Client) | -------------> | (TCP Server) | --------------> | (TCP Client) |
+--------------+ +--------------+ +--------------+
Ntrip Server: Ntrip Server は位置情報を提供するひと(つまり基準点)である。これは、その名に反してクライアントサーバシステムにおけるクライアントとして振る舞う。
Ntrip Caster: Ntrip Caster は Ntrip Server から提供された位置情報を Ntrip Client に配信する仲介者である。これはクライアントサーバシステムにおけるサーバとして振る舞う。
Ntrip Client: Ntrip Client は Ntrip Caster から配信される補正情報を受信するひと(つまり観測点)である。これはクライアントサーバシステムにおけるクライアントとして振る舞う。
Ntrip Caster を用意する
DGNSS を利用するために Ntrip Caster を用意する必要がある。Ntrip Caster はただの TCP サーバであるので、適当な Linux 環境を用意し、プログラムをビルドし、セットアップするだけで実行可能である。
Ntrip Caster のインストール
インストールするには次のように実行する。この例では /opt/ntripcaster 配下にインストールしている。なお、必要なユーティリティ類は適当にインストールされている必要がある。
code:console
$ cd ./ntripcaster
$ ./configure --prefix=/opt/ntripcaster
$ make
# make install # 特権が必要
Ntrip Caster の設定
Ntrip Caster の設定ファイルは /opt/ntripcaster/conf 配下にある(上のようにインストールしていない場合は指定したディレクトリにある)。Ntrip Caster の振る舞いを設定するファイルは /opt/ntripcaster/conf/ntripcaster.conf である。次のように実行して設定する(斜体部分(Scrapbox の仕様上、そのように表示されません。)の IP アドレスは Ntrip Caster の IP アドレスを指定する)。
code:console
# cd /opt/ntripcaster/conf
# pwd
/opt/ntripcaster/conf
# ed ntripcaster.conf.dist
1882
/localhost/;t
-s/ˆ/#/p
+s/localhost/192.168.54.246 /p
server_name 192.168.54.246
/2101/s/ˆ#//p
port 2101
/8000/s/ˆ/#/p
w ntripcaster.conf
1910
q
#
Ntrip Server を用意する
TODO: Ntrip Server について書く。sourcetable.dat についてもここで述べる。
Ntrip Client を用意する
TODO: Ntrip Client について書く。
この文書はもともと 2022-11-29 に書かれたものであるようです。(DRAFT のまま完成しませんでした。)