goo blog サービス終了のお知らせ 

南十字星からアジアQZSS(日)/IGSO(中・印)を眺める

グローカルイースト視点
アジアQZS/IGSO軌道モニタ
高橋冨士信fj鷹@gmail.com

ロケットシュミレータについてPython学習作業と結果

2017年01月26日 | 地球/宇宙
昨日の以下のブログ:
「C++等の知的資産をPythonから使用する方向へと舵を切る時期だろう」にて紹介した中久喜 健司氏力作の著書である「科学技術計算のためのPython入門」の中のロケット打ち上げシュミレータrocket.pyについてのコード作成作業とその結果を以下に記録する。

初めて知ったのだが、IPython Notebookというツールで実行しながら、その実行記録ノートを図面まで含めてWEB用に出力し履歴として残せるのである。当方はいままでリアルなA4ノートにコードや出力図面を貼って記録してきた人間なので、この便利さには非常に驚いた。
Pythonの世界では便利ツールなどのあらゆることが、この数年で驚異的な進捗が起きている印象である。

実は21世紀に入って、Python言語をより一貫した哲学で統一するために、バージョン3系から同2系以前に対して、かなりの互換性を損ねる進化が行われた。そのことが特に日本ではPythonの印象を悪くして、Pythonに対する抵抗感を生んできたといわれる。

しかしここ数年で一気呵成に精力的なPython3環境の充実と統一化を目指す共同作業が進んだ。安心して3系が使えるというよりも、いまや3系でこそ最新の機能・ツールが使えるようになったようである。書店ではPython2系の書籍と3系の書籍が混在しているが、和書でも2015年後半の初版のものからは、3系に切り替わっているので、テキストとしては3系のものを選択すべきであると力説されている。Anacondaというパッケージをインストールすれば主要な道具立ては3系で統一的に準備できる。

本書の指示通りに以下のロケットシュミレータrocket.pyについての作業を進める。やはり実地に学習作業することでリアルにPythonでの開発作業の仕組みがわかってくる。いまや定石となったコード保守履歴管理用のGitHubに、当方はこの際登録したが、登録しなくても、以下URLからの公開ダウンロードでも作業は問題なく可能である。
https://github.com/pyjbooks/PyRockSim
からのPyRockSim-master.zipをダウロード解凍した中のrocket.pyというPythonコードについて、IPythonにて次のコマンドを打つとBasemapパッケージのみがみつからないとのこと。
In [6]: run rocket.py

そこで、Windows版のBasemapパッケージを、
http://www.lfd.uci.edu/~gohlke/pythonlibs/#basemap
からwin_amd64版をダウンロードして、以下のようにpip installする。

>pip install basemap-1.0.8-cp35-none-win_amd64.whl
Processing e:\basemap-1.0.8-cp35-none-win_amd64.whl
Installing collected packages: basemap
Successfully installed basemap-1.0.8

IPythonに戻って次のコマンドを打つと
In [7]: run rocket.py

C:\Users\Anaconda3\lib\site-packages\matplotlib\font_manager.py:1288: UserWarning: findfont: Font family ['IPAexGothic'] not found. Falling back to Bitstream Vera Sans(prop.get_family(), self.defaultFamily[fontext]))

と警告はでるが正常に実行されて以下の7枚のグラフ・図面が出力される。初期パラメータのままであるので、自分でパラメータを変更して、ロケットの発射と軌道をシミュレートできるというわけである。

まだグラフ表示の縦軸・横軸の日本語が化けてます。原因究明しています。

Fig_1_-_位置(ned)


Fig_2_-_速度(ned)


Fig_3_-_quaternion


Fig_4_Roll.Pitch.Yaw


Fig_5_-_質量


Fig_6_-_緯度・経度・高度


Fig_7_-_位置(地図)


このテキストの指示に従って、いろいろとパラメータを変更して図面やグラフを出すと、内之浦(この例では種子島ではない)でのロケット打上げの気分を味わえますよ。またデバッグツールの3段階の使い方も勉強になります。

ご参考までに。
この記事についてブログを書く
« 「RAIJIN 雷神」発売日再延期... | トップ | [速報] CES 2017にてQZSS対応... »

地球/宇宙」カテゴリの最新記事