OSQZSS

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

速度・高度規制の廃止

2014-10-28 14:13:56 | 小型衛星
GPS/GNSSシンポジウムの午前の部で,衛星測位システム協議会の穴井様から,
第52回CGSIC会議の報告がありました.

この中で衝撃的だったのが,ITAR規制品のリストであるUSML(United States Munitions List)から
GPS受信機の速度・高度規制が廃止されるという情報です.

早速調べてみたところ,2014年5月13日のFederal Registerの報告で,
GPS受信機に関するCategory XVの制約が,次のように改定されていました.

(c) Global Positioning System (GPS) receiving equipment specially designed for military
application, or GPS receiving equipment with any of the following characteristics, and
specially designed parts and components therefor:

(1) Specially designed for encryption or decryption (e.g., Y-Code) of GPS precise
positioning service (PPS) signals (MT if designed or modified for airborne applications);

(2) [Reserved]

(3) Specially designed for use with a null steering antenna, an electronically steerable
antenna, or including a nullsteering antenna designed to reduce or avoid jamming signals
(MT if designed or modified for airborne applications);

(4) Specially designed for use with rockets, missiles, SLVs, drones, or unmanned air
vehicle systems capable of delivering at least a 500 kg payload to a range of at least
300 km (MT if designed or modified for rockets, missiles, SLVs, drones, or unmanned
air vehicle systems controlled in this subchapter).

今回,Reservedとなった(2)ですが,改定前は以下のように,高度と速度が規制されていました.

(2) Designed for producing navigation results above 60,000 feet altitude and at
1,000 knots velocity or greater;

これで,普通に衛星やロケットに搭載できるGPS受信機が購入できるようになるのでしょうか?

あれ?カスタム品への投資はどうなるの?

【追記】高度・速度制限の廃止については,以下の資料で紹介されています.

CGSIC Plenary Session: U.S. National Space-Based PNT Update

該当ページの抜粋はこちら.施行は2014年11月10日から.

 (クリックで拡大)
コメント

piNAV-L1 CubeSat GPS Receiver

2014-10-26 23:24:57 | 小型衛星
CubeSat向けのGPS受信機で,こんなものを発見.

SkyFox Labs: The World's First Ultra Low Power CubeSat GPS receiver piNAV-L1

大きな写真はこちら

Contact情報を見てみると,どうやらWitch Navigatorと同じ開発チームらしい.

見た目は普通にFPGAベースの受信機だけど,消費電力が120mWというのは
ASICの受信機モジュールなみだ.何を載せているのだろう?

15チャンネルで信号捕捉エンジンもないのに,コールドスタートからのTTFFが
軌道上で5分以下というのも,ちょっと信じ難い.

FMで$7,450と,微妙なお値段.これなら,もう少し出してNovAtelのOEM6を選ぶかな.

【追記】ちなみに,CubeSat KitのOEM6の値段は$7,980.ただし,消費電力は1W以上.

Pumpkin Price List: GPSRM 1 GPS Receiver Module Kit
コメント

USBシリアルとGPS受信機の相性

2014-10-16 11:53:45 | みちびき
GPS受信機ユーザのあるある.

GPS受信機のシリアル出力をUSBシリアル変換でUSBポートに接続すると,
シリアルマウスと認識されてイラッとくる.

いまひとつ発生する条件が不明なのと,解決手段がよく判らない.

とりあえず,これを試してみよう.

Microsoft Community: Windows 7 recognized USB GPS as a serial Mouse in Windows 7
コメント (2)

RTKGPS+

2014-09-30 10:01:31 | RTKLIB
Android版RTKNAVIのRTKGPSがRTKGPS+として復活!

Google Play: RTKGPS+

作者は違うけど,ほぼオリジナルを引き継いだ感じ.
GitHubでソースも公開されているので,後でビルドしてみよう.

早速インストールしてCHOFに接続してみました.

 (クリックで拡大)

 (クリックで拡大)

 (クリックで拡大)

RTKGPS+のマップ表示では,外付けのSDカードがなくても
タイルがダウンロードされるようです.

MADOCAプロダクトでPPPも試そう.

