virt_flyのブログ -17ページ目

virt_flyのブログ

フライトシミュレーターソフトのFlightGearで仮想飛行を楽しむブログです。

↑ルートマネジャー(右上)、マップ(左上)、オートパイロットセッティング(左下)を表示させたFlightGear画面ー関空からセントレアへのフライトプランにもとづき自動操縦で飛行するT-38A Talonが回頭するところ

 

自動操縦に成功!

 

フライトシミュレーターのFlightGearは、AIのスクリプト化がすすむなど大きく様変わりしつつあります。Aircraftも、今日のFlightGearに対応したものはAircraft-2020に括られる状況です。

 

私にとって「今後はAIシナリオなしにどうすればAI機を飛ばせるのか」が一大関心事であり、そのためには遅まきながらも、FlightGearの新しい機能、旧いFlightGearから現行FlightGearで置き換えられた機能について確かめるところから調べはじめてみるべきかと思っています。

 

Wingman ContorolsやTanker Controlsについてこの間試してみたのもその一環です。今度は何をテーマにすべきか? やはりフライトプランでしょう。

 

フライトプランというと、紛らわしいことに乗機の飛行計画と、AI機を飛ばすためのFlight Planの2つがあります。

 

Flight Planを使用したAIシナリオではAI機が表示されない仕様に変更されたようですから、もちろんこれのことではありません。どうすればAI機が飛ばせるかに関心があることは言うまでもありませんが、替わりうる方法がいまだわからず、ランチャーにFlight Planningという文字が見られてもAI機に関係するのかどうかも見極めつかない体たらくですから、ここはルートマネージャーによる乗機の飛行計画作成と、それにもとづく自動操縦の方法を知っておくことも必要と考えたものです。

 

オートパイロットの使い方概要

 

ルートマネージャーやオートパイロットは、すでに決してあたらしい機能ではありませんが、少々難しそうで私自身は興味がなかったことからまともにさわったことがなく、一からの勉強になりました。

 

ネットで検索しても、記述が旧いオートパイロットの説明だったり、ルートマネージャーの解説はWaypointの作成に詳しくても、作成したフライトプランを元に自動操縦させるにはどうすべきかが明示的に語られず、無線周波数に至ってはどこにどれが当てはまるのかがさっぱりわかない有様。

 

休日を丸1日潰したあげく成功したのは、GPSから方角を割り出し、オートパイロットのTrue Headingに入力して自動操縦させる方法、並びにざっくりとですが、ルートマネジャーを使って作成したルート(いわゆるフライトプラン)をアクティベートすることで無線設定することなくオートパイロットにGPS/FMS Headingを設定、Waypointを通過する際は次のWaypoitにJump Toを実行することで自動操縦を続ける方法でした。

 

「ざっくり」と言うのも、ルートマネージャーで作成したフライトプランを保存しようとsaveをクリックしても拡張子のないファイルが作成され.fgfpとふってやる必要があったり、またsave、loadとも実行後ダイアログが閉じず、開きっぱなしを余儀なくされたりしたからです。開発版のFlightGear2020.4.0を使ったからでしょうか。他にも、自身がWaypointの作成についてまだよく知らないということもあります。

 

なんと言っても、ルートマネージャーを使う方法の肝は、アクティベートを実行しないと自動操縦にならないこと、Waypointを通過する際に次のWaypointに向けJump Toを実行する必要があることです。

 

Jump Toを実行しなければ、飛行機は次のWaypointに向かいません。また、次のWaypoitへのJump Toの実行は、そのひとつ手前のWaypoitを通過するより前に早めに実行しておかないと乗機がルートを逸脱してしまいますので注意が必要です。

 

↑マップ―飛行予定ルートはピンク、これまでの経路はグレーの線で示され、黄色の飛行機形は現在位置、黄色の破線は進行方向を示しています。飛行機はJump Toのタイミングが悪くルートを少し逸脱していますが、次のWaypointに向け回頭中です

 

なんとか飛行機が自動操縦で飛行するようになり、次のWaypoitに機首を向けて行く様子を見たときは嬉しかったです。

 

