OSQZSS

オープンソース準天頂衛星(QZSS)受信機

Orbitronで楽しもう

2014-08-20 22:22:38 | 小型衛星
ちょっとオフトピックかもしれませんが,位置情報ということで
Orbitronでほどよし衛星の軌道を眺めて楽しもうという記事です.

ほどよし衛星を始め,低軌道衛星の軌道情報はTLE(Two-Line Elements)という
フォーマットで公開されています.

wikipedia:Two-line element set

このTLEから衛星軌道を計算し,地図上にプロットしてくれるソフトウェアがあります.
その中のひとつが,Orbitronです.

現在時刻の衛星位置をGoogle Maps上にリアルタイムで表示してくれるサイトもありますが,
Orbitronであれば,未来の衛星位置も予測することができます.

衛星軌道から撮影された地上の画像を次々とアップしているほどよし衛星が,
次はどこを撮影するのだろうと予想しながら楽しむことができます.

Facebook: hodoyoshisat

Orbitronのインストーラは,下記のサイトからダウンロードできます.
現時点でのバージョンは,3.71です.

Orbitron: Downloads

ついでに,World mapsからColoured HiResをダウンロードしておきます.

インストーラを起動すると,デフォルトでProgram Filesにインストールしようとします.
しかし,TLEのアップデートなど,定期的にファイルを上書きする必要があるため,
書き込みに管理者のアクセス許可を必要とするフォルダは不便です.

そこで,インストール先には,C:\Orbitronなど,アクセスが自由なフォルダを
指定することをお勧めします.

 (クリックで拡大)

インストール後にOrbitronを起動すると,まずTLEが古いのでアップデートするかどうか
質問されます.ほどよし衛星以外の衛星までアップデートされますが,とりあえず全て
新しくしておきます.

また,デフォルトでフルスクリーン表示ですが,画面右上をクリックするとメニューが表示され,
フルスクリーンモードを解除することができます.

さて,デフォルトの画面はこんな感じです.ここから少しずつ設定を好みに合わせて行きます.

 (クリックで拡大)

まずは,画面下部のタブからVisualisationをクリックし,描画の設定を変えてみます.
個人的にはこんな感じ.

 (クリックで拡大)

次にLocationタブをクリックしてTokyoを選びます.
さらに,マップ上をクリックして動かし,Tokyoを中心に持ってきました.

 (クリックして拡大)

マップがデフォルトのBlueではなんとなく寂しいので,インストーラと一緒に
ダウンロードしたColoured HiResに差し替えます.

まず,ダウンロードしたcoloured-hr.zipを解凍し,World-Coloured-HiRes.bmpを
Orbitron\Dataフォルダにコピーします.

次に,Mainのタブに戻り,工具のイラストのアイコンをクリックして,Setupを開きます.
ここで,World mapのタブをクリックし,PresetにUserを,Map imageにColoured-HiResを選択します.

 (クリックで拡大)

これで,メイン画面のマップが高解像度のカラー画像になりました.

 (クリックで拡大)

さて,これでやっと,ほどよし衛星の軌道をプロットする準備ができました.
画面右のLoad TLEボタンをクリックして,TLEフォルダからresource.txtを選択します.
このファイルの中に,ほどよし衛星のTLEが記録されています.

 (クリックで拡大)

resource.txtをロードすると,Satellitesタブの中にHODOYOSHI-3とHODOYOSHI-4が見つかります.
これらをチェックすると,マップ上に軌道がプロットされます.

 (クリックで拡大)

デフォルトでは現在時刻の衛星位置を表示していますが,ModeをReal timeからSimulationに
切り替えることで,任意の時刻の衛星位置をプロットすることができます.

しかし,TLEはあくまでも予測軌道であり,あまり先の軌道を予測すると精度が低下します.
また,TLEファイルも定期的にアップデートしなければなりません.

デフォルトでは,すべての衛星のTLEをアップデートする設定になっていますが,
とりあえずは,ほどよし衛星が含まれるresource.txtのみで十分です.
TLEのアップデートは,SetupのTLE updaterタブで設定することができます.
例として,ここではresource.txtのみをアップデートするグループを作成しています.

 (クリックで拡大)

