OpenRocketを日本語翻訳してみた


モデルロケットの設計、シミュレーションソフトであるOpenRocketの紹介の記事を前に書きました。

そのOpenRocketを日本語翻訳しました。各種言語に翻訳するためのプロジェクトページなどもあって、各種言語に翻訳されています。そこに翻訳作業にコミットしたことによって日本語も増えた形になります。

2012年12月23日現在、翻訳ファイルを送ったところなので、向こうの更新タイミング次第で日本語化できるようになるはずです。

日本語化方法

  1. Javaのランタイム入れてない人はここからDLしてインストールしておく
  2. OpenRocketを起動する
  3. メインメニューの[Edit]→[Preferences]の中のOptionsタブの中のInterface languageを日本語に変える

(ここではまだ日本語翻訳ファイルが入ってないので見えてない。)

あとは前の紹介記事から随分進化しているので、そのまとめ

改良されているポイント

 3Dビュー

かっこ良く表示されるようになりました

印刷機能

印刷機能が付いてPDFにも概略が保存できるようになりました。

Component analysis(成分分析)

風の向きや迎え角ごとの、部品ごとの重心や風圧中心・抗力はどこで発生しているか・ロール方向の運動方程式のパラメータはどうなるのかの解析が出来るようになりました。

Rocket optimization(最適化)

部品のパラメータを色々変えた時に距離や滞空時間が一番伸ばせる条件はどれなのかが自動的に探索される機能が付きました。うまい使い方はいまいちわからないですが、色々弄ってみると楽しいです。

Cusom Expressions(カスタム式)

打ち上げシミュレーションにおいて、元々入っているパラメータ以外の計算したいパラメータに関して自分で計算したい式を入れて出力できるようになりました。比推力Ispやら固有周波数、動圧なんかは入力すると使える人には使えるかもしれません。

このページ(List of useful sustom expressions)の式を参考に入力すると良いです。

Simulator listeners

自分でJavaのプログラムを書くことで、シミュレーションに関して拡張できるようになりました。高度な内容ですが、オープンソースらしい拡張性高いことを示すところです。

Andoroidアプリ

Androidのアプリがでました。作ったOpenRocketのファイル(orkファイル)を読み込むと設計したものが表示されます。編集とかは出来ずに、ただ単に見るだけ。うーん、シミュレーションの結果も一部は表示されるので外で確認したいときに便利なのかも。

Andoroid版のインストールはダウンロードのページにある[OpenRocket-Andoroid-xx.xx.apk]をダウンロードして、自分のAndroid端末のフォルダに入れて、フォルダから~.apkファイルをタップしてインストール。orkファイルもAndroid端末に入れておく必要が有るので入れてAndroid版OpenRocketから読み込み。

インストールの前にAndroidの[設定]→[アプリケーション]→[提供元不明のアプリ]にチェックを入れておかないとインストールできません。

 

雑記

ネットでモデルロケット調べてみても、古いサイトしか出てこなくて新しく始めたい人は既にやってる人とコンタクト取るしか無いような趣味のロケット界隈ですが、導入が簡単になって趣味人の人口が増えればいいなと思っています。

モデルロケットっていうのは何も知らない人から見ると物騒に見えますが、飛ぶものは見ていて成果がわかりやすく楽しいし、科学教育・ものつくり教育としてとても良い素材だと思っています。ちょっと進んでくると流体力学やら材料力学やら燃焼やら数値計算法やら電子工作やらと、勉強しなきゃいけない(勉強できる)範囲広くて幅広い力が付くと思います。

OpenRocketは小さなモデルロケットだけではなく、もう少し大きめのハイブリッドロケットのようなものにも使えるので、独自に解析ソフト作るより信頼性あると思います。超音速のときは幾つかの点で考慮しきれてない部分があって、精度が落ちるようですが、それ以外の点ではtechnical documentをみる限りかなり正確なようです。

オープンソースロガーOpenLogの互換品作ってみた その3 使い方


OpenLogの互換品を作った目的である、SDカードに書き込んだ情報をUARTで吐き出す方法です。

ArduinoのSDカードのサンプルプログラムの中にある[SD]→[DumpFile]とほぼ同じ内容を前述の方法で書き込みます。

これでInaLogからSDカードに書き込まれたdatalog.txtファイル(変更可能)から1byteづつデータを読み出すことができます。

この吐き出されたデータをマイコンで受け取ってやることで色々使えるところがあるかなぁと思います。(まだ何も使ってないけど笑)

/*
  OpenLog互換品(InaLog)でSDカード内のdatalog.txtからUARTでデータ吐き出し
*/

#include <SD.h>
const int chipSelect = 10;

void setup()
{
 // シリアルポートオープン:
  Serial.begin(9600);
  Serial.print("Initializing SD card...");
  pinMode(chipSelect, OUTPUT);

  // SDカードが存在しない場合、エラー吐く:
  if (!SD.begin(chipSelect)) {
    Serial.println("Card failed, or not present");
    return;
  }
  Serial.println("card initialized.");

  // ファイルは一度に一つ開ける。次のファイル開く場合は一旦閉じてから
  File dataFile = SD.open("datalog.txt");

  // ファイルから1byte読み出しシリアルポートから吐き出し:
  if (dataFile) {
    while (dataFile.available()) {
      Serial.write(dataFile.read());
    }
    dataFile.close();
  }  
  // ファイルが開けない場合はエラー:
  else {
    Serial.println("error opening datalog.txt");
  } 
}

