日記・備考録
Diary/Memorandum

2005 | 2006 | 2007 | 2008 | 2009 | 2010 | 2011 | 2012 | 2013 | 2014 | 2015/ 1 2 3 4 5 6 7 8 9 10 11 12 | 2016
Search
December January
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
February | Home

2015/02/01〜

...................................................................................................................................

2015/01/30

Qualys Seurity Advissory CVE-2015-0235: GHOST: glibc gethostbyhame buffer overflow

gethostbyname() 脆弱性。GHOSTという名前が付いたらしい。手元のubuntu 13.04では、

> /lib/x86_64-linux-gnu/libc.so.6
GNU C Library (Ubuntu EGLIBC 2.17-0ubuntu5.1) stable release version 2.17, by Roland McGrath et al.
Copyright (C) 2012 Free Software Foundation, Inc.
...

とのことでダメ。でもubuntu上でブラウザ使うことはほぼないから、アップデートしなくてもまあいいや。

補足: これ、なかなか面白いのだけど、これだけ苦労して攻撃方法を編み出す手間をかければ、もっと色々と攻撃方法は見つかる様な気も。でも、"503 sender..." みたいなメッセージって普通はヒープでなくて.textか.dataセクションに置かれるのでは。(19:00追記)

-------------------------------------

平成27年測位航法学会全国大会 セミナー「GNSS測位入門からRTKLIBの活用まで」, 平成27年4月22-23日, 東京海洋大学 越中島

正式通知が出ました。申し込み方法は以上を参照ください。

実習を中心にした2日間のコースで、RTKLIBの基礎から応用まで開発者が懇切丁寧に説明します。以下の様な方はぜひご参加ください。なお説明は全て日本語です。英語をご希望の方は今年も多分開催されるサマースクールの方にご参加ください。

・GNSS測位の仕組みや受信機の動作原理を一から学習したい。
・RTKLIBを使ってみたいけどマニュアルが英語で使い方が全然分からない。
・RTKやPPPを自分のシステムに応用したいけどどんな構成にすればよいか教えて欲しい。
・RTKLIBをガシガシと改造したいのでコードの内部構造がどうなっているか知りたい。
・RTKLIBの動作が変なので開発者に文句を言いたい。

...................................................................................................................................

2015/01/27

日本地球惑星科学連合2015年大会, 2015年5月24〜28日, 幕張メッセ

M-TT05 New phase of GPS/GNSS application as an integrated earth observation system

連合大会でのGNSSの地球観測応用に関する国際セッション。投稿締め切り2/18。

...................................................................................................................................

2015/01/25

内閣府, 宇宙基本計画, 平成27年1月9日

4 (2)@i)の抜粋、

> @)衛星測位
> ・準天頂衛星初号機「みちびき」の設計寿命が到来する平成32年度以降も確実に4機体制を維持すべく、平成27年度から
> みちびき後継機の検討に着手する。また、安全保障分野での重要性、ユーザーの利便性、産業誘発効果、運用の効率性等に
> 係る総合的な検証を行いつつ、持続測位が可能となる7機体制の確立のために必要となる追加3機については、平成29年度
> をめどに開発に着手し、平成35年度をめどに運用を開始する。その際、開発・運用コストの縮減と平準化を図る。あわせて、
> 米国GPSとの連携強化の在り方についても検討を行い、必要な措置を講じる。(内閣府)
> ・また、国内のみならず、アジア太平洋を中心とした諸外国において、準天頂衛星の利活用を促進するとともに、この地域
> における電子基準点網の構築支援に取り組み、測位衛星の利用基盤を強化する。(内閣府、国土交通省等)

本文中に「準天頂衛星の7機体制の確立」というのが何度も出てくる。
工程表では「追加3機の開発整備」が平成29-35年度、「7機体制の運用 (持続測位)」が平成35年度から、となっている。あと10年位は仕事がありそうという感じ。有難いことである。

...................................................................................................................................

2015/01/24

N.V.Rodriguez et al., When Assistance Becomes Dependence: Characterizing the Costs and Inefficiencies of A-GPS, ACM SIGMOBILE Mobile Computing and Communications Review, 2013

