翼型の自動選定と GA 探索、揚力線理論の比較、飛行経路最適化
4 段平面形の各断面に翼型データベースの翼型を割り当て、 XFOIL で各断面のポーラを事前に計算してから、非線形 3DOF で 10 m からの滑空を計算します。
結果は 2 つのグラフで表示されます。
| 飛行軌跡 | 水平距離と高度の関係 |
| ピッチ角・合成速度 | 時間に対するピッチ角と対気速度の変化 |
本プログラムの中でもっとも自動化が進んだ機能です。 翼根の翼厚を指定するだけで、あとは全自動で最良の機体を探します。
処理の流れは次のとおりです。
autocalc.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最適化 |
GA+IVLM・QPSO+IVLM・GA+αFOIL(GAXQ)は有料版で実装、 複合領域最適化は有料版で実装予定です。
「最適化(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 について」で確認できます。 実際のコア数・スレッド数(論理プロセッサ数)が表示されます。
並列数は開始前のダイアログで変更できます。他の作業をしながら回したいときは少なめに、 探索だけに集中したいときは多めにしてください。