【追記】PPPの精度に効いてくる疑似距離誤差の設定がRTKGPS+では
見当たらない.ANTEXやPCVの選択もできないようだ.

しばらくMADOCAプロダクトを使ってPPPモードで動かしてみたけれど,
1メートル程度の測位誤差でふらふらしている感じ.

OpenStreetMapのズームも,PPPのばらつきが判るほど拡大できない.
RTKPLOTに相当する表示機能がないのが残念だ.
コメント

MADOCAプロダクトでPPP

2014-09-29 12:28:32 | みちびき
JAXAが開発を進めているGPS+GLONASS+QZSSの精密軌道・クロック推定システムである
MADOCAによる補正データのネットワーク配信が始まりました.

QZ-Vision: MADOCAプロダクトリアルタイムインターネット配信開始のお知らせ

誰でもアクセスできますが,ユーザ登録が必要です.
MADOCA Real-Time ProductsサイトのApplicationのページからApplication Formを
ダウンロードし,必要事項を記載してサポートディスクにEmailで送ります.

同ページでRTKNAVIによるMADOCAプロダクトの使い方も紹介されていますが,
個人的にメモを残しておきます.

基本的には,IGS Real-Time Serviceなど,他のNtripによる配信サービスと同じです.

Input StreamsとしてRoverには,MGEX局である調布(CHOF)を選びました.



CorrectionにMADOCAのmountpointのひとつであるMDC1を選びます.



MADOCAに含まれる精密軌道は,ephemerisに対する補正データなので,
何らかの形でephemerisも受信しなければなりません.CHOF局のRTCMは
観測値だけでephemerisは含まれていないため,Base Stationsとして
RTCM3EPH-MGEXを選び,ephemerisもネットワーク経由で受信します.



Optionsの設定は,Applicationページに紹介されていたマニュアルを
参考にしました.









Filesタブにおいて,igs08.atxにはGPSやGLONASSのアンテナ位相中心の
情報が含まれています.このファイルは,National Geodetic Surveyの
ANTCALで公開しており,RTKLIBのDataフォルダにも入っています.

一方,Roverのアンテナ位相中心の情報を含む.pcvは,受信アンテナに応じて,
ユーザが準備する必要があります.代表的なアンテナについては,
RTKLIBのDataフォルダに入っているngs_abs.pcvを使うことができますが,
CHOF局のアンテナであるTrimbleのTRM57971.00は含まれていません.

これら受信局アンテナのPCVは,ANTCALでANTINFOとして公開されています.
TrimbleのリストからTRM57971.00のANTINFOを検索し,madoca.pcvという
ファイルを作りました.

.pcvにリストアップされている受信局アンテナは,Positionsタブの
Antenna TypeでAutoを選択しておくと,RTCMに受信局のアンテナ情報が
含まれていれば,自動的に選択してくれます.

しかし,今回はCHOFのアンテナタイプが判っていますので,
プルダウンからTRM57971.00を選んでいます.

これで準備完了です.Startボタンをクリックして,測位を開始します.

 (クリックで拡大)

みちびきも観測されていますが,RTCM3EPH-MGEXからは
ephemerisが取得できず,測位には使われていません.

24時間動かしてみた結果は,こちら.

 (クリックで拡大)

何とも言えない微妙な精度です…
悪くはないけれど,センチメートル級と呼ぶのは躊躇します.

12時と24時に30分ほどデータ配信が停止するのも気になるところ.
今後のアップデートに期待しています.

折角のネットワーク配信なので,もっとユーザが増えて,
いろいろな環境での測位結果を公開して欲しい.

【追記】測位誤差をプロットする際のCHOFの精密位置は
三鷹の電子基準点を使って,RTKで求めています.

緯度:35.674544543 [度]
経度:139.531062059 [度]
高度:93.9147 [m]

【追記2】taro君のアドバイスに従い,Code/Carrier-Phase Error Ratioを
1000に変更して,再挑戦してみました.



RTKLIBでのPPPの実装はカルマンフィルタを使っているため,疑似距離の
観測誤差を大きく(重みを小さく)しないと,PPPの結果が疑似距離誤差に
引っ張られてしまうようです.