void loop()
{
}

オープンソースロガーOpenLogの互換品作ってみた その2 作り方


OpenLogの互換品を使って遊んでいるわけですが,自分で使おうと思っていたので名前をInaLogってつけています.

今回はその使い方と作り方の公開をしておきます.使い方は基本的にはOpenLogと同じです.
データシートとArduinoによるサンプルスケッチを見れば全てわかると思います.
OpenLogのwikiを見るとUAV(無人飛行機)のデータロガーに使われているのがトップページに出てきて心躍ります. 続きを読む

オープンソースロガーOpenLogの互換品作ってみた その1


大学生がプロジェクト方式でものつくりするような場面をたくさん見てきましたし、自分でも実践してきました。

この中でたまに問題になるのはセンサーからのデータ取得(AD変換)やLEDやLCDでの表示はできるけど、SDカードへの記録が出来なかったということです。ちゃんとやってる人からするとショボイところで躓くようだけど、初心者の集まりだと実際大変に思ってる人は多そうです。ArduinoとかmbedだったらSDカードも簡単に取り扱えるけど、それでも悩む人は悩むみたいです。少し前の自分もそうでしたし。

これを解決するのにいいものが売っています。SparkfunのOpenLogというものです。日本だとスイッチサイセンスで販売されています。実際使っていましたが、すごく簡単にログが取れて良い商品でした。

UARTでデータを送るとSDカードにそのデータが保存されます。SPIやSDIOという通信バスで繋ぐより速度は遅くなりますが、プログラムは非常に簡単になります。

概要

  • OpenLogはオープンソースハードウェアなので回路図も配線図もコードもオープン
  • 部品は全て秋月電子通商で買えるように部品変更
  • MPUはArduino Unoなどで使われるATmega328Pの表面実装部品
  • Eagle設計→FusinPCB発注
  • FusionPCBに送ったファイルも公開するので基板をFusionPCBに発注して自分でハンダ付けすれば使える
  • 2個以上作るならOpenLog買うより安い(かも)
  • AVRライターで中身を書き換え易い(本家はSDカードスロットと書き込みピンが近すぎて書き込みにくい)

例えばロガーではなく、SDカードに貯めたデータをシリアル通信で吐き出すモジュールにすることも出来ます。これは次の記事とかに書こうと思います。この互換品の細かい仕様についても次の記事に書きます。

本家のOpenLogと比較するとこのぐらいのサイズの違いです。部品縛りがあったのでちょっと大きくなりました。写真はRev.Aのもので(上の写真も)、現在はRev.Bを作っています。というかRev.Aの基板は移動中に無くしてしまいました(涙

GWSのサーボ分解してみた


Maker Faire Tokyo2012で展示していたお盆が2日間の展示で4個焦げ臭くなって動かなくなりました。5時間連続運転で人間が休んでいる間もサーボは働いていたような無茶な運用をしていたために熱で焼けたようでした。

2000円のサーボモータとはいえ、二日間で4個8000円が飛んでいくのは悲しいので、原因追求と対策のために分解してみました。

分解したサーボは秋月電子で売っているGWSサーボ S11H/2BBMG/JRタイプというものです。ネットで調べてもすぐには出てこないのですが、GWSのサーボのニュートラルのパルス幅は全て1500μ秒のようです。

GWSの本家サイトが信じられないぐらい見にくいので付属の説明書でガマンします。

ギア部分

精密ドライバーでネジを外します。

モータから出力軸まで4段のギアが入っていることがわかります。後ろ2つは金属ギアでした。出力軸の手前のところにベアリングが入っていて、値段の割りにはしっかりしたものなのだと驚きました。

ギアを外すと、モータの先っぽとポテンショメータが先っぽが見えます。出力軸のおしりにポテンショメータと噛みあわせるための白いプラスチックの部品が見えます。

180度の回転角に制限のあるサーボではなく、連続回転サーボに改造しようと思うとこの白いプラスチックの部品が邪魔になるので手前のベアリングをマイナスドライバーで外して、取り出します。

あと、連続回転サーボにしようとするともう一つ回転角を制限するために出力軸に出っ張りがあるので、これを切ります。トルクの大きいサーボだと出力軸が金属ギアなので切り取るのがちょっと大変です。

赤の矢印の部分の出っ張りを切り取り(削りとり)ます。

詳しいことはここを参考にさせてもらいました:連続回転サーボの作り方

基板部分

3段になっている後ろの部分をマイナスドライバーで爪を外すとゴチャゴチャしたものが見えます。モータと制御基板とポテンショメータです。

可愛らしいポテンショメータです。

焦げたサーボは基板のFETの部分であろう部品が焦げてました。

裏面もモータにつながる直前部分の素子がかなりの熱を持ってたみたいで線が焦げてます。

まとめ

分解も再組み立ても非常に簡単でした。グリスで手がベタベタするのさえ気にしない環境であればw