スマホのA-GPSで発生する通信の解析を行い、性能の比較評価をしている。スマホのA-GPSは現在ほぼ user-plane + MBS、すなわち、IPネットワーク経由サーバからアシスト情報を取得し、端末自身で測位する方式となっている。アシスト情報としては、チップセットがQualcommの場合、gpsOne (gpsOneXTRA)、Broadcomの場合LTOまたはBcom-LS。gpsOneXTRA及びLTOの中身はベンダ独自フォーマットで格納された長寿命エフェメリスである。配信プロトコルはHTTPまたはHTTPSで、iPhoneの場合はAppleのサーバ、それ以外はQualcomm、BroadcomのA-GPSサーバで提供される。Androidの場合、gpsOne以外にGoogleが提供するOMA SUPLベースのサービスが使用できる。TTFF、測位精度、電力以外に、通信量の比較もしているが、gpsOneとLTOの場合、1日当たり約40KB。エフェメリス以外にNTP同期も必要で、ネットワークレイテンシが大きい場合消費電力にインパクトがあるとのこと。

実際、http://xtra3.gpsonextra.net/xtra.binから、Qualcommの長寿命エフェメリス (xtra.bin) をダウンロードすることができる。サイズは38KB。調べた限りフォーマットは公開されていない。

補足: SUPL (secure user plane location) についてはBroadcomのwhite paperが分かりやすいので後で調べるために貼っておく。しかしA-GPSって端末数で言えば世界中に既に何十億というユーザがいる訳で、衛星測位のエンジニアが基礎知識を持ってないのはまずいよね。(1/25追記)

再補足: A-GPS。ということで、有名な本なんだけど、Broadcomの現GNSS開発責任者でもあるDiggelenの参考書リンクを貼っておく。この記事読むと南アフリカ出身らしい。IONで一度会ったことがあるけど小柄で綺麗な銀髪の人だった。本を読めば分かる様に、非常に頭の切れる人であることは間違いない。(1/25追記)

-------------------------------------

I.F.Hernandez et al., Galileo's Commercial Service Testing GNSS High Accuracy and Authentication, InsideGNSS, 2014

