能代宇宙イベント2014

1ヶ月前の話しですが、8月17日に能代宇宙イベントに行ってきました。

NoshiroSpaceEventLogo

学部生の時に有人ロケット研究会の方々と一緒に見学に行ってから連続で5回目の見学or打ち上げです。今回はちょっとすごいロガーが正式に学生のハイブリッドロケットの標準搭載品として採用されたので見学+サポートに行きました。

能代宇宙イベント2014

 

ロガーのリファレンスとして

能代ちょっとすごい

能代宇宙イベントでは学生が自らの手でロケット(やCanSatなど)を製作して飛ばしています。短期間ですごく色々が身につく面白いイベントです。能代宇宙イベント(のロケット側)はエンジンの開発運用や機体の製作、打ち上げまで大変色々やることがあって楽しいですが、その中でログを取るというのが一つ大事な要素としてあります。

  • 自分たちの作った機体がどこまで飛ぶのか、それは安全な範囲内なのか、物理の問題を解くように計算する「飛翔計算」
  • 打ち上げた機体がどこまで飛んでいき、どのように飛んでいったのか計測する「データロギング」(これが進むと機体の制御も・・・)
  • 計測結果や観測結果から振り返り作業そして次の開発のための「解析」

それぞれの段階があり、その中でも「データロギング」に「ちょっとすごいロガー」必要だと認められました。

各大学の学生が思い思いに作った電子基板のロギング装置はそれはそれで技術の修得にとても有意義ですが、計測したものが正確なのか、他のところと比べてどうだったのか?などわからない状態でした。それを解決するために計測データのリファレンスとして「ちょっとすごいロガー」を使ってもらいました。

イベント主催の秋田大学にちょっとすごいロガーを買ってもらい、ハイブリッドロケット打ち上げ団体に配布してもらいました。

結果としては、パラシュートが開かず落下したり、海に向かって打ち上げて回収できなかったりした大学が多く、データ回収率は高くなかったですが、学生ロケットの計測に十分使用可能だということは示せました。

すごいロガーのログビュワーソフト作った

ちょっとすごいロガー、もうちょっとすごいロガーのログはLOG.DATという普通のテキストで見れないバイナリファイルで保存されています。これをエクセルや普通のエディタで表示するためにはNinjaScan GUI(zip)などを使ってアスキーファイルにします。

そのあと、エクセルなどで必要に合わせてグラフ化するのがいいですが、もう少し簡単にログが見れると良いですよね。

ということで作りました。

作った

zipファイル: NinjaScan LOG Viewer

Githubリポジトリ: https://github.com/ina111/NinjaScan_LogViewer

ログのgpstimeから必要なところを切り出してmatplotlibでグラフ化しています。MITライセンスです。

使い方

すごいロガーのLOG.DATファイルを別ソフトのNinjaScan GUIで.csvファイルに変換。その後、LogViewerを使って、csvファイルを選ぶ。

データの中身を確認。範囲内のgpstimeからグラフ化するgpstimeを指定。Launch gps timeがグラフ化の時間のゼロ点。

Plotボタンでグラフ表示。適当に保存して下さい。

下の画像は某大学のハイブリッドロケットの飛翔ログです。極めて簡単にグラフ表示が可能です。出来る人はcsvファイルから自力でグラフ化するのが良いです。カスタマイズが出来ますから。

スクリーンショット 2014-09-16 01.57.33 NinjaScanLOGViewer

 

使っているもの

  • python 言語
  • matplotlib グラフ化
  • Pyside GUI化
  • cx_Freeze exe化(setup.py)

 NinjaScan GUIの改良

地味にNinjaScan GUIも改良しました。GPS受信機のデータをubx形式(付いているモジュールの標準出力)だけではなくNMEA形式でも出力するようにしました。.nmeaファイルをGoogle Earthに読み込ませると結果が表示されます。

すごいロガーの新サポートページ作った

夜な夜な英語カキカキして、海外展開に向けて英語ページと日本語ページ作りました。

英語ページ: http://ina111.github.io/NinjaScan_GUI/

