カテゴリーアーカイブ GPS/GNSS

著者:杉浦

【GNSS】GNSS受信機モジュールF9Pをソフトウェア的に壊した際の修理方法

ZED-F9Pモジュール | u-blox
 F9Pは高精度測位が可能なGNSS受信機モジュールのひとつです。ボードにもよりますが電子工作が容易になる状態まで作られた既製品は大体2-3万円強と決して安くない値段をしており、壊れた場合に買い直しより修理を試みたくなります。最近よくF9Pを壊しているのでファームウェアを安全な状態まで持っていくやり方をまとめます。
 フローチャートは次の図の通りです。各ノードにおける詳細な作業を後述します。

問題が起きていることを確認

直す必要があるのかどうか確認します。自分はu-centerからの設定変更を受け付けるか否かで判断しています。よくある異常な状態は次のようなメッセージを出力し続け設定変更に応じない、というものです。他にもレジスタ回りの致命的エラーはまずファームウェアのリセットが必要になるでしょう。

$GNTXT,01,01,01,ldr no pld buf*02
$GNTXT,01,01,01,exception 0x00130905 has occurred*20
$GNTXT,01,01,01,NMEA unknown msg*46

この時、$GNTXT内もきっちり読んでおくとお得な時が多いです。

$GNTXT,01,01,01,Reboot reason: V_IO supply undervoltage*59

の様なソフトウェア上では解決できない回路構成上のエラーも教えてくれる時があります。

USBで接続できる?

 文字通りです。シリアルポートに接続できるかできないかです。u-centerが特にわかりやすいです。デバイスとして認められるが接続できない、という状態です。接続できれば問題の解決はすぐです。

 U Center Port Connection Errorより引用

UART1で接続できる?

 USB側で接続できない場合、UART1でF9Pと通信することを試みます。経験則ですがUART1はかなり頑強でUSBより信頼できます。余談ですがF9PのUART2は通信こそできますが操作命令のプロトコルに対応していません。測位結果を得られるのみです。
 ボードによってはUART1でPC上のu-centerとボード上のF9Pをつなぐために新たに回路を構築する必要があります。この時USB-シリアル変換モジュールを使うと楽です。ボード上のTX, RXとUSB-シリアル変換モジュールのRX, TXを接続(この手のことをやるのが稀な人は一方のTXともう一方のRX、一方のRXともう一方のTXで繋ぐ必要があることに注意)、電源はUSB経由で供給すると過剰にも不足にもなり難いです。

ファームウェアアップデートを実行して成功しそう?

 大体この段階で正常動作ができる様になります。
 この手順ではu-centerの配布しているファームウェアをF9Pにインストールすることによって正常な状態にしようと試みます。ファームウェアは次のリンクのファームウェアのアップデートからダウンロードできます。
ZED-F9Pモジュール | u-blox#ドキュメントと資料
 ファームウェアの更新はu-centerのTools->Firmware Updateから実行できます。Update画面左下にあるGoボタンを押した後に画像の様な進捗状況やら何やらが出ていれば成功です。この時、Enter safeboot before updateとSend training sequenceにチェックをしておくと失敗しにくいです。
 Use this baudrate for updateの値は大きくする程、処理が早くなり体感失敗しやすくなります。進捗状況が出ていれば大体大丈夫です。再現性のある失敗の仕方をしていない限り、リトライし続ければそのうち成功します。

 残念ながら進捗状況が見えない場合、安定して失敗する場合は手動でセーフブートを実行する必要があります。

手動でセーフブートを実行

 UART1を通して特定の信号を送ることでセーフブートを実行させます。UART1にbaudrate9600で0x55 0x55を送ればOKです。自分の場合、UART1とシリアルを変換してRealtermからシリアル経由で送信することが多いです。

ZED-F9P – Integration Manualの3.3.6にセーフブートを実行する正式な方法が載っています。自分の場合なんやかんや成功するのでしていませんが正式にはSAFEBOOTピンをlowにしてから0x55 0x55を送信します。

  • この記事いいね! (2)
