top of page

オープンソースRTKLIB入門:
RTKをPCで計算してみよう

タイマーアイコン.jpeg
この記事は平均2分30秒で読めます
2025年3月3日 掲載
DSC03177.jpg

RTKLIBとは?そのメリットと活用シーン

高精度なGNSS測位手法であるRTK(リアルタイムキネマティック)が、近年建設・土木やインフラ保守の現場で注目されています。従来のGPS単独測位では誤差が数メートル生じますが、RTK測位では基準局(ベース)と移動局(ローバー)の2台の受信機を同時に使い、誤差要因を打ち消すことで数センチ以内の精度を実現できます​。しかし、商用のRTK-GNSS機器をフルセットで揃えると非常に高額になりがちです。

そこで活躍するのが、高須知二氏が開発したオープンソースのGNSS解析ソフトウェア「RTKLIB」です。RTKLIBは無料で利用でき、汎用のPCと安価なGNSS受信機を組み合わせることで、高価な測量機器に頼らずRTK測位を実現できます​。

建設現場の出来形管理、土木測量、鉄道・高速道路の維持管理、ドローン測量など、センチメートル級の位置精度が求められる様々なシーンで、RTKLIBを使った低コストな高精度測位が試みられています。オープンソースならではの拡張性・柔軟性も備えており、自社の業務フローに合わせたカスタマイズも可能です。高精度測位をより身近にするRTKLIBのメリットと使い方について、本記事で詳しく解説します。

RTKLIBの特徴(オープンソース、マルチGNSS対応)

RTKLIBは、RTK-GNSS演算のためのプログラムライブラリおよびアプリケーション群を含むオープンソースパッケージです​。WindowsパソコンやLinux(ラズベリー・パイなど)で動作し、誰でも自由に利用・改良できます​。対応する衛星測位システムも豊富で、GPSだけでなくGLONASSやGalileo、みちびき(QZSS)、BeiDouなどマルチGNSSに対応しています​。複数の周波数帯(L1/L2/L5など)のデータ処理も可能で、環境に応じて柔軟に解析できるのが強みです。

オープンソースのメリットとして、世界中の研究者や技術者がRTKLIBを検証・改良しており、高精度測位アルゴリズムの最新動向を取り入れやすい点が挙げられます。またソースコードが公開されているため、必要に応じて機能追加や他システムとの連携を行うこともできます。ライセンス費用が不要なため、予算の限られた中小規模の事業者でも導入しやすく、教育・研究目的から商用プロジェクトまで幅広く活用されています。

RTK測位の基本とRTKLIBの役割

RTK測位を理解するために、その基本原理を押さえておきましょう。RTKでは既知の座標に設置した基準局と、未知点の位置を求める移動局の両方で同時にGNSS観測を行います。基準局は自分の受信データから誤差成分(衛星時計誤差や大気圏誤差など)を推定し、それを補正情報として移動局に送信します。一方、移動局は自らの観測データと受信した補正情報を用いて、基準局との相対的な位置(ベクトル)を高精度に算出します。下図のように、衛星からの信号を両局で受信し、基準局が算出した補正量を移動局に送ることで、離れた場所でもセンチメートル級の測位が可能となるわけです。

RTKLIBにおける役割は、このRTK測位の計算部分をソフトウェアで実現することです。RTKLIBには基準局・移動局それぞれの観測データを取り込み、リアルタイムに位置演算を行う機能や、記録データから事後解析する機能があります​。

ユーザーはRTKLIBに対して観測データの入力元(GNSS受信機やデータファイル)と出力先(画面表示やログ、NMEA出力など)を指定するだけで、ソフトが内部で位置演算を実行します。つまり、RTKLIBは「GNSS観測データの収集」「補正情報の適用」「高精度座標の計算」というRTK測位の核心を担うエンジンとして機能します。実際の運用では、このエンジン部分を利用者に分かりやすく操作できるようGUIアプリが用意されており、専門知識がなくてもRTK処理を扱えるよう工夫されています。

RTKLIBのインストール方法

続いて、RTKLIBをPC環境へ導入する手順を説明します。ここでは代表的なWindows環境と、近年人気の高いLinux(Raspberry Piなど)環境でのセットアップ方法をそれぞれ紹介します。