残念ながらうまくいかなかったのが、オートパイロットのNAV1 COIコースを使う方法です。多分VORあるいはILSローカライザーの周波数を入力するのだろうと思っているのですが、自動操縦にはならず、飛行機は予定外の方向に飛んでいってしまいました。何かミスを犯しているのでしょう。

 

ちなみに、ここでオートパイロットというのは、FlightGearがオートパイロットの機能のないAircraftにも与える汎用の機能であって、現実の個々の航空機に備わるものとは違います。最近では操作パネルにマップが表示される航空機も見かけるようになりましたが、不勉強にもマップのない機体ではWaypointの接近をどう知るのかを知りません。距離がわかればよさそうですが。

 

今回は、FlightGearのオートパイロット機能で自動操縦する方法が少しわかりましたが、だからといってAI機をAIシナリオ無しでコンピューターまかせで飛ばすにはどうすれば良いかの疑問について解決を見たわけではありません。

 

前述したランチャーにあるFlight Planningは、乗機にフライトプランを適用するかどうか、作成済のフライトプランの読み込みやフライトプランの作成、保存を、FlightGearの起動前に行えるようにしようとするものであって、やはりAI機にはまったく関係のないものでした。

 

さて、自動操縦を手っ取り早く試したいとシンプルにルートマネージャーでフライトプランをつくりオートパイロットを実行することに成功しましたので、次回「オートパイロットの使い方(2)」に手順を忘れないうちに書き残すことにしたいと思います。

 

 

《お詫びと訂正》

 

このブログでは、当初、FlightGearではJump Toをいちいち実行しないと次のWaypointに自動操縦では向かわないとの認識を示していましたが、まったくの誤りであり、一切Jump ToあるいはNext Waypointを実行することなく、機体はオートパイロットにより順次、次のWaypointに向かっていくことを確認しました。すなわち、操縦者の手を煩わせることなく、機体は文字通り自動操縦によって勝手に旋回を繰り返しながらWaypointをたどり飛行していくということです。お詫びし訂正いたします。

 

なお、事実誤認は、機体を無理やり旋回させたく短い距離でWaypointを設定したものの、機体の旋回半径が大きすぎて通過していってしまうことを捉えて、早計に判断してしまったためと考えます。

↑Tanker Controls機能を使い給油機を飛ばし、レーダー、HUDで補足、追尾

 

正常に表示されたAIの空中給油機

 

フライトシミュレーターのFlightGearでは、AI機(注1参照)を飛ばすのにAIシナリオが使わfれてきましたが、いつのまにかAIシナリオではAI機を表示しなくなり、デフォルトで用意されていたAIシナリオ自体の種類も減っていることは、以前から述べてきた通りです。

 

「AI システムでできることはかなり限られているため、AI はより汎用性の高いNasalソリューションに置き換え」(「FlightGearにおけるAIのステータス」より)られていることが、どうやら原因のようであることもわかってきました。

 

そこで、これからはどうすればAI機を飛ばせるのかを探るため、新たなソリューションが何で、それはどう使えば良いのかを、とりあえずわかる範囲で調べることにし始めたものです。

 

それらしきものの一つとして、今回とりあげるのはTanker Controlsです。

 

FlightGearでは、空中給油も以前はAIシナリオを指定して給油機を飛ばして実行していましたが、現在はTanker Controlsを使って近くの給油機を探して実行するようになったもようです。

 

AI Traffic and Scenario Settingsを開いてAIシナリオの一覧を見ても、以前のAIシナリオを使って給油機を飛ばす方式のAIシナリオで残っているのはAerial refueling demo (KSFO)だけでーしかも給油機は正しく表示されず青と黄のダミーに化けているー、他に空中給油用のシナリオは一切見当たりません。

 

Wingman ControlsではまだAIシナリオが使われていましたが、Tanker ControlsはAiシナリオなしにいったいどのような仕組みで給油機を飛ばしているのでしょう? Nasalと思われるものの、私には手の余ることなので言えることはありません。

 