著者:杉浦

【GNSS】通信経路としての”みちびき”

みちびき(準天頂衛星システム)とは、準天頂軌道の衛星が主体となって構成されている日本の衛星測位システムのことで、英語ではQZSS(Quasi-Zenith Satellite System)と表記します。
みちびきとは|みちびきについて|みちびき(準天頂衛星システム:QZSS)公式サイト – 内閣府

 みちびきは日本が打ち上げた日本向けの衛星測位システムを構成する衛星です。準天頂軌道の衛星とある様に日本の上空に滞在する時間が多く取られています。これにより衛星測位に必要な衛星の電波状況を良好な状態に保ちやすくなり、安定した高精度測位を実現します。
 上記の様にみちびきは測位に用いられることを主目的にしています。みちびきの利用イメージも位置情報が主になっています。
 「利用イメージ」一覧|利用者向け情報|みちびき(準天頂衛星システム:QZSS)公式サイト – 内閣府
 一方でみちびきは位置情報以外のサービスを提供することも考慮されています。例えば、次の二つがあります。
衛星安否確認サービス「Q-ANPI」|みちびきについて|みちびき(準天頂衛星システム:QZSS)公式サイト – 内閣府
災害・危機管理通報サービス「災危通報」|みちびきについて|みちびき(準天頂衛星システム:QZSS)公式サイト – 内閣府
 どちらも地上のインフラが破壊されても通信経路を確保できる準天頂衛星の特徴を活かしています。今後もこの手のサービスが増えるとちょっとした衛星電話みたいになるかもしれません。災危通報に関してはまだ予定のみですがQ-ANPIに関しては試験運用がすでに始まっています。

  • この記事いいね! (1)
takahashi 著者:takahashi

ヨーロッパのGNSSシステム”Galileo”に大規模障害発生中。Galileoを使用した一切の測位が不能に

ふとTwitterを見たらこんなつぶやきが…

なんとGNSS(各国が運用している全地球測位システムの総称)の一種であるヨーロッパの”Galileo”の測位衛星が、全機一斉に使用不能になっているようです。

ヨーロッパのガリレオ全地球測位システム まさかの完全停止 – Togetter

記事を書いた時点でもまだ死んでいるみたいですね…

Constellation Information – European GNSS Service Centre

なお、Togetterによると、今回の問題はGST(Galileo System Time)に異常がでているのではないかという情報も出ていますが、公式発表がない為、詳細は不明です。

いずれにせよ、いつ復旧するかわからない状況となっていますので、Galileoを使用したシステムを構築している場合は注意が必要そうです。

  • この記事いいね! (0)
著者:杉浦

RTKLIBに関することの集まっているwebページrtklibexplorerの紹介

 rtklibexplorerはRTKLIBにとてもとても詳しい人の運営しているページです。
 このページではRTKLIBそのものの情報、受信機と組み合わせたときの評価、RTKLIBを用いた測位のサンプル、記録などがそろっています。
 特に最近役に立ってくれたのは次のリンクにあるRTKLIB実行用サンプルと設定解説です、
GPS Sample Data – rtkexplorer
Updated guide to the RTKLIB configuration file – rtklibexplorer
 サンプルは受信機生データ、基地局生データが必ずあり、多くにRTKLIBの設定と結果もあります。設定解説では、ある設定がいかなる意味で自分はこういう理由でこう設定している、とわかりやすく解説してあります。RTKLIBの説明書だけを読んでも得にくいノウハウがここから学べます
 rtklibexplorerではRTKLIBの改善もオープンソースでしています。
rtklibexplorer/RTKLIB
RTKLIB Code – rtkexplorer
 主だった変更点は設定可能項目の増加です。基盤になる測位モードから係数まで多岐に渡ります。

  • この記事いいね! (1)
著者:杉浦