新しい設定での結果が,こちら.

 (クリックで拡大)

時々補正データが途切れていますが,解が収束すると水平方向は+/-10cmに,
鉛直方向は+/-20cmに収まっています.Ambiguity resolutionをOFFにしている
ことを考えると,十分な性能です.

微妙な精度なんて言って,ごめんなさい.
コメント (2)

Space Capable Miniature GNSS Receiver

2014-08-30 15:34:51 | 小型衛星
鋭意開発中の小型衛星用GPS受信機ですが,実はGLONASSにも対応した
GNSS受信機だったりします.

GLONASS対応の動作確認をどうしようかと悩んでいたところ,SPIRENT
ご厚意で,マルチGNSS対応のシミュレータを試用させていただきました.

GSS6700: Multi-GNSS Constellation Simulator System

ちなみに,シミュレータでGPSの軌道を設定する際にはYUMA almanacを使いますが,
GLONASSの場合はAGLというフォーマットのalmanacファイルが以下のFTPサイトから
ダウンロードできます.

ftp://ftp.glonass-iac.ru/MCC/ALMANAC/

すでに,GPSシミュレータで使用したシナリオがあるので,追加するのはこれだけ.
早速,受信機を繋げて試験開始です.



この圧倒的な衛星数!

 (クリックで拡大)

しかし,残念なことに,GLONASSのinter-frequency biasesが原因でGPSのみの結果
比較して測位精度は劣化します.衛星軌道では,可視衛星が頻繁に切り替わるため,
測位誤差もその度に大きく変化します.

 (クリックで拡大)

それでも各軸6m以下の位置誤差なので,実用上,小型衛星の運用には問題ないレベルです.

もちろん,ロケット搭載を考慮したハイダイナミクス対応も健在.観測ロケット程度の
軌道では可視衛星がほとんど変化しないために,測位誤差もほぼ一定です.

 (クリックで拡大)

可視衛星数と測位精度のどちらを優先するのかは,ミッションごとのトレードオフかと
思います.常に姿勢が地球指向で,GNSSアンテナが天頂を向いている衛星であれば,
周りに障害物のない衛星軌道ではGPSだけでも十分な衛星数が確保できます.

しかし,小型衛星には姿勢の安定しないものが多く,可視衛星数も大きく変化します.
例えば,衛星が90度傾き,アンテナが水平線を向くと,単純に衛星数が半分となります.
こうなると,GPSのみでは,十分な可視衛星が確保できなくなります.そんなときに
GLONASSも使うことができれば,姿勢によらず安定した測位が可能になるかもしれません.

また,ロケットのように,構造的にアンテナの設置場所が制限されるプラットフォームでは,
十分な可視衛星を確保するために,GLONASSも使用した方が有効です.

さて,これでほぼ機能的にはspace "capable"なGNSS受信機が完成しました.
受信機モジュールのサイズは17mm×23mm,消費電流は3.3Vで50mAと小型・省電力.
これでGPSとGLONASSに対応と至れり尽くせりです!
コメント

衛星運用局用NTPサーバ

2014-08-28 15:33:27 | 小型衛星
Raspberry PiとGPS受信機を使ったNTPサーバが無事に動いたので,
小型衛星の運用局に設置してきました.

自作のublox基板を使う予定だったのですが,ケースに納まるように,
市販のキットを購入しました.

habsupplies: Raspberry Pi GPS Addon Board

2機の小型衛星を同時に運用していますが,運用局サーバはそれぞれ
独立しているため,NTPサーバも2台準備します.



ケースはRSオンラインで購入しました.高さ方向に余裕があり,
GPS受信機基板を納めるのに丁度良いです.

RSオンライン: Raspberry Pi Type B ケース

アンテナのケーブルを通すために,LANとUSBポートの間の仕切りを
カットしました.ケースの素材も柔らかく,加工は簡単です.



SDカードに書き込んだRaspbianのIPアドレスは,デフォルトでDHCPと
なっているので,これを固定IPに変更します.

$ sudo emacs /etc/network/interfaces

設定ファイルのiface eth0 inet dhcpのラインを,例えば以下のように
書き換えます.

