記事を検索

toragijr.cqpub.co.jp

トラ技Jr.

GNSS受信機NEO-M8Tのパソコンへの設定 & RTKLIBのラズベリー・パイへの導入方法

GNSS受信機NEO-M8Tのパソコンへの設定 & RTKLIBのラズベリー・パイへの導入方法

 トラ技ジュニア No.29(2017年春号)に掲載した記事「 GNSS/GPSプレシジョン・コンパスの製作 」の補足情報を公開します. 

ユーブロックスNEO-M8Tの設定

●Windowsパソコンによる受信衛星システムの設定

 NEO-M8Tはあらかじめ,Windowsパソコンによる設定が必要です.ユーブロックス社のウェブサイトからu-centerをダウンロードしてインストールしてください.

https://www.u-blox.com/ja/product/u-center-windows

 NEO-M8TをUSBで接続すると,ドライバが自動的にインストールされます.設定方法は参考文献を参照してください(1).ここでは,GPSとSBAS,BeiDou,QZSSを使用する設定にします.

ラズベリー・パイへのRTKLIBの導入

 ラズベリー・パイについては,くわしい説明は省きます.まず,公式サイトからRASPBIAN JESSIEをダウンロードし,SDカードにイメージを書き込みます.  

●RTKLIBとは

 RTKLIBは,東京海洋大学の高須知二さんが開発したオープン・ソースのソフトウェアRTKライブラリ群です.従来,受信機内部で行っていたRTKの計算を外部のコンピュータで行え,非常に低コストで高精度の測位が可能になりました.このソフトウェアをラズベリー・パイにインストールします.

 特徴は,①WindowsやLinux,MacOSなどさまざまなプラットフォームで動作すること,②リアルタイム処理と後処理が行えること,③各種のGNSS受信機や入力データに対応していることなどです.現在人気が高いライブラリです.  

●ラズベリー・パイの初期設定

 まずは,アップデートを行います.

$ sudo apt-get update
$ sudo apt-get install

●RTKLIBのインストール

 Github(ギットハブ)をインストールして,RTKLIBのダウンロード,インストールを行います(2)

$ sudo apt-get install git

 新しいディレクトリを作り,移動します.

$ mkdir myRTKLIB
$ cd myRTKLIB

 RTK-LIB 2.4.2を自分のディレクトリにクローンします(2.4.3ではmakeの際にエラーが出る可能性がある).

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

 RTKLIB/appフォルダに移動しmakeします.その後,いったんhomeディレクトリに戻ります.

$ chmod 755 makeall.sh
$ ./makeall.sh
$ cd

 今回使用するrtkrcvが入っているapp/rtkrcv/gccに移動して,アクセス権を変更します.

$ cd myRTKLIB/RTKLIB/app/rtkrcv/gcc/
$ chmod 755 rtkstart.sh
$ chmod 755 rtkshut.sh

 USBポートに2台のM8Tボードのケーブルを挿します.以下のコマンドを入力すると,現在接続されているシリアル・ポートが表示されるので,基準局と移動局のデバイス名を覚えておいてください.どちらかわからなくなった場合は,片方を抜いて,コマンドを再び入力すれば,判別できます.

$ ls /dev/ttyA*

 この後のconfファイルの設定で使用します.私の環境では,/dev/ttyACM0と/dev/ttyACM1が発見されました./dev/ttyAMA0はラズベリー・パイのピン・ヘッダのシリアル・ポートです.

●設定ファイルの設定方法

 RTKLIBでは,さまざまなパラメータを設定するのに,*.confファイルを使用します.myRTKLIB/RTKLIB/app/rtkrcvディレクトリに,基本的な*.confファイルが入っているので,それを適当に変更して使用します.

 私はいつも,WindowsパソコンからWinSCPというソフトを使って,ファイルのブラウズやテキスト・ファイルの修正を行っています.テキスト・エディタの文字コードは常にUTF-8になるように設定してください.日本語のコメントは入れないでください.また,各行の”=”は常に同じ場所から始まるようにしてください.パラメータの詳細については,RTKLIB/DOC/に入っているRTKLIBのマニュアルをご覧ください.

 myRTKLIB/RTKLIB/app/rtkrcvに移動し,rtk.confをmyrtkbl.confと別名で保存してください.次にファイル中で以下の行を修正してください.