地図の誤差と地図より正確な高精度測位

 位置情報を確認する時、ほとんどの場合で地図上に目的の位置情報を置いて確認します。北緯34度43分34.36456秒,東経137度43分5.85516秒の様な位置を表す数字のみで位置情報から正確な位置そのものを想像することは困難です。この様に地図と位置情報という二つのものを使って位置を確認する際、考慮される誤差は地図の誤差と位置情報の誤差の二種類に大別されます。位置情報の誤差は高精度な衛星測位を良好な環境で用いた場合、数cmという範囲に収まります。一方で旧来から使われている地図は次の基準に沿って作られており、精度もこの基準に準拠しています。

「数値地形図データ」とは地形、地物等に係る地図情報を位置、形状を表す座標データ及び内容を表す属性データ等として、計算処理が可能な形態で表現したものをいう。

作業規程の準則 | 国土地理院
作業規程の準則(全文)
 文言は国土地理院 作業規程の準則 第3編 第1章 第1節中の第78条から引用
 画像は国土地理院 作業規程の準則 第3編 第1章 第2節中の第80条から引用

 近年現れた測位の高精度化によって地図の精度の方が悪くなっています。結果、数cmという高精度な測位結果を持っていたとしても地図と重ね合わせて使用するという方法の上では、もういくらか悪い精度の情報となってしまいます。
 このため高精度な位置情報の恩恵は、UI面で少なく、位置情報のみで閉じたシステムで大きくなります。位置情報のみで完結した領域として測量などの建設があります。国土交通省はi-Constructionと名付けて、高精度測位等の情報通信技術による建設生産システム全体の生産性の向上を推しています。
i-Construction

  • この記事いいね! (0)
著者:杉浦

LeafletのアイコンオプションiconAnchorの意味

 Leafletは地図をJavaScriptで描画、操作するためのライブラリです。地図上に何かを置きたい時、それはアイコンオブジェクトを用いて実現することが多いです。アイコンを定義する際にはicon関数を用いて次の様に定義します。次のコードはMarkers With Custom Icons – Leaflet – a JavaScript library for interactive mapsからの引用です。

var greenIcon = L.icon({
    iconUrl: 'leaf-green.png',
    shadowUrl: 'leaf-shadow.png',

    iconSize:     [38, 95], // size of the icon
    shadowSize:   [50, 64], // size of the shadow
    iconAnchor:   [22, 94], // point of the icon which will correspond to marker's location
    shadowAnchor: [4, 62],  // the same for the shadow
    popupAnchor:  [-3, -76] // point from which the popup should open relative to the iconAnchor
});

 このオプションの中にiconAnchorというものがあります。直訳してマーカーの位置に対応するアイコンの点です。Leafletはこの緯度経度に、このアイコンを用いてマーカ―を、この地図上に置く、という様にマーカーを地図上に置きます。

L.marker([51.5, -0.09], {icon: greenIcon}).addTo(map);

 マーカーという以上、地図を見るものにその印を示すために絵を用います。iconAnchorはこの絵のどの部分に指定した緯度経度がくるかを指定するオプションです。もしiconAnchorを間違えた場合、矢印の根元のような直感的でない部分が位置を指すことになってしまいます。
 Explanation of Leaflet Custom Icon LatLng vs XY Coordinates – Stack Overflow
 このStack Overflowの図説が完結にまとまっていました。

 左上を(0,0)とし、用いるimgに合わせてpx単位で合わせることが基本になります。割合を用いないのはアンチパターンに見えますが、アイコンを定義する際の単位はいずれもピクセル単位となっているためこのやり方が推奨のやり方となっています。

  • この記事いいね! (0)
著者:杉浦

投影における経緯度座標及び平面直角座標相互間の座標換算についてのより簡明な計算方法

