BeagleBoneで動くRTKLIBでRTKやPPPを試す前に,まずはMGEXの観測局に
ntripでアクセスして,単独測位を試してみます.
基本的には,PC上でRTKNAVを実行するのと同じことをrtkrcvの設定ファイルで
指定します.
OSQZSS: MGEXにアクセス
ユーザ登録がまだの方は,BKGのサイトからIGS-IPのアカウントを申請してください.
GNSS Data Center: User Registration for Ntrip Broadcasters
LEA-4Tを接続した単独測位では,UBXフォーマットをシリアルで入力していますが,
ここではntrip clientとして,RTCMフォーマットのデータを受け取ります.
ntripのcasterとしては,mgex.igs-ip.netのCHOF7を選択しました.
inpstr1-type =ntripcli # (0:off,1:serial,2:file,3:tcpsvr,4:tcpcli,7:ntripcli,8:ftp,9:http)
inpstr1-path =user:password@mgex.igs-ip.net:2101/CHOF7
inpstr1-format =rtcm3 # (0:rtcm2,1:rtcm3,2:oem4,3:oem3,4:ubx,5:ss2,6:hemis,7:skytraq,8:sp3)
inpstr1-pathのuserとpasswordには,IGS-IPのuser nameとpasswordをタイプしてください.
出力は,前回と同様にtcpsvrで出力し,Ethernet経由でホスト側のrtkplotで表示します.
outstr1-type =tcpsvr # (0:off,1:serial,2:file,3:tcpsvr,4:tcpcli,6:ntripsvr)
outstr1-path =localhost:52001
outstr1-format =llh # (0:llh,1:xyz,2:enu,3:nmea)
ひとつ注意が必要なのが,BeagleBoneの時計です.
BeagleBoneにはリアルタイムクロックが搭載されていません.
そのため,電源を投入するたびにデフォルトの時刻に戻ってしまいます.
一方,rtkrcvは,時刻の初期化をBeagleBoneの時計によって行います.
rtkrcvのstatusコマンドで確認すると,現在時刻とかけ離れた時刻が表示されます.
そして,この時刻と比較して,取得した航法歴が正常かどうか判断します.
そのため,異常な航法歴と判断され,いつまでたっても測位できない状態になります.
(クリックで拡大)
リアルタイムクロックを外付けすれば良いのですが,とりあえずntpを使って
BeagleBoneの時計を設定することにします.
root@beaglebone:~# /usr/bin/ntpdate pool.ntp.org
これでrtkrvcを実行すれば,現在の時刻に初期化され,単独測位が実施されます.
設定ファイル名はsingle_bb.confとしてここに置いておきます.
root@beaglebone:~# ./rtkrcv -o single_bb.conf
ホスト側のrtkplotに接続すると,調布の基準局が表示されます.
さて,次はIGS Real-Time Serviceに接続して,PPPを試そう.
ntripでアクセスして,単独測位を試してみます.
基本的には,PC上でRTKNAVを実行するのと同じことをrtkrcvの設定ファイルで
指定します.
OSQZSS: MGEXにアクセス
ユーザ登録がまだの方は,BKGのサイトからIGS-IPのアカウントを申請してください.
GNSS Data Center: User Registration for Ntrip Broadcasters
LEA-4Tを接続した単独測位では,UBXフォーマットをシリアルで入力していますが,
ここではntrip clientとして,RTCMフォーマットのデータを受け取ります.
ntripのcasterとしては,mgex.igs-ip.netのCHOF7を選択しました.
inpstr1-type =ntripcli # (0:off,1:serial,2:file,3:tcpsvr,4:tcpcli,7:ntripcli,8:ftp,9:http)
inpstr1-path =user:password@mgex.igs-ip.net:2101/CHOF7
inpstr1-format =rtcm3 # (0:rtcm2,1:rtcm3,2:oem4,3:oem3,4:ubx,5:ss2,6:hemis,7:skytraq,8:sp3)
inpstr1-pathのuserとpasswordには,IGS-IPのuser nameとpasswordをタイプしてください.
出力は,前回と同様にtcpsvrで出力し,Ethernet経由でホスト側のrtkplotで表示します.
outstr1-type =tcpsvr # (0:off,1:serial,2:file,3:tcpsvr,4:tcpcli,6:ntripsvr)
outstr1-path =localhost:52001
outstr1-format =llh # (0:llh,1:xyz,2:enu,3:nmea)
ひとつ注意が必要なのが,BeagleBoneの時計です.
BeagleBoneにはリアルタイムクロックが搭載されていません.
そのため,電源を投入するたびにデフォルトの時刻に戻ってしまいます.
一方,rtkrcvは,時刻の初期化をBeagleBoneの時計によって行います.
rtkrcvのstatusコマンドで確認すると,現在時刻とかけ離れた時刻が表示されます.
そして,この時刻と比較して,取得した航法歴が正常かどうか判断します.
そのため,異常な航法歴と判断され,いつまでたっても測位できない状態になります.
(クリックで拡大)
リアルタイムクロックを外付けすれば良いのですが,とりあえずntpを使って
BeagleBoneの時計を設定することにします.
root@beaglebone:~# /usr/bin/ntpdate pool.ntp.org
これでrtkrvcを実行すれば,現在の時刻に初期化され,単独測位が実施されます.
設定ファイル名はsingle_bb.confとしてここに置いておきます.
root@beaglebone:~# ./rtkrcv -o single_bb.conf
ホスト側のrtkplotに接続すると,調布の基準局が表示されます.
さて,次はIGS Real-Time Serviceに接続して,PPPを試そう.
※コメント投稿者のブログIDはブログ作成者のみに通知されます