Butterfly_Effect( )

地面と別れる方法

飛行力学における機体固定座標系

飛行力学の基礎 多くの場合、機体固定座標系上での運動方程式の記述が推奨されている。 その理由は機体に作用する力の計算が直感的になるからだ。 しかし機体固定座標系とは何か?というそもそも論について、誤解が入り込みやすい点には注意すべきと思う。 …

C++&EigenでRiccati方程式の解を求める

Riccati方程式を数値的に解く 最適制御を学んだ人なら、Riccati代数方程式を解くことは日常茶飯事だと思う。LQR的に定義されたJ値を最小化するための最適制御入力に必要だからだ。もちろんMatlabにはその求解関数が用意されていて、一行で実行できる。 https…

Datcomで空力解析(その2)

はじめに Datcomで空力解析を行うためにはINPファイルの作成が必要. 以下のような形状の飛行機を解析したい場合の例を示します. INPファイルというのは何の変哲もないタダのtxtファイルで,中身は以下のようなものになっています.これはDatcomのマニュア…

DATCOMで空力解析 (Win, Mac共通)

以前の記事で,こんなことを書いた.octaveで6自由度飛行シミュレーションを行う(0) - Butterfly_Effect( )butterfly-effect.hatenablog.com では,空力微係数を算出する上で簡単な方法は何なのか?方法はいくつかあるけれど,今回は最もレガシーなものを扱…

MacOSXでboost::python(homebrewユーザー)

はじめに 事情があって,pythonとC++を併用したいことがあった. 方法はいくつかあるけれど,C++ユーザーとしてはboost::pythonが良い選択に思える. しかし普段はXcodeのGUIに甘やかされていたので,導入にかなり手こずった. 環境依存な部分は多いかもしれ…

Eigenで力学してみる(1)

C++向けの行列計算ライブラリEigenを使って姿勢運動を扱う話. 初回はウォーミングアップということで,Quaternionクラスの使い方の練習をする. はじめに 僕はC++をメインで使い、行列計算ライブラリとしてEigenを使っている.C++の高速性とMatlab的な行列…

線形システムの安定性を調べる

octaveでisstable( )する話. 追記:octave-forgeのcontrolコンポーネントの中にisstable()関数がありました.そちらを使うことを推奨します. 線形システムの内部安定性 フライトシミュレーションの記事でも扱ったけれど,線形なシステムは一般にという形で…

octaveで6自由度飛行シミュレーションを行う(3)

6DOF flight simulation編の最終回. 飛行機の絵を書こう 飛行運動の可視化には様々なスタイルがあるけれど,やはり3次元的な飛行軌道の可視化が最も良い。octaveにもそういう機能はある(comet3関数).ただこれは質点運動をアニメーションしてくれるのみで,…

octaveで6自由度飛行シミュレーションを行う(2)

ここからはポスト処理について解説する。 軌道データを生成する これまでに、定常飛行状態からの微小擾乱の時間発展を計算してきた。 そこから飛行軌道を生成する方法は5章にサラッと書かれている。1章に基づいて軌道計算すればよい。 1章では,慣性座標系と…

パネル法によるデルタ翼の空気力計算

渦格子法で3次元空力計算を行う. Vortex Lattice Method + High AoA Delta Wing 揚力面理論の一種である渦格子法(VLM)を用いて高AoAデルタ翼の空力計算をした. 使用PC MacBookAir2011 使用ツール Xcode C++ Eigen gnuplot LEVも含めて解いている.数値計…

octaveで6自由度飛行シミュレーションを行う(1)

本編.前回の記事で示したスクリプトの中身の解説. 概要 Matlab互換のフリーソフトoctaveを使って、簡単な6自由度フライトシミュレーションを行う。6自由度というのは,xyzの3軸並進運動とピッチ/ロール/ヨーの3軸姿勢運動の自由度を合わせたもの。要するに…

octaveで6自由度飛行シミュレーションを行う(0)

はじめに 日本の飛行力学の教科書と言えば「航空機力学入門」。 一般向けの航空工学本と比べると内容が難しいので、学生の間では鬼門扱いされるとか。 反面、勘所(第3章)さえ押さえれば、一気に取っつき易くなる本でもある。 1~2章は前置き,3章が力学系の構…