Satellitesタブで複数の衛星を選択しても,マップ上にプロットされる軌道はひとつだけです.
プロットする衛星は,Show nextボタンをクリックすることで,切り替えることができます.

さらに,Dataタブをクリックすると,現在選択されている衛星の軌道データが表示されます.
例えば,緯度・経度情報からGoogle Mapsにマーカーを表示させることで,ほどよし衛星が
どこに居るのか,詳細な位置を知ることができます.

Googleマップ座標取得

衛星がどこを飛んでいるのか,軌道を眺めているだけでも不思議と楽しいです.
コメント

Raspberry PiでNTPサーバー

2014-08-11 15:54:03 | 小型衛星
某小型衛星の運用局は,セキュリティの関係でインターネットには接続されていません.
運用局のPCやデータサーバーの時刻同期に外部のNTPサーバーにアクセス出来ないのは
とても不便なので,Raspberry Piを使ってLAN接続のNTPサーバーを作成してみました.



まず,GPS受信機のPPS信号に同期するNTPサーバー用にリビルドされた
Raspbian wheezyのイメージを下記のサイトからダウンロードします.

Raspberry Pi NTP server image

次に,このイメージをWin32 Disk ImagerでSDカードに書き込みます.

準備はこれだけのようです.SDカードをRaspberry Piに差し込み,電源を入れれば
NTPサーバーとしてbootしてくれます.

/etc/ntp.confの設定などは,下記のサイトを参考にしました.

5 minute guide to making an GPS synchronised NTP Server based on a Pi
GPSのPPS信号を使った Stratum-1 NTPサーバの作り方
Raspberry PiでNTP Stratum 1サーバーを作る

ntpq -qでNTPサーバーの動作を確認すると,こんな感じ.

 (クリックで拡大)

これで良いのかな?
とりあえず,運用局PCに接続してみよう.

【追記】STM32+ubloxのNTPサーバーが販売されていた.

Laureline GPS NTP Server

地味にRaspberry Piの発熱が気になっていたので,STM32の方が消費電力は少なそう.
あと,オンボードのクロックもTCXOか.
ケースも付いてこの値段なら,こちらの方がお買い得だな.
コメント

測位アルゴリズムの改修

2014-08-02 19:26:55 | 小型衛星
サマースクールの合間に,小型衛星用GPS受信機
測位アルゴリズムを改修.ダイナミクスに制限のある
カルマンフィルタではなく,シンプルに最小二乗法を
実装しました.

GPS信号シミュレータの衛星シナリオで試験したところ,
Radial方向のオフセットがほぼ解消されました.

まだRadial方向とTangential方向に数十cmほどの
オフセットがありますが,これを取り除くとなると
大赤字大改修になりそうなので,これで良しとします.

 (クリックで拡大)

 (クリックで拡大)

もちろん,ロケットでもいける!

 (クリックで拡大)

 (クリックで拡大)

自作受信機の意味ねーな.
コメント

衛星軌道での測位精度

2014-07-27 10:19:22 | 小型衛星
どうやらこの受信機,測位演算が最小二乗法ではなく
カルマンフィルタのようだ.

もともと車程度のダイナミクスを想定しているため,
衛星軌道での速度となると,不要なオフセットが発生してしまう.

確認のために,GPS信号シミュレータで太陽同期軌道のシナリオを実行.

 (クリックで拡大)

ファームウェアの改修で随分とオフセットが減少したけれど,
まだ数mほどradial方向に残っている.
ここまできたら,これも何とかしたい.

 (クリックで拡大)

それでも,衛星軌道でのコールドスタートで,
1分以内に測位が開始されるのはすばらしい.
これだけでも,かんばる価値がある!
コメント

Summer School on GNSS

2014-07-17 19:11:19 | 小型衛星
小型衛星用GNSS受信機の開発でメールをやり取りしている
エンジニアが,測位航法学会が開催するサマースクールに
参加することを知った.

測位航法学会:Summer School on GNSS 2014