Galileo CS (commercial service) の詳細とAALECS (authentic and accurate location experimantatin with CS) のEPOC (early proof-of-concept) と呼ぶ早期検証実験の結果。PPP用にHA (high accuracy) 448bpsの帯域をどう使うのか興味があったのだが、衛星毎の軌道クロック (160bit=SVID(6)+Epoch(17)+X/Y/Z(33x3)+Clock(38) を5秒毎8衛星分または30秒毎48衛星分送れる様だ。EPOCでは対象衛星はGPS×32+3Galileo×3で30秒毎で全衛星から同一メッセージを送信している。DCBやPPP-AR用位相バイアスは含まれていない。アップリンク局は5局。

局障害も考えると5局で足りるのか心配だが、全衛星同一メッセージを送るのであれば、1つでも有効衛星が可視ならOKという設計なのかもしれない。ただやはりMEO衛星は、GEOやIGSOに比較してリアルタイムの補強情報送信には不利である。MEO衛星の場合回線の有効活用のためには異なる衛星から異なる情報を送る特別な送信スケジューリングが必要だと思う (少なくとも地球裏側にいる衛星の補強情報を送るのは帯域の無駄なので)。

...................................................................................................................................

2015/01/22

Amazon Web Service, New Compute-Optimized EC2 Instances

AWS EC2の新しいインスタンスファミリーC4が使えるようになったようだ。以下C3との比較。それぞれ一番大きなc3.8xlargeとc4.8xlarge。

Instance Type #vCPU RAM SSD EBS opt. Physical CPU Price
c3.8xlarge 32 60 GB 2 x 80 GB No Xeon E5-2680 v2 (2.8-3.6GHz) $1.680/H
c4.8xlarge 36 60 GB - Yes Xeon E5-2666 v3 (2.9-3.5GHz) $1.856/H

料金はオンデマンド, 米国西部オレゴン, Linux。CPUがHaswellになってAVX2が使える様になったのが最大のメリット。ただ物理コア数変わっていないも16->18に増えている。E5-2666 v3というのはどうもAWS用の特別のCPUらしくIntelのプロセッサリストには載っていない。EBS最適化が標準で付くようになった代わりSSDがなくなってしまった。

ということで、ちょっと試しにスポットで使ってみたんだけど、C3に比較して速くならないなあ。行列演算ベンチマークもCore i7 5960X (OC) とほぼコンパラで、400GFLOP位は出るけど、1618コアの恩恵は無いように見える。実APでもむしろ遅くなってしまっている。スポット価格も乱高下していて、シャットダウン食らうリスクも高いので、当面様子見。皆C4に流れてC3のスポット価格が安くなることを期待。

補足: 色々と調べるとE5-2666 v3のコア数は18 (9x2) の様。E5-2680 v2は16 (8x2) なので物理コア数は増えている。記述訂正。それにしては性能はあんまり上がっていない。(1/25追記)

...................................................................................................................................

2015/01/21

EMLID, Shop

NEO-6Tのドングルが$49.99。これは安い。(CSG ShopのLEA-6Tカードでも$149.99だし) u-centerやRTKLIBとの組み合わせで色々と遊びたい人はどうぞ。

...................................................................................................................................

2015/01/20

GPS World, Six Galileo Satellites Planned for 2015 Launch, January 19, 2015

今年のGalileo衛星の打ち上げはSoyuzによる2機とAriane 5による4機の計6機の様だ。

...................................................................................................................................

2013/01/18

GMV, First Galileo-only PPP with IOV + FOC-1 satellite, December 11, 2014

GMV magic GNSSのブログなんだけど、Galileo FOC-1衛星 (E18) を含んだGalileoの軌道/クロックやGalileo only PPPの評価をしている。96H arc推定の24H orbit overlapでradial 2-4 cm, arong/cross 6-16 cm。3D換算で7-20 cm。さすがにE18は他に比較して少し悪い。MGEX 航法データアーカイブ見てもE18の航法データは含まれていないので、まだ衛星からエフェメリスは放送されていないと思うのだけど軌道初期値はどうしているのだろう。

-------------------------------------

Sparkfun, Intel Edison

Sparkfunで売ってるIntel Edison用のドータボードなんだけど、Hiroseの70Pコネクタ経由でスタッキングできる (参照) ので拡張が簡単。ReachもできればMicroSDが欲しい感じ。

...................................................................................................................................

2013/01/17

Reach + Edisonの消費電力を測る。RTKRCVを実行させた状態 (WiFi ON) で0.10〜0.16A、平均0.14A (5V)。Edisonのデータシートによると電源は3.3-4.5Vで、u-bloxも3.0-3.6Vなので、3.7V 1000mAhのリポバッテリで6-7時間は動きそう。

補足: NAVIO + RasPi: 0.38〜0.39A (5V)。(22:31追記)

...................................................................................................................................

2013/01/16

平成27年度測位航法学会全国大会 セミナー, 平成27年4月22-23日, 東京海洋大学越中島

正式アナウンスはまだですが、以下セミナーを開催します。

タイトル:
GNSS測位入門からRTKLIBの活用まで

プログラム:
4/22 (水) 9:30-12:30
(1) GNSS測位入門
(2) RTKLIBの概要と導入 (実習)
(3) RTKLIBの基本操作 (実習)

4/22 (水) 13:30-16:30
(3) GNSS測位の基礎
(4) RTKPLOTの基本操作 (実習)
(5) RTKPOSTによる単独測位 (実習)

4/23 (木) 9:30-12:30
(6) 基線解析とRTKの基礎
(7) RTKPOSTによる基線解析 (実習)
(8) RTKNAVIによるRTK (実習)

4/23 (木) 13:30-16:30
(9) RTKの応用
(10) RTKLIBによる複合解析 (実習)
(11) RTKLIBの活用

主な対象者は衛星測位やRTKLIBの初心者とし、2日間のコースでRTKLIBの基本操作から本格的な応用まで、実習を中心に学習します。

セミナーの申し込み方法については、今後更新される測位航法学会のWebサイトを参照ください。 学会員以外の参加も歓迎です。

...................................................................................................................................

2015/01/13

以下手順でATLASとLAPACKのライブラリは出来た (1日半位かかった) のだけど、Edisonを再起動したら、ファイルシステムマウント失敗でOSが起動しなくなってしまった。仕方ないのでリカバリ。OSが上がらない時のリカバリ方法メモ。

(1) 以下頁から最新F/WとWindows用ドライバをダウンロード。今回はEdison Yocto complete imageとWindows Driver setup。

https://communities.intel.com/docs/DOC-23242

(2) WindowsにDriverをインストール後、EdisonのUSB-OTBコネクタをPCに繋ぐと、Edisonはシリアルデバイス及びストレージデバイスとして認識される。なおこのシリアルデバイスはコンソール用としては利用できない様。

(3) 以下からF/W書き込みツール DFU-UTILをダウンロード。ここではビルド済みのWindows用バイナリdfu-util-static.exeを使った。

http://dfu-util.sourceforge.net/releases/dfu-util-0.8-binaries/win32-mingw32/

(4) (1) のcomplete imageを解凍し、同一ディレクトリにdfu-util.exeにリネームして (3) を格納。

(5) コマンドプロンプトを起動し (4) のディレクトリに移動。いったんUSBケーブルを抜いて以下バッチファイル実行。

E:\> cd edison-image-rel1-maint-rel1ww42-14
E:\edison-image-rel1-maint-rel1ww42-14> flashall.bat

(6) USBケーブルを再度刺すと認識されて、F/W書き込みが始まる。書き込んだ後、2回再起動がかかる様なのでしばらく放っておく。

どういうケースでファイルシステムが壊れるのか良く分からないのだけど、shutdownしないで電源を抜くと壊れることが多い気がする。あと、opkg upgradeをすると一部ファイルシステムがフルになるのでこれも悪いかも。opkg upgradeしないで、かつ電源切断前に必ずshutdownコマンドを実行する様にしてからは壊れていない。リカバリすると、ファイルシステムは初期化されてしまうのでせっかく1日半かかって作ったライブラリはパー。もう一度作る気にはならないのでもういいや。

ついでなので、Edisonコンソールへの接続の方法だけど以下の3種類ある。

(a) FTDI USBシリアル経由接続 (要breakoutボード)
(b) WiFi経由SSH接続
(c) USB-OTGのUSB-LAN経由SSH接続

(c) はEdisonのUSB-OTGコネクタをWindowsに接続すると、RNDISデバイスとしても認識されるので、デバイスのIPアドレスを192.168.2.2等に設定後、アドレス192.168.2.15にputty等でSSH接続できる。なお (b)(c) はOSが上がらないと使えないので、OSリカバリ時には結局 (a) しか使えない。ReachにはUSBシリアルが付いていないので、仕方ないのでOSリカバリ時には、Edisonを一々breakoutボードに差し替えている。

-------------------------------------

せっかくなので、Intel Edisonでrtkrcvを高速化したいと思って、ATLASをIntel Edison上でビルドしてみた。以下メモ。

# mkdir /home/root/local
# ln -s /home/root/local /usr/local
# mkdir /usr/local/bin /usr/local/lib /usr/local/include
# opkg install gfortran
# opkg install libgfortran-dev
# cd /usr/bin
# ln -s i586-poky-linux-gfortran gfortran
# cd
# wget http://downloads.sourceforge.net/project/math-atlas/Stable/3.10.2/atlas3.10.2.tar.bz2
# wget http://www.netlib.org/lapack/lapack-3.5.0.tgz
# tar jxvf atlas3.10.2.tar.bz2
# mkdir ATLAS/build
# cd ATLAS/build
# ../configure --prefix=/usr/local --with-netlib-lapack-tarfile=/home/root/lapack-3.5.0.tgz --shared -v 2
...
# make build
...
# make install

ビルドは恐ろしく時間がかかるので放っておく。

...................................................................................................................................

2015/01/09

EMLID, Reach High accuracy L1 RTK GNSS, Coming soon

EMLIDのMikhailからReachと呼ぶ、Intel Edisonベースの超小型RTKモジュールの試作品を送ってもらったので、RTKRCVをポートして動作試験。GNSSモジュールはNEO-M8Nなので普通にRTKが動く。ただしM8Nなので1Hzまでで、GLOとBDSのアンビギュイティは解けない。GPS+GLO 1Hz RTKでEdisonのCPU負荷2%位。NEO-M8Tの正式版が出ればそれに置き換えて5HzまでのRTKでBDSのアンビギュイティも問題なく解けるはず。ただ、RTKRCVのコード書いたのがずいぶん前なので今一つ操作性が悪い。もう少し使いやすくするのとGNSS/INS統合もちゃんと入れて書き直したいなあ。

-------------------------------------

国土地理院, マルチGNSS解析ソフトウェア「GSILIB」の公開, 2015年1月8日

GSILIB ver.1.0.0の公開。GLONASS IFB推定用APであるANTAppが含まれている。

-------------------------------------

GPS World, The Almanac, January 2015

各GNSS衛星のステータスや情報リンク。とても分かりやすい。これ、計画停止も含めて誰か継続的にメンテナンスしてくれるとうれしいなあ。

-------------------------------------

GLONASSのうるう秒対応について少しICDを調べてみる。(GLONASS ICD ver.5.1, 3.3.3)

> The GLONASS users are notified in advance (at least three months before) on these planned corrections through relevant bulletins,
> notifications etc. The GLONASS satellites have not any data concerning the UTC leap second correction within their navigation
>messages. Navigation message of GLONASS-M satellites stipulates provision of advance notice for users on forthcoming UTC leap
> second correction, its value and sign (see Section 4.5, word KP within almanac).
> Along with UTC corrections as stipulated by BIH/BIMP recommendations the GLONASS time corrections are performed through
> appropriate change of enumeration of second impulses sequence of all the GLONASS on-board clocks.
> Time marker of the GLONASS frame string (broadcast every 2 seconds) change its place (on continuous time scale) to ensure
> synchronization with 2-second epoch of UTC corrected scale. This change takes place at midnight sharp UTC. General
> recommendations concerning operation of GLONASS receiver upon the UTC leap second correction are given in Appendix 2.

ということで、GLONASS-Mの場合、うるう秒はAlmanacのKPフィールドで通知される。ただ "Time marker of the GLONASS frame string ...change its place (on continuous time scale)" というのは意味が良く分からない。(航法データフレームはUTCに同期して2秒毎なので、うるう秒挿入時には単純に1秒分の無効フレームが挿入されるのかな)。また、Appendix 2に受信機におけるうるう秒補正方法の勧告が示されているのだけど、これも一通り読んだだけでは理解が難しい。受信機によって解釈が異なる可能性があるので、やはり実際の実装がどうなっているか確認が必要そうだ。

-------------------------------------

山本 他, 三次元路線マップを利用した衛星測位による列車位置計測, 鉄道総研報告, 2014年11月号 (第28巻第11号)

GNSSの鉄道応用。鉄道はGNSSの今後の重要な応用分野の一つなので貴重な研究だと思う。条件の悪い環境での高信頼化技術という観点で将来の自動運転等に一部は応適用可能かも。

...................................................................................................................................

2015/01/08

IERS, Bulletin C 49, January 5, 2015

2015/06/30 23:59:59 UTCの後にうるう秒挿入。3年ぶり。うるう秒絡みの色々なシステム試験の機会はなかなかないので、システム屋さんは今のうちから準備をしておいた方が良いだろう。ところで、まだうるう秒無くならないのね。

補足: GLONASS対応受信機がうるう秒でどういう挙動を示すのか興味は持っていたのだけど2012年は調べるのを忘れた。今年は忘れずに調べることにしよう。(23:03追記)

...................................................................................................................................

2015/01/02

S. Carcanague, Low-cost GPS/GLONASS Precise Positioning Algorithm in Constrained Environment, 2013

仏トゥールーズ国立理工科学院の学生さんの博士論文らしいのだけど、テーマ的に過去やってきたこととかなり被るので貼っておく。

-------------------------------------

昨年11月位から必要あってAWS EC2で結構大きな解析を何度も繰り返し流す作業をしている訳だが、色々とノウハウがたまってきたので以下覚書を兼ねて、利用方法をまとめておく。

(1) 使っているサービスは、EC2でファイルサーバ用にc3.xlarge (オンデマンド+EBS最適化, vCPUx4, RAM 7.5GB)、解析サーバ用に c3.x8large (スポット, vCPUx32, RAM 60GB) × 20。EBS 300GB (Magnetic volumes)。AMIはUbuntu Server 14.04 LTS (HVM)。AZはus-west-2b (米国西部オレゴン) 。料金はここ参照。
(2) ファイルサーバには解析用APと入力及び結果データが格納されている。手元のAP開発環境 (ubuntu) からのAPと入力データのアップロード、結果データのダウンロードにはAWS CLIとrsyncを組み合わせたスクリプトを組んでいる。
(3) 使用する場合、AWS webインタフェースを使って、ファイルサーバインスタンスを開始する。また、解析サーバ用スポットインスタンスを20個生成する。
(4) webインタフェースで、スポット要求が受け付けられてインスタンスのstatus checksが2/2 checks passedになるのを確認。大体5分位かかる。確認後手元ubuntuからファイルサーバにSSHログイン。このために、AWS CLIでサーバ検索してログインするためのスクリプトを組んでいる。SSH用暗号化キーは~/.sshに事前に格納。(connect.sh)
(5) ファイルサーバにログインしたら、解析サーバのセットアップ用スクリプトを実行。セットアップ用スクリプトでは利用可能なスポットインスタンスをAWS CLIで検索して、(a) SCPでSSH暗号化キーをリモートコピー、(b) 作業ディレクトリ生成、(c) apt-get update、(d) apt-get install gfortran, sshfs、(e) sshfsでファイルサーバの必要ディレクトリをマウント、を行う。この実行に2〜3分。(setup.sh)
(6) 解析ジョブを解析サーバで並行投入するスクリプトを実行。このスクリプトでは引数を変えて解析APをSSH実行する。現在のところ、1インスタンスあたり最大5プロセス並列実行する様にしているので、最大100並列実行される。(execx.sh, execp.sh, svrlist.sh)
(7) 解析が終了すると、ファイルサーバの結果ディレクトリに解析結果がたまるので、これを手元ubuntuの結果ディレクトリに定期的にrsyncでダウンロードする。(downebs.sh)
(8) 全部終わったら全スポットインスタンスをterminateするスクリプトを実行。ファイルサーバもsudo shutdown -h nowでstop。webインタフェースで終了を確認。

以上で流しているのは某APによる約2年分の某GNSS衛星軌道決定問題なのだが、最初のうちは全部で4-5時間はかかっていた。現在は全部で1時間以内、CPU利用効率も75-80%は出ている。利用料金はファイルサーバ $0.23/H、解析サーバ $0.3〜0.4/H×20=$6〜8/H、EBS $15/month。 参考のため以上で使っているスクリプトも少し内容変えてアップしておく。

補足: 100並列で動かすとファイルサーバがボトルネックになりそうだが、今のところCPU負荷は50%程度である。ただファイルアクセス負荷を下げるために、事前に入力データ (RINEX) からCONVBINを使って解析に必要なデータタイプのみ抽出している。これは全体の実行時間削減にかなり効いている。というかRINEX格納効率低すぎで、大規模解析のボトルネックになっている。(11:23追記)

再補足: StarCluster。AWS上のクラスタ計算用ツールキット。これを使えばおなじ様なことが簡単にできるかも。(17:37追記)

...................................................................................................................................

2015/01/01

新年明けましておめでとうございます。今年も一年ご愛顧を。

...................................................................................................................................

〜2014/12/31


Home by T.Takasu