河瀬和重, Gauss-Krüger 投影における経緯度座標及び平面直角座標相互間の座標換算についてのより簡明な計算方法, 国土地理院時報 No.121 (2011), pp 109-124.
 平面直角座標系は地球上の狭い範囲のみを扱うという条件を付けて、ある範囲を平面として考える座標系です。一度に扱う範囲が狭いため地球を平面とみなしても問題が起きません。平面であるが故に扱いが楽でGIS(地理情報システム)など様々な場所で使われています。
 一方でGNSS(衛星測位システム)は緯度経度を基礎として扱っているシステムです。GNSSは地球全体を統一して扱うため緯度経度の方がより合っています。そのためGISとGNSSを用いるシステムを作る、扱う際には緯度経度と平面直角座標の変換が必須です。
 国土地理院には便利なプログラム・データとして平面直角座標への換算とその計算式があります。
河瀬和重, Gauss-Krüger 投影における経緯度座標及び平面直角座標相互間の座標換算についてのより簡明な計算方法, 国土地理院時報 No.121 (2011), pp 109-124.
はこの計算式の原著で、なぜこの式にまとまるのかの話と実装例が載っています。勉強としても参考としてもおすすめの一本です。

  • この記事いいね! (0)
著者:杉浦

世界測地系と日本測地系

 測地系とは位置を表すための前提条件のことをいいます。具体的には地球はどのようになっているかという定義です。技術の発展によりより正確に地球のことがわかるようになり、測地系は更新されていきます。また、グローバル社会が謳われるようになり測地系の名前も世界測地系と改められました。少々ややこしいことに、ただ名前を変えただけのローカルな測地系もあります。例えば日本測地系2011という測地系があります。幸い学術的には日本測地系2011やJGD2011の名で使われていますが、場によっては世界測地系と呼ばれます。
 GNSSが使用している測地系はWGS84という世界測地系です。元々はGPS用のアメリカの規格ですがGNSSの広がり方によって本当に世界単位で使われています。
 座標系という位置の表し方の定義があります。緯度経度、XYなどです。測地系は最初に述べた通り地球の形の定義づけです。位置に関する値を取り扱う時は、どの測地系に従ったどの座標系の値なのか、ということを気を付ける必要があります。特に測地系は異なってもせいぜい数メートル、数十メートル単位のずれで直感的に間違いが分かりにくいです。テストの際には先達の作ったソフト等と突き合わせて検証を行うべきでしょう。

  • この記事いいね! (0)
著者:ym

いよいよ今週 11 日に KSK ロールオーバー

前回以下のページで応答がないと書きましたが、再度実施した所無事に 4090 と数字が表示サれてきました。

root zone の KSK rollover

 

# dig +short rs.dns-oarc.net TXT
rst.x4090.rs.dns-oarc.net.
rst.x4058.x4090.rs.dns-oarc.net.
rst.x4064.x4058.x4090.rs.dns-oarc.net.
"202.152.*.* sent EDNS buffer size 4096"
"202.152.*.* DNS reply size limit is at least 4090"
"Tested at 2018-10-08 04:18:30 UTC"

実行して見るとこの様な感じ。サービス提供で使用している DNS フルリゾルバに対して実行してみましたが問題はなさそうです。

KSKロールオーバーについて

 

 


  • この記事いいね! (0)
著者:杉浦

国土地理院のハザードマップ

重ねるハザードマップ | 国土交通省
 ページのtitleは国土交通省ですし、国土地理院のトップページのみならず国土交通省のトップページからも簡単に遷移できますがが、ドメインとしては国土地理院のページです。国土地理院は国土交通省の一部ですのでおそらくその辺りでしょう。
 主な使い方は簡単です。左上の災害種別で災害毎の影響範囲のまとめを地図上に写して見る、右上の危険虫眼鏡で調べたい場所をクリックしてその場所のリスクを見る、これだけです。
 
 詳しくどういう情報から知りたい時はレイヤー情報の解説ボタンから詳しい解説が開きます。また作図、保存、印刷機能も備えており、メモ書き等含めて目的に合わせた地図を柔軟に作れます。

  • この記事いいね! (0)