メールではお互いにニックネームで呼び合っていたから
気が付かなかったよ!

受信機ファームウェアの開発をがっつりやっている方なので
会うのがとても楽しみ.

メールのやり取りだけではなかなか進まない改修作業が
一気にはかどるかも.
コメント

小型衛星用GPS受信機

2014-07-05 18:10:04 | 小型衛星
これまでにも市販品を改造したり,FPGAで受信機を開発したりして
みたけれど,サイズも消費電力も,CubeSatのような超小型衛星に
搭載するには大きすぎて,なかなかフライトのチャンスがありません.

最新のチップセットで,小型で省電力な衛星搭載用GPS受信機を
入手したいという欲望に勝てず,ついにメーカーと交渉して特別な
ファームウェアの受信機モジュールをロットトレイで発注するという
暴挙にでてみました.



早速インターフェイス基板を設計してGPS信号シミュレータで
試験したところ,衛星高度でも問題なく測位しています.

信号補足も地上と同じくらいに早く,コールドスタートからでも
測位まで1分程度です.



さすがメーカー製,測位性能がすばらしい.

さて,次は放射線試験だ.
コメント

ハルロック

2014-06-19 16:08:54 | みちびき
これは!
20年ぶりくらいでモーニングを買うことになるのか?



はるちゃんがRAWデータを取るようになったら,単行本買うよ.

【追記】ところで,デート実現装置に組み込まれたGPS受信機は
どのモジュールだろうか?秋葉原で買いそうなイメージだけど,
秋月が扱っているモジュールでQZSS対応は見当たらない.

秋月電子通商:GPS(全地球測位システム)・GPSデータロガー

QZSS対応で広く出回っているチップとなるとMediaTekのMT3339だろう.
日本で入手するとなると,スイッチサイエンスで扱いのあるLS20031かな?

スイッチサイエンス:LS20031 66チャンネル5Hz GPSモジュール



完全に一致.

コメント

GPSの予算

2014-06-19 08:50:58 | みちびき
Galileo云々はともかくとして,GPSの予算の話は面白い.

ASCII.jp: GPS頼りのリスク─日本の測位衛星事情

興味があったので調べてみたところ,GPS.govのサイトが参考になる.

GPS.gov: Fiscal Year 2014 Program Funding

年間$1.2Bの予算に対して,日本の人口は1.2億人.確かに一人あたり1,000円だ.

しかし,米国の軍事予算が年間$650Bであることを考えると,その程度かという気にもなる.

一方,実用準天頂衛星は,衛星と地上システムの整備で,5年間で1,700億円の予算を計上している.
これは,一人あたり年間300円の計算になる.

内閣府: 「実用」準天頂衛星システムへ

30機以上が運用され,世界中で利用できるGPSが1,000円.
実用準天頂衛星は3機で300円.

そう考えると,あまり良い買い物に思えない.
コメント

MatRockSim+GPSシミュレータ

2014-06-17 20:19:35 | ロケット
@ina111さんが素敵なロケットシミュレータを公開してくださったので,
GPS信号シミュレータ用のモーションファイルを作ってみました.

GitHub: ina111/MatRockSim

愛用しているSpirent社のGPS信号シミュレータでは,車や航空機,
人工衛星にはシナリオのテンプレートが準備されているのですが,
なぜかロケットはありません.

Spirent: GSS8000 GPS/GNSS Constellation Simulator

飛翔体のシミュレーションをするとなると,ユーザが自前で
モーションファイルと呼ばれる位置と姿勢の時系列データを準備して,
それをSimREMOTEというオプションでシミュレータに読み込ませる
必要があります.

Spirent: SimREMOTE User Manual (PDF, 6.6MB)

位置については,MatRockSimがECEF座標系で出力しているので,
そのままモーションファイルに利用できます.

姿勢については,MatRockSimがUp-East-Northのローカル座標に対する
quaternionsを出力するのに対して,GPS信号シミュレータでは,
North-East-Down座標でのheading,elevation,bankで記述します.