console-soltype    =enu # 測位結果の形式をenu東,北,上にします
inpstr2-type       =serial # 2つめの入力もシリアルからとします
inpstr2-path       =ttyACM1:115200:8:n:1:off # デバイス名とシリアルの設定を行います
inpstr1-format     =ubx # 受信機からの入力フォーマットはUBXです
outstr1-type       =tcpsvr # 測位結果をネットワークで送ります
outstr2-type       =file # 測位結果をファイルで保存します
outstr1-path       =:52001 # 測位結果のネットワークのポート
outstr2-path       =sol2_%Y%m%d%h%M.pos # 測位結果のファイル名,年月日時間分は自動的につけてくれる
outstr1-format     =enu # 測位結果の形式をenu東,北,上にします
outstr2-format     =enu # 測位結果の形式をenu東,北,上にします
logstr1-type       =file # 移動局の生データをファイルで保存します
logstr2-type       =file # 基準局の生データをファイルで保存します
logstr1-path       =rov_%Y%m%d%h%M.log # 移動局の生データのファイル名
logstr2-path       =ref_%Y%m%d%h%M.log # 基準局の生データのファイル名
file-cmdfile1      =../../../data/ubx_m8t_bds_raw_5hz.cmd # 受信機設定ファイル
file-cmdfile2      =../../../data/ubx_m8t_bds_raw_5hz.cmd # 受信機設定ファイル
pos1-posmode       =movingbase # 移動基線モード
pos1-frequency     =l1 # 使用周波数は周波数はL1のみ
pos1-elmask        =25 # 仰角マスクです.FIXのしやすさを見て選んでください
#pos1-snrmask       =0 # 旧バージョンに対応した項目なので,コメントアウトしてください
pos1-navsys        =51 # 使用する衛星に合わせてビットマスクを設定し10進数で指定します
pos2-armode        =fix-and-hold # FIXが外れにくい設定です
pos2-baselen       =0.24 # アンテナ間距離をメートルで指定します
pos2-basesig       =0.02 # アンテナ間の予想誤差をメートルで指定します

●rtkrcvの開始

 RTKLIB/app/rtkrcv/gccに移動し,以下コマンドでrtkrcvが起動します.

$ ./rtkrcv -o ../myrtkbl.conf
rtkrcv>start

 rtkserver startと出れば,スタートが成功しています.以下コマンドを入力すれば1秒おきに測位のステータスが表示されます.

rtkrcv> status 1

 スタートしてから数分すると,status of solutionがfloatからfixに変わります.このとき,baseline length fixedが目的のアンテナ間距離になっていれば,大丈夫です.なかなかFIXにならない場合は,ratio of ar validationをご覧ください.この値が1前後で全く増えなければ,アンテナ設置場所の変更を検討してください.Ctrl-Cで,プロンプトに戻ります.rtkrcvを終了するには,以下のコマンドを入力してください.

rtkrcv> shutdown

●WindowsパソコンへのRTKLIBのインストール

 インストール方法は,参考文献(1)をご覧ください.RTKLIB/bin/rtkplot.exeを起動して,ファイル・メニューの[File]→[Connection Setting]でOptをクリック,TCP Server Addressにラズベリー・パイのアドレスを入力してください.Portは前述の設定(outstr1-path)と同じにしてください.Solution Formatも,前述の設定に合わせてE/N/U-Baselineとしてください(図1).  

 

図1

 

  [File]→[Connection]でラズベリー・パイ上のrtkrcvに接続されます.図2のようなグラフを表示できます.このグラフは,Gnd Trk(地上プロット)ですが,他には,位置,速度,加速度,衛星数などをプロットすることも可能です.ちょうど原点(基準局)から24cmあたりに移動局の位置がプロットされています.

 

図2

 

参考文献

(1)藤沢奈緒美;高精度0.5°!3D姿勢センサGPSコンパス,pp82-84,トランジスタ技術,2016年2月号,CQ出版社.

(2)オープンソース準天頂衛星(QZSS)受信機,Raspberry PiでRTKLIB, http://blog.goo.ne.jp/osqzss/e/c6870961f79b8c688c09129301209300