とりあえず、解説も見かけず使い方もわかりませんが、闇雲にいじってみることにします。

 

Tanker Controlsは機体を選り好みする

 

なお、給油機を探すにはレーダーを使うのが楽なので、乗機はMirage 2000-5を使います。物騒な戦闘機より練習機くらいが良いのですが、Tanker Controlsは機体を選り好みするようで、T7 Red HawkではAIタブからはTanker Controlsが選択できないようになっています(Tanker Controlsの開き方は次項)。

 

おそらく空中給油対応の機体でない限り、Tanker Controlsは選択できない仕様なのでしょう。知りたいのは給油機がまともに表示されるかだけなのですが。

 

Tanker Controlsの開き方、使い方

 

Tanker Controlsは、FlightGear画面上部のメニューバーにある[AI]タブをクリックし、開いたドロップダウンメニュー中から[Tanker Controls]を選ぶと表示されるダイアログボックスがそれです。

 

 

「Air-to-Air Refueling Tanker」と標記されたダイアログボックスの一番上に、Tanker名のボックスがあります。右横の▲をクリックして表示されるリストから給油機を選んで入力ができます。

 

機種により給油可能なタイプの給油機に違いがありますので、リストも異なるものが表示されるものと思われます。ちなみに、Mirage 2000-5でリストされるのは、KA-6D、A4-F、A330-MRTT、KC-135の4機種、F-16CJ Block 52ではリストは現れず、TypeにKC-135が表示されKC-135しか入力できません。

 

Tanker名のボックスに給油機の機種が入力できたら、今度はダイアログボックスの左下にある[Request]名のボタンを押します。すると、FlightGear画面上部に指定した給油機の距離や進行方向、速度、TACANチャンネルなどの情報が文字で表示されます。

 

異なる給油機を入力し、[Request]することで、より近い給油機を調べて変更しても良いでしょう。

 

↑Tanker(給油機)を指定し[Request]をクリックすると、画面上部にオレンジ色で給油機の距離やTACANなどの情報が表示されます [Get Position]を選ぶと給油機の方向が水色で画面に表示されます

 

ちなみに、[Request]ボタンを押すたびに、順次別の給油機の情報に切り替わります。慣れた方ならこの情報から給油機を判別して指定したほうが早いのかも。ただし、乗機の対応・非対応に関係なく、近くを飛んでいるすべての給油機が表示されるようですから注意が必要です。

 

実際に、給油機を見つけ接近するには、給油機の距離や方向を知る必要があります。それには

TACANチャンネルが使われ無線設定をすることで、知ることができましたが、計器で距離や方角を読み取るのは結構大変です。

 

レーダーなら、この段階で([Request]した時点で)給油機の機影が写りますから、レーダーを頼りにできるならそれにこしたことはありません。

 

↑前方に給油機の飛行機雲が見えるMirage 2000-5のコクピット 画面真ん中にあるのがレーダー、上がHUD FlightGearの機能であるTanker controlsのダイアログを右に、おまけにマップを左に表示させています
 

Mirage 2000-5の例では、コントロールパネル中央にあるレーダーに給油機が映ります。ワ冠に棒が刺さったような形の機影は、ワ冠様の形が機首の向き、棒が飛行方向を表し、横の数字はおおよその距離を示しています。なお、付け足せば先のダイアログボックスの[Request]ボタンを押すたびに、レーダーの機影も順次切り替わります。

 
↑①はレーダーに映った給油機の機影、②はHUDに緑の○で表示された給油機とその情報、③はマップ上の給油機

少しずるいですが、ダイアログボックスの[Get Position]ボタンを押すと、指定した給油機の方角と乗機より上方あるいは下方にあるかの情報が、FlightGear画面情報に文字で表示されますので、これに基づきレーダーの正面に給油機の機影が映るように、さらにHUDに給油機情報が表示されるまで機首の向きを変え、捉えたらHUDから外されないように給油機を追尾し飛行していけばよいわけです。
 