日本語ページ: http://ina111.github.io/NinjaScan_GUI/index_ja.html

英語のUser Manualも作りました。限られた時間でやってるのでなんとかかんとかって感じです。

海外発送のためにSPIKEというオンライン決算サービスを使って、海外展開しています。

https://spike.cc/

カード決済の手数料無料で、すごく簡単にECサイト作れたのでとても良いです。

追記2014年9月25日

海外展開ということで、スイッチサイエンスの海外向けのサイトで販売開始されました。

http://international.switch-science.com/catalog/1899/

ShareLaTeXで日本語組版

数式入った文章は書きたいけど、自分のPCが何台もあって全部にlatexインストールするのがとてもとても面倒くさいので、クラウドでtexコンパイルしてもらいたいとsharelatex使い始めました。

https://www.sharelatex.com/

同じようなクラウドtexコンパイラとしてcloudlatexというサービスが日本語も得意ですが、有料でもDropboxと連携して欲しかったので、sharelatexにしました。

sharelatexで日本語を使うには一手間必要です。

https://www.sharelatex.com/learn/Japanese

ここにあるようにデフォルトのコンパイラのpdflLaTeXではなく、XeLaTeXを用います。

スクリーンショット 2014-09-07 11.03.51

 

XeLaTeXなので、よく使われるjsarticleのような文章クラス(pLaTeXでのみ使用可能)を用いることが出来ません。また、日本語フォントをクラウドに置いておいて、指定する必要があります。必要なこととしては下記の通りです。

  • TeXコンパイラをXeLaTeXに変更
  • 使う日本語フォントをアップロード
  • BXjscls文書クラスをアップロード
  • ZXjatypeパッケージをアップロード
日本語フォント

日本語フォントはフリーフォントで適当な.ttcファイルなどを使います。自分は適当にTakaoフォントをアップロードしました。流行りどころとしてはGoogle Natoフォントとかでしょうか。

BXjscls

最低限bxjsarticle.cls(bxjsreport.cls)とbxjsja-minimal.def、bxjsja-standard.defをアップロード

https://github.com/zr-tex8r/BXjscls

http://oku.edu.mie-u.ac.jp/~okumura/texwiki/?BXjscls

ZXjatype

zxjatype.styをアップロード

https://github.com/zr-tex8r/ZXjatype

http://oku.edu.mie-u.ac.jp/~okumura/texwiki/?xeCJK

スクリーンショット 2014-09-07 11.03.33

 プリアンブル

\documentclass と \begin{document}に挟まれたプリアンブルに下記を書きます。

フォントファイルやスタイルファイルをいちいちアップロードしなくちゃいけないのはナンセンスだなぁと思いつつ、これで取り敢えず横書きはキレイに書けそう。

\documentclass[a4paper]{bxjsarticle}
\usepackage[utf8]{inputenc}
\usepackage{xeCJK}
\usepackage{zxjatype}
\setCJKmainfont{TAKAOMINCHO.TTF} % 好きなフォントで

追記
日本語のテンプレートを作ってみた。よく使う構文もサンプルで入れている。

https://www.sharelatex.com/templates/540c1c5d84471c5475fe71fe

ちょっとすごいロガーがスイッチサイエンスで販売開始された

スイッチサイエンス様で販売開始されました。
手数料的にはBASEで買ってもらった方が地味に嬉しいけど、買いやすい方でどうぞ。

近いうちに「もうちょっとすごいロガー(NinjaScan-Slim)」の方も販売して貰う予定です。

BASEのショップ:http://ina111.saleshop.jp/

 

スイッチサイエンスの販売受託プログラムを使って、販売することが出来ました。手数料は安いし、自分の手間は掛からないようになったわで、嬉しいです。担当者の方の対応も良く、スムーズに販売開始となりました。時間がかかったのは自分の準備が中々時間取れなかったとかそういう部分でした。電子工作の物が出来てる人はスイッチサイエンスでの販売受託プログラムおすすめです。

http://trac.switch-science.com/wiki/PersonalWorkDistribution