ある座標系で定義されたquaternionsを別の座標系から見たものに
どうやって変換するのか,いまひとつ理解できなかったので,
座標変換はあきらめて,ロケットの機体座標系を無理やり一致させました.
そのため,GPS信号シミュレータでは飛行機の背中からにょっきりと
ロケットが突き出したようなビジュアルになります.

ただし,オイラー角がsingularになってしまうケースがあるなど,
姿勢については,まだGPS信号シミュレータ側で工夫が必要です.

ロケットの機体や性能に関するパラメータはなかなか一般に公開されませんが,
宇宙研のM-3ロケットシリーズの機体データがwebに掲載されています.

ISAS: 衛星打ち上げロケットM3-S

この公開データをもとに,ina111さんがMatRockSim用のパラメータファイルを
準備してくださったので,早速,GPS信号シミュレータ用のシナリオを作成して
動作試験をしてみました.

受信機は,いつものようにNovAtel SuperStar II+自作ファームウェアです.



ina111さん向けに開発したファームウェアでは,ublox社のGPS受信機と互換性のある
出力フォーマットを実装しています.そのため,u-centerで観測データのモニタリングや
ログができます.

 (クリックで拡大)

MatRockSimから生成したロケットのシナリオはGPS信号シミュレータで問題なく実行され,
受信機の方もロケットのダイナミクスや速度・高度に関係なく測位できていました.

 (クリックで拡大)

 (クリックで拡大)

これでロケット用GPS受信機の開発が捗る!
コメント

GPS宝探しの遊び方

2014-06-01 10:28:40 | Android
GPS宝探しは,準天頂衛星を含めた衛星測位サービスを利用した位置ゲームです.
宝物を隠す役と探す役の2人で遊びます.
現在位置から宝物までの距離だけを頼りに,宝物が隠された場所を探します.

Google Play: GPS宝探し

準天頂衛星アプリコンテストへの参加作品のため,Nexus 7 (2012) でのプレイに
最適化しています.また,Google Mapsが表示できなくてもゲームはできますが,
より楽しむために,モバイルWi-Fiルーターなどによるネット接続をお勧めします.

ゲームで使う宝物として,おもちゃの金貨や宝箱などのアイテムを準備してください.



まずは,宝物を隠す役が,このアイテムをどこかに隠します.
メインメニューで,「宝物を隠す」ボタンをタップしてください.

 (クリックで拡大)

衛星測位が開始されたら,宝物を隠す場所へ移動します.
隠す場所を決めたら,その場所を秘密のメッセージに入力します.
例えば,ここでは「錨の下」です.





 (クリックで拡大)

その後,宝物を隠した場所の近くで「ここに隠す」ボタンをタップします.
測位精度が十分小さければ,その位置と秘密のメッセージが登録されます.
測位精度が不十分で登録できないときは,宝物の近くを移動してみるか,
宝物を隠す場所を変更してください.

次に,宝物を探す役に交代して,宝探しを始めます.
メインメニューで,「宝物を探す」ボタンをタップしてください.

衛星測位が開始されてから「ここを探す」ボタンをタップすると,
現在位置から宝物までの距離が表示されます.
東へ向かうか,西へ向かうか,この距離だけを頼りに,宝物を探します.



 (クリックで拡大)

ただし,「ここを探す」ボタンをタップできる回数は限られています.
ボタンの下に表示されている残り回数がゼロになると,
宝物を発見できないままゲーム終了です.

宝物が隠された場所に到着すると,隠した場所を示す秘密のメッセージが表示されます.
そのメッセージが示す場所に隠された宝物を発見したら,宝探しは成功です.

 (クリックで拡大)

端末が1台のときは,交代で宝物を隠し,宝物を見つけるまでの「探す」の回数が
少ない方が勝ちになります.端末が2台あるときは,お互いに宝物を隠してから
端末を交換し,相手より先に宝物を見つけるタイムトライアルも楽しめます.

この距離から位置を求める宝探しの方法は,衛星測位と同じ原理になります.
衛星測位の原理を勉強すれば,ゲームに勝てるようになるかもしれません.
コメント