接近し目視できるようになった給油機は、正常に指定した給油機の姿で現れ、青と黄のダミー機に化けて表示されることはありませんでした。A330-MRTTばかりかKC-135も正常に表示されるのを確認しました。
 
↑正常に表示されたAI空中給油機のA330-MRTT
 
Tanker Controlsで飛ばしたAIの給油機が正常に表示されるのが確認できたことで、今回の目的は無事終了です。
 
ここまで来たら次は空中給油と期待された向きもあることかと思いますが、空中給油はかなり操縦のスキルが求められるもので本人は至って不器用なため実施は困難と判断しました。Tanker Controlsの話としては中途半端なものとなりますが、伏してご了承願います。

 

《追記》

 

目的は別なところにあったとしても、試してみた評価がないのもどうかしてますので、追記します。

 

Tanker Controlsでは、いくつもの給油機が飛んでいて近くの給油機を探すことができ、あるいは給油機の速度を変更することもできて、いよいよ空中給油がしやすくなりました。それまでのAIシナリオでの空中給油にはなかったことで、AIのスクリプト化の恩恵と言えます。

 

 

注1)AI機は、自分が操縦する飛行機(乗機)とは違って、プログラミングに基づきコンピューターのコントロールで離発着、飛行するFlightGearの世界の航空機です。

 

↑近代化改修(?)したJu EF 128 customから発射されるロケット弾

レーダー以外はほぼ問題なく動く

 

内蔵Wi-Fiが逝かれたGtuneのノートパソコンのその後ですが、ネット環境も芳しくないために中継機を子機代わりに接続したものの微妙な通信状況です。

 

キーの接触不良があって随分使い勝手も悪くなっているのに使うのは、なにせ他のパソコンはパソコン教室のテキスト作成用のスクリーンショットを撮りたいのであまり日常使いはしたくないという都合があるから。また、ブログに使うためにスクリーンショットのサイズを抑えるのにちょうどよい(←サイズを抑えるくらいなら他のパソコンでも間に合うのですが)ということもあってです。

 

10年使い倒してきたこのパソコン並、否それよりまだ昔に自作したFlightGear用のAircraftであるJunkers Ju EF 128が今回の話題です。

 

↑ドイツ空軍の幻の無尾翼ジェット戦闘機Ju EF 128 翼下にルールシュタールX-4ミサイルを吊るしてみた

 

実際のJu EF 128は、先の大戦末期にドイツ空軍が行ったコンペのために開発された無尾翼のジェット戦闘機です。コンペの結果正式採用されたのはFock-Wulf Ta 183でしたが、Ju EF 128の生産開始も決定され、契約も締結されたものの、工場が連合軍に制圧されて完成をみることはありませんでした。


自作のJu EF 128ーロケット弾発射はOK

 

今回、自作のJu EF 128を久しぶりに飛ばしてみる気になったのは、FlightGearのバージョンアップによりかつてできていたのに今ではできないことが増えている現実に、Ju EF 128にも不具合が生じるようになっていないかを確かめてみたくなったからです。

 

もう一歩踏み込んで言えば、AIシナリオでAI機が飛ばせなくなった最近のFlightGearで、Bombable add-onが機能して空戦でAI機の撃墜を描けるのかが気になり、Bombable対応の機体にしてあるJu EF 128を使って試してみたいと思ったからです。

 

↑レーダーは、一見動いてそうですが、今では実際を反映しなくなってしまいました

 

結果は、自作のJu EF 128(及びJu EF 128 custom)は、今でも無事ロケット弾を発射することができました。ただし、Ju EF 128 customのレーダーは機能しなくなっていることを、以前確認していたにもかかわらず忘れていました。

 

他に不具合は、開発版のFlightGear2020.4.0では問題はありませんでしたが、安定版の2020.3.19では、Ju EF 128の車輪が黄色と黒のトラ縞になって見えることくらいです。

 

レーダーが使えないとなると、空中給油機を探して接近する自信がまったくもってありません。FlightGearのTanker Controls機能を試してみようと思っていたのですが…。