翼型の自動選定と GA 探索、揚力線理論の比較、飛行経路最適化
4 段平面形の各断面に翼型データベースの翼型を割り当て、 XFOIL で各断面のポーラを事前に計算してから、非線形 3DOF で 10 m からの滑空を計算します。
結果は 2 つのグラフで表示されます。
| 飛行軌跡 | 水平距離と高度の関係 |
| ピッチ角・合成速度 | 時間に対するピッチ角と対気速度の変化 |
本プログラムの中でもっとも自動化が進んだ機能です。 翼根の翼厚を指定するだけで、あとは全自動で最良の機体を探します。
処理の流れは次のとおりです。
autocalc.db へ保存しますパイロットの体重と機体重量は決定済みの固定条件として扱い、 翼まわりの諸元だけを変化させて探索します。
下側の「機体データベース」タブで機体を選び、「選択行機体を読み込む」を押すと、 その胴体・尾翼・飛行性能を保持して主翼だけを探索します。翼幅・機体重量・翼根翼厚も読み込まれます。 「内蔵の既定グライダーに戻す」で既定の土台へ戻せます。
「保存済み (autocalc.db)」タブで行を選び、「選択行を機体データベースへ登録」を押すと、 多段平面形・各段翼型・上反角・質量・翼厚をグライダー DB の機体にできます。 計算の距離・滞空・角度をメモに残します。新しい記録は平面形そのものを保存します。 旧記録の区間中央翼弦から折れ点を復元した場合は、翼面積が少し変わることを登録時に表示します。
12 種類の揚力線理論を同じ条件でまとめて計算し、翼幅荷重分布を 1 枚のグラフに重ね描きします。 手法ごとの違いを見比べたいときに使います。
| 手法 | 出典 |
|---|---|
| Schrenk | NACA TM-948 |
| 谷の平均値法 | 谷一郎「主翼の壓力分布を簡單に計算する方法」 |
| Lippisch | Verfahren zur Bestimmung der Auftriebsverteilung längs der Spannweite |
| Lotz | Berechnung der Auftriebsverteilung beliebig geformter Flügel |
| Prandtl フーリエ級数 | 『航空力学の基礎』第3版 |
| Mutterperl | NACA TN-834 |
| Falkner | The Calculation of Aerodynamic Loading on Surfaces of Any Shape |
| Multhopp | Die Berechnung der Auftriebsverteilung von Tragflügeln |
| 線形 Weissinger | NACA TM 1120 |
| Weissinger-L 法 | NACA TM 1120 |
| Sivells–Neely | NACA TN-1269 |
| Wickenheiser・Garcia | Aerodynamic Modeling of Morphing Wings Using an Extended Lifting-Line Analysis |
比較を成り立たせるため、零揚力角と揚力傾斜はすべての手法で同じ値を使います。 手法ごとに違う値を使うと、CL が 2 群に分裂して比べられなくなるためです。
計算後に手法のチェックを外すと、グラフから対応する曲線が消えます。 チェックを戻すとまた表示されます。線が混み合って見づらいときにお使いください。 非表示にした手法は、表の行も灰色になります。
飛行経路そのものを最適化して、10 m からの飛行距離を最大にする操縦を求めます。
| 項目 | 内容 |
|---|---|
| SCGRA2 — 10 m 飛行距離最適化 | 逐次共役勾配復元法(Sequential Conjugate Gradient-Restoration Algorithm)による最適制御 |
| SCGRA3 — 原田・別府・東 1996 論文モデル | 論文のモデルをそのまま実装したもの |
| DCNLP — 10 m 飛行距離最適化 | 直接コロケーション非線形計画法(Direct Collocation NLP) |
| GA最適化 — 滑空距離最大化(NLFS6) | 機体データベースの機体を 6 自由度モデルで飛ばし、操縦のしかたを遺伝的アルゴリズムで探します。 → GA最適化 |
注 有料版:最適化 → 「QPSO+VLM(有料版実装)」を開き、目標 CL・格子数・粒子数・世代数・ねじり上下限を設定して 「QPSO+VLMを実行」します。現在の機体の最小誘導抗力のねじりを探索し、CL/CDi・評価回数・翼根〜翼端のねじりを表示します。 機体データへの自動書き戻しはありません。
注 有料版:「IVLM と QPSO+VLM の比較(有料版実装)」では、現在の機体・AR=8 矩形翼・30°後退検証翼を選び、 同じ目標 CL と格子で「比較を実行」します。未最適化/QPSO/IVLM/理論値と論文値、計算時間・評価回数、ねじり・翼幅荷重・収束を比較します。 「CSV保存…」で表を出力できます。
注 有料版・実装予定:GA+IVLM・複合領域最適化はまだ無効です。 今回使える機能は QPSO+VLM であり、旧記載の QPSO+IVLM ではありません。
注 有料版:GAXQ は ωSIM に統合された機能です。最適化メニューの「GA+αFOIL(GAXQ)(有料版実装)」、 または airfoil 解析の「GAXQ起動」を押します。機体モデルは不要です。 airfoil 解析のボタンから新しい GAXQ 画面を開くと、一覧の選択翼型を第1基底へ渡します。既存画面の再表示では探索状態を保持します。 粘性探索には別途用意した XFOIL 実行ファイルが必要です。
| Morita 2013 | 注 有料版 Morita / PARSEC のモードを選び、Xc・Zc・後縁角・Am などを入れて「Moritaパラメータを適用」します。 四次の追加キャンバーと逆抗力評価を使い、目標翼厚は x/c=0.292 の上下間隔です。 |
| PARSEC | 注 有料版 「PARSEC翼型を基底翼型へ適用」で 11 パラメータから基底を生成し、通常の混合探索に使います。 11 パラメータ直接探索の GUI ではありません。 |
| 理論基底・自動選抜 | 注 有料版 設定で Theodorsen/NACA・Theodorsen/Joukowski 基底を使い、またはフォルダから性能と形状多様性で 4 基底を自動選抜します。 |
| Cp 目標の逆設計 | 注 有料版 「Cp目標で第1翼型を逆設計」で上面 Cp をドラッグし、QSPEC 混合逆設計の形を第1基底へ渡します。 Cp 目標は JSON で保存・読込できます。 |
注 有料版:新しい実験はローカルデータ領域の omegaSIM/GAXQ/experiments に完了世代を自動保存します。
一時停止してからファイル → 「実験チェックポイントを保存」で基底・設定・候補・履歴・続行状態を保存し、
「実験チェックポイントを読込」で復元できます。QMOPSO の粒子・個体最良・アーカイブ・乱数状態も含みます。
保存した世代別 DAT・CSV とともに、実験条件を確認して使ってください。
「最適化(O) → GA最適化 — 滑空距離最大化(NLFS6)…」で開きます。
「翼型自動選定+最大飛距離 探索(GA)」が機体の形を探すのに対し、
GA最適化は決まった機体の飛ばし方を探します。
機体データベース(glider.db / hpa.db)から機体を選び、
NLFS6 の 6 自由度モデルで飛ばして、滑空距離が最大になる操縦パラメータを遺伝的アルゴリズムで見つけます。
| 設定 | 内容 |
|---|---|
| 機体 | 種別(グライダー/人力プロペラ機)と、データベースに保存した機体 |
| 飛行条件 | 発進高度・打ち切り時間・計算刻み・向かい風 |
| 探索する操縦パラメータ | 初期姿勢・引き起こしやバンクを始める時刻・目標経路角・自動操縦の PID ゲインなど。 「21 個すべて」か「17 個(初期ロール・ヨーとバンク横 PID の I・D を固定)」を選べます |
| 機体データベースに入っている操縦を出発点にする | 既定でオン。保存済みの操縦を初期集団に入れるので、結果が出発点より悪くなることはありません |
| GA の設定 | 個体数(既定 90)・エリート数(30)・世代数(90)・個体突然変異率(0.05)・遺伝子突然変異率(0.02)・交叉(2 点交叉/一様交叉)・並列プロセス数。 既定値は公開されている設定にそろえてあります |
「最適化を開始」を押すと、世代ごとの最良飛距離がグラフに、見つかった操縦パラメータが表に出ます。 進捗バーは 1 個体を飛ばすごとに進み、経過時間と残り時間の見込みも表示されます。 終わったら「この操縦を機体データベースへ保存」で、その機体に操縦パラメータを保存できます。
全翼型バッチ解析・GA 探索・GA最適化は、複数の CPU コアを使って並列に計算します。 既定の並列数はお使いの PC の CPU から自動で決まり、 GUI と他モードのために全コアは使いません。
この 3 つは同時には 1 つしか動きません。どれもコアを目いっぱい使うので、 重ねると互いに遅くなるだけだからです。
| 動いている計算 | 始めようとした計算 | どうなるか |
|---|---|---|
| 全翼型バッチ解析 | GA 探索 | どちらを続けるか尋ねるダイアログが出ます |
| GA 探索 | 全翼型バッチ解析 | |
| 全翼型バッチ解析 / GA 探索 | GA最適化 | 「ほかの計算が実行中です」と、動いている計算の名前と止め方が表示され、開始しません |
| GA最適化 | 全翼型バッチ解析 / GA 探索 |
お使いの PC で何並列になるかは、「ヘルプ → αFOIL+ωSIM について」で確認できます。 実際のコア数・スレッド数(論理プロセッサ数)が表示されます。
並列数は開始前のダイアログで変更できます。他の作業をしながら回したいときは少なめに、 探索だけに集中したいときは多めにしてください。