iface eth0 inet static
address 192.168.2.15
netmask 255.255.255.0
gateway 192.168.2.1


これでRaspberry Pi側の準備は整いました.運用局のLANに接続します.



ところが,設定した固定IPにSSHでログインしてntpqで動作を確認したところ,
サーバ名の先頭に何も記号が表示されず,いつまで経っても同期しません.

どうやら一旦電源を落としたため,Raspberry Piのクロックが現在時刻とは
大きく異なる値に初期化されているようです.そこで,クライアントの時刻を
dateコマンドで設定し直します.

$ sudo date --set 2014-08-28
$ sudo date --set 15:33:27


ntpdを再起動してしばらく待つと,GPS受信機のNMEAとPPSに同期できました.

同様に,運用局サーバからも,ntpdateで時刻を設定することができました.

$ sudo ntpdate 192.168.2.15

このとき,ntpdが動作しているとthe NTP socket is in use, exitingという
エラーが表示されます.この場合は,一旦ntpdを停止させます.

$ sudo /etc/init.d/ntpd stop

これで運用局サーバでもntpdで時刻同期ができるかと思ったのですが,
どうも上手く動いてくれません.ntp.confの設定がどこか間違っていると
思うのですが,いまのところ原因不明です.

接続しているNTPサーバはどうせ1台なので,デーモンを常駐させるより,
cronで定期的にntpdateを実行した方が良いのかな?

【追記】しかし,habsuppliesのGPS基板は,ちょっと高い.
1ポンドが170円くらいだから,約6,800円.
Aliexpressで格安のNEO-6Mが1,000円以下で購入できるので,
自作した方が安かったな.
NEO-6Mなら,unofficialなコマンドでrawデータも出力できるし,
RTKLIBでも楽しめそうだ.

【追記2】基板を作ることになったら,I2C接続のRTCも搭載しよう.
コメント

GPS+BeiDouの1周波RTK

2014-08-25 12:21:52 | RTKLIB
ほぼデバッグ要員として開発のお手伝いをしていた
SkytraqのRAWデータ対応GPS+BeiDou受信機で,
何とかRTKが動くようになってきました.

実験の結果が,NavSparkのblogで公開されています.

NavSpark Blog: Single Frequency Receiver RTK Result Comparison

受信機モジュールの型番はS1722F8-BD-RAW.
実験で使ったRTKLIBは,BeiDouの出力フォーマットに
対応したカスタム版です.

そのうち,GitHubでmergeとかできるのかな?
コメント

Galileo衛星打ち上げ失敗

2014-08-24 12:37:17 | みちびき
8月22日に打ち上げられた2機のGalileo衛星が,軌道投入に失敗したようです.

Arianespace: Galileo satellites experience orbital injection anomaly on Soyuz launch
sorae.jp: ソユーズ・ロケット、ガリレオ衛星の打ち上げに失敗 予定軌道を大きく外す

celestrakから,これら衛星の軌道要素が公開されていたので,
Orbitronで軌道をプロットしてみました.

まず,正常なGalileo衛星の軌道として,E11をプロットしてみます.

celestrak: NORAD/elements/galileo.txt

 (クリックで拡大)

次に,軌道投入に失敗したGalileo衛星の軌道をプロットしみます.

最近30日間に打ち上げられた衛星のTLEファイルの中で,衛星カタログ番号の
40128Uから40130Uが,2機のGalileo衛星とFregatと呼ばれるソユーズの
上段部になります.

celestrak: NORAD/elements/tle-new.txt

 (クリックで拡大)

これはひどい…

すでに打ち上げられていた4機の内,E20に不具合が発生して
信号が停止したり,他の衛星も信号強度が低下したりと,
何かとトラブル続きのGalileoですが,今回の失敗で計画が
さらに遅れそうです.

【追記】ちなみに,Galileo衛星を搭載したFregat上段部はこんな感じ.

Arianspace: Integration of the "upper composite" is underway for Arianespace's August 21 dual-passenger Soyuz mission

そして,分離のイメージイラスト.


(c) ESA
コメント

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マップ座標取得

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