April 02, 2006Open source GPS 計画編少し前にオープンソースGPSの話を記事にしましたが、その後、日本人でオープンソースGPSの開発に関わっている海老沼さんという方からメールを戴き、色々と話を伺うことができました。その中でわかったことは、RF段から挑戦するのは少しハードルが高いということです。
一番目の部分については海老沼さんより、GPS受信機では有名なメーカであるNovatelのSuper Star 2という製品なら簡単にデータを取り出すことができると教えていただきましたので、それでチャレンジしてみることにします。上図はSuper Star 2からデジタルデータを取り出す方法です。 二番目の部分ですが、以前ソフトウェアGPSの本としてFundamentals Of Global Positioning System Receivers: A Software Approachをこのブログで紹介しましたが、この著者の方はレーダーの専門家らしく、実際信号処理方法はFFTしまくる、これは組込みまで考えると一般的な方法ではないとのことです(PCで処理する分には問題ありません)。そこで薦めていただいたのが、精説GPSという本です。実はこの本は持っているのですが、あまり読み進めていませんでした(笑)。 最後にですが、色々と教えてくださった海老沼さんに感謝を表したいと思います。海老沼さん自身は現在、海外製オープンソースGPSのARMへの移植をされています。詳しくはご本人のページをどうぞ。 ※その後、C/Aコードの抽出をしてみました ※※質問を戴いたので、いくつか補足をしておこうと思います。 [フロントエンド(GP2015)とベースバンド処理チップ(GP4020)の関係について] [図にある「Super Star 2」の端子から信号を取り込む方法] [とりあえず、測位計算のみ検討してみたい場合] April 06, 2006たまる電子部品研究の関係で、なかば趣味と化してしまっている電子部品の収集活動。『これは今度、こういうことに使おう!』と意気込んで手配するまではいいのですが、実際遊んでみる時間がなくそのまま放置ということがかなりありました。そこで新年度になったことでもありますし、戒めの意味をこめてこれまでの行いを晒そうと思います。 とりあえず隅々まで調べて列挙するとかなり大変になりそうなので、思い浮かぶ物のみを列挙しておきます。
がんばって消化していきたいと思います。いつになるかはわかりませんが、まずは液晶の予定です。 April 11, 2006JAXA NEXST-1先週の日曜日、お台場の近くにある科学未来館というところに遊びに行ってきました。目的はJAXAの小型超音速実験機『NEXST-1』の実機展示です。実際にオーストラリアで打ち上げられたものを会場で生展示していました。 その他の展示も見てきましたが、興味深いものが多かったです。特別展示の脳の話は体験型学習ができ非常におもしろかったです。 April 15, 2006Open source GPS C/A信号の抽出オープンソースGPSを作ろうという企画ですが、ぼちぼち作業をしています。少し進展がありましたので、その経過報告ということで記事にしてみます。 今回の報告は以前の3段階フェーズ分けに従うと、第2段階の信号処理、つまり受信機用ソフトウェアの段階のことで、その段階の中でもかなりはじめの部分になります。今後、こういった報告記事が続くと思いますので、までは、整理の意味をかねて、GPSの信号処理がどういった段階に分けられるか紹介しておこうと思います。
まず本題に入る前に、C/Aコードについて簡単に説明したいと思います。 C/Aコードですが、実は受信信号を見てもあるのかないのか簡単にはわかりません。感覚的に言えば宝捜しをしているような感じです。 では実際のところどうすればいいのでしょうか? 前の記事で紹介したNovatel受信機から取り出したデータをこの方法で処理しC/Aコードの有無を調べてみました。図はその結果を示したものです。 April 18, 2006室内飛行機 航法系の検討訳あって、体育館などの室内で飛ばせる模型飛行機の自律飛行を検討しています。室内で飛ばせる、というのが非常に制約になっていて、まず機体が小さくなければいけません。重さでいうと、全体の重量では150g以下、制御用のハードウェアに割り当てられる重量は最大でも50g程度、と軽いものでなければいけません。そしてGPSといった便利なものを使うこともできません(予算の関係で、室内用のLocal Positioning SystemはNG)。 目標としては、室内で旋回飛行等の簡単な自律飛行ができればよいとのことで、また模型飛行機の制御用の数値モデルはある程度推算することができる予定なので、問題となるのは制御系ではなく、現在の位置や姿勢を求める航法系の部分になります。ということで、航法系を検討することになりました。 まず1つは機体に超音波センサと加速度計を搭載するプランです。超音波センサによって壁までの距離、つまり旋回のタイミングを計測し、かつ加速度計で重力方向をみることによって機体の姿勢を推定しようという作戦です。 もう1つはビデオカメラを使用して、機体の外部から位置や姿勢を推定してあげようというプランです。まず、機体にマーカーをいくつかつけておき、それを左右に配置した2台のビデオカメラから撮影して三角測量を行うことにより位置や姿勢が推定できるのではないか、と考えています。ビデオカメラ自体は幸い近くに何台かDVカメラがあり、また動画の処理についてもFirewireでパソコンと接続し、DirectShowのAPIを叩けばできそうな感じがしています。DirectShowの参考ページとしては、DirectShowのビデオキャプチャプログラミングやDirectShowプログラミング [VC++]がありました。 もしこれらの方法についてご感想・ご意見あれば是非コメント戴きたく思います。また、これら以外の方法も大募集中です、是非お教えください。 ※その後、プロポとPCを接続して飛行機を制御する方法を検討しています。 April 23, 2006Mother3
[Timely]
まずストーリーですが、惜しみなく糸井重里ワールドが展開されています。現代のゲームにみられるような派手な演出はまったくなく、のほほんとした中に非日常的な事件がおきるという、昔のゲームの箱庭感がプンプン臭っています。ゲームをしていると知らないうちに引き込まれてしまっている、というわけです。 グラフィックについては従前どおり、3次元を見下ろした感じの平面になっています。こういった現代のゲームから見れば非常にチープな感じも、箱庭的なストーリーを強調するのに一役買っていると思います。 音楽も楽しいですね。音楽に絡んだ話なのですが、新しいシステムとしてサウンドバトルというのが面白いですね。このシステムを簡単に説明すると、リズムにあわせてボタンを押すと、戦闘時のダメージが増えていくというシステムです。RPGなのにポンポンAボタンを叩いている、そのゲームは間違いなくMother3です。 待たされたのを十分に満足させる出来だと思います。結論をいってしまえば、皆さん是非やりましょう、ということです(笑)。 April 28, 2006Rubyでgnuplot
[Computer]
最近グラフを書く機会が多いのですが、ただ単純にデータファイルをプロットすればいいという単純な作業はむしろ少なく、データファイルを読み込んでそれから何がしかの計算をした結果をグラフとして出力するという少々込み入った作業が大半を占めています。いちいち中間ファイルを作ると後からみてわけがわからなくなるので、できるだけ計算とグラフ描画はひとつの処理としてまとめてしまいたいと考えました。そこでRubyからgnuplotをコントロールすることを考えました。 以前『リアルタイム Gnuplot』と称してC++からGnuplotに(擬似)リアルタイム描画させるということを紹介しましたが、今回も基本コンセプトは同じで、RubyからパイプでGnuplotにコマンドを発行してやり、グラフを描画することになります。しかしC++のときのように一から作りこむ必要はなく、そのような用途向けのライブラリが既にRubyにはあります。今回はそのライブラリの一つであるRgplotというものを試してみました。 RgplotのExamplesにあるとおり、非常に簡単にデータをグラフ描画させることができます。 class Gnuplot
あとはdef Gnuplot::plot_eps file_name #2次元プロット Gnuplot.open{|gp| Gnuplot::Plot::new(gp){|plot| plot.terminal "postscript eps enhanced color" plot.output file_name yield plot } } end def Gnuplot::splot_eps file_name #3次元プロット Gnuplot.open{|gp| Gnuplot::SPlot::new(gp){|plot| plot.terminal "postscript eps enhanced color" plot.output file_name yield plot } } end end Gnuplot::plot_eps(file_name){|plot| データの設定等の処理}
すればfile_nameで指定したファイルにepsが吐かれます。現在これを利用して快適にepsファイルを作成しています。
|
かれんだ~
スポンサード リンク
|