Windows環境でのセットアップ手順

Windows向けには、RTKLIBの公式サイトからコンパイル済みの実行ファイル(バイナリ)をダウンロードできます​。2023年現在の最新安定版は「2.4.3」系です。以下は一般的なインストール手順です。

  1. RTKLIBのダウンロード: 公式サイト(https://www.rtklib.com)にアクセスし、ダウンロードページからWindows用のZIPパッケージ(例:RTKLIB_bin.zipなど)を入手します。​

    GitHubのリポジトリへのリンクが提示される場合もあります。

  2. ファイルの展開: ダウンロードしたZIPファイルを任意のフォルダに解凍します。解凍後、RTKLIB_binフォルダ内にbinというサブフォルダがあり、その中にRTKLIBの主要プログラム(GUIアプリやコマンドラインツール)の実行ファイルが含まれています​。

  3. 動作確認: 特別なインストーラは不要です。binフォルダ内の各種.exeファイルをダブルクリックすれば、それぞれプログラム(例:RTKNAVIやRTKPOST)が起動します​。初回起動時にWindowsのセキュリティ警告が出ることがありますが、その場合は「実行」を許可してください。

インストール自体は以上で完了です。基本的にポータブルアプリケーション形式のためレジストリ等も使いません。※RTKLIBのGUIアプリを利用するにはWindows OSが必要ですが、後述するようにコマンドライン版であればLinuxでも動作します。

Linux(Raspberry Piなど)環境でのセットアップ手順

Linux環境では、RTKLIBのソースコードを取得して自分でビルド(コンパイル)する必要があります。例えば安価なシングルボードコンピュータであるRaspberry PiにRTKLIBを導入すれば、ポータブルな高精度測位装置として活用できます。インストールの基本手順は以下のとおりです。

  1. ソースコードの取得: ターミナル上で公式GitHubリポジトリからソースをクローンします。

    bash

    コピーする

    git clone https://github.com/tomojitakasu/RTKLIB.git

    もしくはZIPでダウンロードして解凍しても構いません。

  2. ビルドの実行: クローンしたRTKLIBディレクトリ内に移動し、makeall.shというシェルスクリプトを実行します。

    bash

    コピーする

    cd RTKLIB/app chmod +x makeall.sh # 実行権限を付与(必要に応じて) ./makeall.sh

    このスクリプトはRTKLIBに含まれるすべてのサブプログラムをまとめてコンパイルしてくれます​。処理が成功すれば、app以下の各フォルダに実行ファイル(例:rtknaviやrtkrcvなど)が生成されます。

  3. パスの設定(任意): コンパイル後にRTKLIB/app/rtkrcv/gcc/などに作成されたバイナリをシステムPATHに追加しておくと、どのディレクトリからでもコマンドを実行できて便利です。必要に応じて/usr/local/binにコピーするか、シェルのPATHにRTKLIBの各gccフォルダを追加してください。

Linux版では基本的にCUI(コマンドライン)ツールが中心となります。WindowsのようなGUIプログラム(rtknavi.exe等)はX Window環境を整えれば動かせますが、Raspberry Pi等では軽量運用のため対話型コンソールプログラムrtkrcvやストリーミングツールstr2strを使うケースが多いです。とはいえ、基本的な機能・演算アルゴリズムはWindows版GUIと共通なので、Linux環境でも遜色なくRTK解析を行えます。

RTKLIBの基本操作

RTKLIBには用途に応じていくつかの実行プログラムが用意されています。代表的なものに、リアルタイム処理を行うRTKNAVI(GUIアプリ)と、事後解析を行うRTKPOST(GUIアプリ)、および観測データの取得・中継を行うSTRSVR/RTKRCV(ストリーマ/コンソールアプリ)などがあります。それぞれの基本的な使い方を順を追って見ていきましょう。

観測データの取得と解析準備

まず、RTKLIBでRTK解析を行うために観測データを取得する方法です。RTKLIBは外部のGNSS受信機からリアルタイムでデータを取り込むことも、事前に記録されたログファイルを読み込むこともできます。主な観測データの種類としては以下のようなものがあります。

  • 受信機のバイナリデータ: メーカー独自フォーマットの生データ(例:Ublox受信機のUBX形式など)。

  • RINEXデータ: 衛星の観測データを記述する標準フォーマット(テキストファイル)。生データを一度RINEXに変換して解析に用いることも可能です。

  • RTCMメッセージ: 基準局から配信される補正データの標準フォーマット。Ntrip経由で配信されることが多いです。

リアルタイム解析を行う際は、移動局側のPCにGNSS受信機を接続し(例えばUSBやシリアル経由)、同時に基準局データを入手する必要があります。基準局データは、自前でもう一台受信機を固定局として設置するか、あるいは公共の電子基準点サービスや民間のNtrip配信サービスを利用して取得します。RTKLIBはこれら複数の入力ストリームを同時に扱えるよう設計されており、後述するRTKNAVIで入力設定を行うことで、リアルタイムに観測データを取得・解析できます。

一方、事後解析の場合は、移動局と基準局それぞれの観測データファイル(RINEXなど)を用意しておき、RTKPOSTに読み込ませて解析を実行します。ログ取得の段階で注意するポイントとして、観測データには生のキャリア位相情報が含まれている必要があります。一般的な安価なGPS受信機(スマホ内蔵GPSなど)はこの情報を取得できませんが、Ublox社の高精度モジュール(NEO-M8TやZED-F9Pなど)や測量用GNSS受信機であれば取得可能です。高精度RTKには対応受信機の準備が不可欠という点は押さえておきましょう。

RTKNAVIを使ったリアルタイム処理

RTKLIBでリアルタイムにRTK測位を行うには、GUIアプリのRTKNAVI(RTKナビ)を利用すると便利です。RTKNAVIを起動すると、入力ストリームや演算オプションを設定するためのウィンドウが表示されます。基本的なリアルタイム処理の流れは以下のとおりです。

  1. 入力ストリームの設定: メイン画面上部の「I」ボタン(Input Streams設定)をクリックし、観測データの入力元を指定します。典型的には、(1) Rover(移動局)と(2) Base Station(基準局)の2つの入力を有効にし、それぞれのデータ種別や接続方法を設定します。たとえばRoverは「Serial」で自分のGNSS受信機のポート、Baseは「Ntrip Caster」で基準局サービスのホスト情報を入力する、といった具合です。​

  2. RTKオプションの設定: 次にメイン画面下部の「Options…」ボタンを押し、RTK演算に関する各種オプションを設定します。測位モード(Positioning Mode)は移動体であれば「Kinematic」を選択し、周波数は受信機に応じてL1のみかL1+L2かを指定します。電離層・対流圏補正や衛星軌道情報の利用方法も選択可能ですが、基本的にはデフォルト(放送値使用)で問題ありません​。また「Settings2」タブでフィルタの初期化条件やサイクルスリップ検出パラメータ等高度な設定も変更できますが、初めは既定値で良いでしょう。最後に「Positions」タブで基準局の座標を設定します。基準局データにRTCMメッセージ1005(基地局座標)が含まれている場合は「RTCM Antenna Position」を選択すると自動で既知点座標を取り込んでくれます​。設定が完了したらOKを押してウィンドウを閉じます。

  3. 演算の開始: メイン画面に戻り「Start」ボタンをクリックすると、リアルタイム演算が開始します。すると画面左側に現在の解(Solution)が表示され、右側には各衛星の信号強度や状態がグラフ表示されます。初期段階では単独解である「Single」状態ですが、数秒〜十数秒で補正が反映された「Float」解(フロート解:固定解計算中)に遷移し、条件が整えばやがて「Fix」解(固定解:高精度解)となります​。

 

リアルタイム処理中は、画面のステータス欄で解の種別(Single/Float/Fix)や各種比率(比測位解の比率値)を監視できます。Fix解が安定して得られている場合、RTK測位によってほぼ数センチの誤差に収まっていることになります。RTKNAVIでは解を逐次NMEAメッセージとしてシリアルポートやネットワーク越しに出力することも可能なので、他のソフトウェアや機器と連携してリアルタイム位置情報を活用することもできます。

RTKPOSTを使った事後処理

現場でリアルタイムにRTK測位できなかった場合でも、データを記録しておけば後から事後処理(PPK: Post-Processed Kinematic)で高精度解を得ることができます。RTKLIBに含まれるRTKPOSTというGUIアプリを使えば、ログデータの解析が可能です。基本的な手順は以下のとおりです。

  1. 観測データファイルの指定: RTKPOSTを起動すると、Rover(移動局観測)、Base(基準局観測)、Nav/Clock(航法メッセージ/衛星クロック)それぞれの入力ファイルパスを指定する画面になります。まず移動局のRINEX観測ファイルをRoverに、基準局のRINEX観測ファイルをBaseに、対応する測位に必要な航法データ(RINEX.navや精密暦SP3ファイル等)をNavに設定します​。必要に応じて時計補正情報や陸上補強システム(SBAS)のメッセージファイルも指定できますが、基本はRINEX観測と航法ファイルで十分です。

  2. 解析オプションの設定: 「Options」ボタンをクリックして解析パラメータを設定します。リアルタイム時とほぼ同様の内容ですが、事後処理では基地局座標を手動で入力するケースもあります。基準局の正確な位置がわかっている場合はその値をBase Station欄に入力しましょう。Unknownにしておくと、観測ファイル内のヘッダ座標やRINEXのAPPROX位置が使われます。演算モードはKinematic(動的)かStatic(静止)かを選びます。移動局が静止測位の場合や長時間止まっていた場合はStaticモードの方が解が安定します。その他のオプション(フィルタや誤差モデル)は通常リアルタイム時と同じ設定で問題ありません。設定後OKを押します。

  3. 事後解析の実行と結果: メイン画面に戻り「Execute」ボタン(▶マーク)を押すと事後解析が開始されます。処理進行状況が表示され、完了すると移動局の座標解が時間系列データとして得られます。結果は.pos形式のテキストファイルに保存され(デフォルトではRoverファイル名.pos)、各エポック毎の解(時間・座標・解の種類・衛星数など)が出力されます。RTKPOSTウィンドウ上でも概要が表示され、プロットボタンでRTKPLOTを起動して軌跡を可視化することも可能です。

事後処理のメリットは、リアルタイムでは得られなかったFix解が電離層誤差のモデル適用や前後データのバッチ処理によって得られる場合があることです。また、必要に応じて測位パラメータを変更して再計算し、結果を比較検討することも容易です。例えばマルチGNSSを使った場合とGPSのみの場合で精度やFIX率がどう変わるか、といった検証もRTKPOSTなら短時間で試せます。現場即位が難しい深い山間部などではログを持ち帰ってPPKで精密測位する、といった使い方もされています。

RTK測位の精度を高めるためのポイント

RTKLIBを用いて高精度測位を行う際、さらに精度や信頼性を向上させるために押さえておきたいポイントがあります。以下に主なポイントをまとめます。

  • 適切なGNSS受信機とアンテナの選定: RTKにはキャリア位相を測定できる受信機が必要です。安価なモジュールでもRTK対応のものがありますが、可能であればマルチバンド(L1/L2対応)受信機や測量グレードのアンテナを使用すると良いでしょう。デュアル周波数対応受信機は電離層誤差の除去が容易になり、初期化時間の短縮やFIX解の維持に有利です。またアンテナも高性能なもの(グランドプレーン設置やチョークリングアンテナなど)を使うことでマルチパス誤差を低減できます。

  • 基準局データの品質と距離: 基準局からの補正データが品質良く安定していることも重要です。自前基準局の場合、正確な既知座標を設定し、見通しの良い場所にアンテナを固定設置しましょう。公共の電子基準点やNtripサービスを利用する場合も、できるだけ近傍の局を選ぶことで距離依存の誤差を小さくできます。一般に基準局との距離が長くなるほど誤差補正精度は落ちるため、数十km以内が望ましいとされています。

  • マルチGNSSの活用: 前述のように、GPSに加えて他の衛星測位システムを併用すると利用可能な衛星数が増え、結果として解の信頼性が向上します。特に市街地や山間部では視界の開けた方向が限られるため、複数GNSSで空を埋めることが効果的です。GLONASSやGalileoを加えると衛星配置(ジオメトリ)が改善し、衛星が少ない状況でもFIX解を維持しやすくなります。また日本周辺では準天頂衛星みちびき(QZSS)が天頂付近に常時1機以上いるため、これも加えることで精度向上に寄与します。RTKLIBはマルチGNSS解析に対応していますので、対応受信機を用意できるならぜひ活用しましょう。

  • データ欠損・電波断遮への対策: 移動局が測位中にトンネルに入ったり電波が途切れたりすると、解が一時的にLostする場合があります。再び衛星を捕捉した際に素早く復旧(再FIX)するには、受信機の追尾性能やフィルタ設定も影響します。必要に応じてRTKLIBのオプションでサイクルスリップ検出感度を調整したり、慣性センサと組み合わせたテックも検討すると良いでしょう。ただし高度な設定は専門知識が必要になるため、基本は安定した受信環境を確保することが一番の近道です。

以上のポイントを踏まえ、適切な機材選定と環境整備を行えば、RTKLIBでも商用機に匹敵する高精度測位が可能です。

LRTKの活用と導入メリット

RTKLIBによるPC上でのRTK測位は柔軟で高機能ですが、一方で「GNSS受信機の接続やソフト設定を自分で行う必要がある」「現場での運用にはノートPCが必要」といったハードルもあります。特に測量や施工管理の現場では、より簡便で信頼性の高いシステムが求められるでしょう。そこで登場したのが、レフィクシア社の提供する高精度測位ソリューションLRTKです。

LRTKはRTK技術を現場で手軽に活用できるよう設計された統合ソリューションです。その大きな特長は、専用の小型GNSS受信機デバイスとスマートフォンアプリ、クラウドサービスが一体となって提供される点にあります。例えば、「LRTK Phone」という端末をスマホに取り付ければ、スマホがそのままRTK測位端末に早変わりします。またヘルメット一体型やウェアラブル型のLRTKデバイスも用意されており、作業員が身につけるだけでリアルタイムに自身の高精度位置を取得することが可能です​。このように現場主義で磨き上げられた使い勝手がLRTK最大の魅力です。

では、オープンソースのRTKLIBとLRTKはどのように使い分けると良いのでしょうか?簡単に言えば、技術検証や自社カスタマイズにはRTKLIB、実業務での即戦力にはLRTKという位置づけです。RTKLIBは自由度が高くコストも抑えられますが、システム構築やトラブル対応はユーザー自身で行う必要があります。一方LRTKはハード・ソフトが最適化されたパッケージとして提供され、専門知識がなくても短時間で運用を開始できます。例えば基準局の運用一つとっても、RTKLIBでは自前でNtripサーバを立てるかサービスを契約する必要がありますが、LRTKクラウドを利用すれば複数のローバーに同時配信する機能も標準で備わっています​。

結果として、一つの基準局から複数の作業者が同時にRTK測位を行うといった高度な現場運用もLRTKなら簡単に実現できます。運用の信頼性・サポート面でも、商用サービスであるLRTKは手厚いフォローが期待でき、万一のトラブル時にも安心です。

このように、まずはRTKLIBでRTKの原理や使い方を学び、小規模な検証を行った上で、本格的な業務導入時にはLRTKのような専用ソリューションを採用するといったアプローチも有効です。次章では、LRTKの詳細と資料請求の方法についてご案内します。

LRTKで現場の測量精度・作業効率を飛躍的に向上

LRTKシリーズは、建設・土木・測量分野における高精度なGNSS測位を実現し、作業時間短縮や生産性の大幅な向上を可能にします。国土交通省が推進するi-Constructionにも対応しており、建設業界のデジタル化促進に最適なソリューションです。

LRTKの詳細については、下記のリンクよりご覧ください。

 

製品に関するご質問やお見積り、導入検討に関するご相談は、

こちらのお問い合わせフォームよりお気軽にご連絡ください。ぜひLRTKで、貴社の現場を次のステージへと進化させましょう。

bottom of page