AI機のフライトプラン等について
- このフォーラムに新しいトピックを立てることはできません
- このフォーラムではゲスト投稿が禁止されています
AI機のフライトプラン等について
msg# 1
zero1962
居住地: 三重県
投稿数: 229
AI機でRJTTの34Rから離陸して東京タワー近くで旋回しまた南に下り再び34Rから進入着陸するフライトプランを建てました。(実際にRV-6Aで実行し、playbakEXで飛行記録をとり緯度経度高度を設定しました。)
ところが、AI機で実行してみると離陸は期待通り実現できるのですが、着陸進入で34Rを越えようとすると、まだ続きのWPがあるのに、最初のWPからリセットされてしまいます。シナリオのリピート回数は1です。
もしかしてすでに通過したWPでも再び近づくとより近いWPに影響されてしまうのですか?のの字のフライトプランは実現できないのでしょうか。
以下にシナリオファイルとフライトプランのコードを示します。
シナリオ
フライトプラン
ところが、AI機で実行してみると離陸は期待通り実現できるのですが、着陸進入で34Rを越えようとすると、まだ続きのWPがあるのに、最初のWPからリセットされてしまいます。シナリオのリピート回数は1です。
もしかしてすでに通過したWPでも再び近づくとより近いWPに影響されてしまうのですか?のの字のフライトプランは実現できないのでしょうか。
以下にシナリオファイルとフライトプランのコードを示します。
シナリオ
<?xml version="1.0"?>
<PropertyList>
<scenario>
<entry>
<callsign>zero1962</callsign>
<type>aircraft</type>
<class>jet_transport</class>
<model>AI/Aircraft/A6M2/Models/a6m2-kt-anim.xml</model>
<flightplan>kt_plan.xml</flightplan>
<repeat>1</repeat>
</entry>
</scenario>
</PropertyList>
フライトプラン
<?xml version="1.0"?>
<PropertyList>
<flightplan>
<wpt>
<name>p0</name>
<lat>35.5425</lat>
<lon>139.803</lon>
<alt>11.0</alt>
<ktas>20</ktas>
<gear-down>true</gear-down>
</wpt>
<wpt>
<name>p1</name>
<lat>35.5462417</lat>
<lon>139.8005161</lon>
<alt>11.0</alt>
<ktas>150</ktas>
</wpt>
<wpt>
<name>p2</name>
<lat>35.5537837</lat>
<lon>139.7949315</lon>
<alt>480.0</alt>
<ktas>180</ktas>
<gear-down>false</gear-down>
</wpt>
<wpt>
<name>p3</name>
<lat>35.5894831</lat>
<lon>139.7690569</lon>
<alt>1289.5</alt>
<ktas>110</ktas>
</wpt>
<wpt>
<name>p4</name>
<lat>35.6093189</lat>
<lon>139.7674569</lon>
<alt>1282.7</alt>
<ktas>140</ktas>
</wpt>
<wpt>
<name>p5</name>
<lat>35.5543390</lat>
<lon>139.8121749</lon>
<alt>1000.0</alt>
<ktas>100</ktas>
</wpt>
<wpt>
<name>p6</name>
<lat>35.5345438</lat>
<lon>139.8174436</lon>
<alt>500.0</alt>
<ktas>90</ktas>
</wpt>
<wpt>
<name>p7</name>
<lat>35.5332030</lat>
<lon>139.8059995</lon>
<alt>311.7</alt>
<ktas>70</ktas>
</wpt>
<wpt>
<name>p8</name>
<lat>35.5411274</lat>
<lon>139.8039691</lon>
<alt>166.5</alt>
<ktas>40</ktas>
</wpt>
<wpt>
<name>p9</name>
<lat>35.5460553</lat>
<lon>139.8004339</lon>
<alt>22.5</alt>
<ktas>35</ktas>
</wpt>
<wpt>
<name>p10</name>
<lat>35.5472020</lat>
<lon>139.7997930</lon>
<alt>10.8</alt>
<ktas>25</ktas>
</wpt>
<wpt>
<name>p11</name>
<lat>35.548020</lat>
<lon>139.7990930</lon>
<alt>10.8</alt>
<ktas>20</ktas>
</wpt>
<wpt>
<name>END</name>
<lat>35.5484466</lat>
<lon>139.7989860</lon>
<alt>10.8</alt>
<ktas>0</ktas>
</wpt>
<wpt>
<name>EOF</name>
</wpt>
</flightplan>
</PropertyList>
投票数:23
平均点:5.65
Re: AI機のフライトプラン等について
msg# 1.1
virtfly
投稿数: 61
横手から失礼します。
この件については、わたしもぜひ知りたい。
若干の関連質問をさせて下さい。
Zero1962さんの質問は、フライトプランで「の」の字の飛行ができないものか、といった質問かと思います。この点に関しては、必ずしも不可能ではなさそうです。
Zero1962さんのフライトプランにそくして言えば、最後の方の<name>END</name>の部分をENDではなく、<name>p12</name>とでもしておけば、AI機は「の」の字の飛行を続けた後着陸します。ただし着陸後も機体は消えずに残ります。
闇雲に試みた結果ですが、本当にこれで正しいのか、あるいはなぜそうなるのか、無知なわたしにはさっぱりわかりません。フライトプランにはどうも記述のきまりがありそうな感じもするのですが、どうなんでしょう。ぜひどなたか詳しい方にお教えいただきたいと思います。
この件については、わたしもぜひ知りたい。
若干の関連質問をさせて下さい。
Zero1962さんの質問は、フライトプランで「の」の字の飛行ができないものか、といった質問かと思います。この点に関しては、必ずしも不可能ではなさそうです。
Zero1962さんのフライトプランにそくして言えば、最後の方の<name>END</name>の部分をENDではなく、<name>p12</name>とでもしておけば、AI機は「の」の字の飛行を続けた後着陸します。ただし着陸後も機体は消えずに残ります。
闇雲に試みた結果ですが、本当にこれで正しいのか、あるいはなぜそうなるのか、無知なわたしにはさっぱりわかりません。フライトプランにはどうも記述のきまりがありそうな感じもするのですが、どうなんでしょう。ぜひどなたか詳しい方にお教えいただきたいと思います。
投票数:11
平均点:5.45
Re: AI機のフライトプラン等について
msg# 1.1.1
zero1962
居住地: 三重県
投稿数: 229
virtflyさん、ご確認ありがとうございます。
確かに、最終wpのENDをp12とすれば、フライトプランは、リセットせずに、飛行をつづけ最終WPに向かいました。しかし、機体が、空中で停止してしまいました。wpには、だんだん誤差が溜まるのでしょうか。
わたしも、フライトプランの作成方法にうまい方法は無いものかと思っております。皆様の面白いフライトプランができましたなら、ご紹介お願いします。
確かに、最終wpのENDをp12とすれば、フライトプランは、リセットせずに、飛行をつづけ最終WPに向かいました。しかし、機体が、空中で停止してしまいました。wpには、だんだん誤差が溜まるのでしょうか。
わたしも、フライトプランの作成方法にうまい方法は無いものかと思っております。皆様の面白いフライトプランができましたなら、ご紹介お願いします。
投票数:12
平均点:4.17
Re: AI機のフライトプラン等について
msg# 1.2
toshi
投稿数: 1540
zero1962さん
toshiです。
AI機の機動力を最大にするために<class>jet_transport</class>を<class>ufo</class>に変更してからFlightGearを起動し、プロパティブラウザの/ai/models/aircraft/velocities でAI機の速度を観察してみました。
速度の変化からすると、AI機は一部のWPをすっとばしてしまっている様子が伺えます。
p0 20kt -> p1 150kt -> p2 180kt -> p4 140kt -> p11 20kt -> END 0kt
もしかすると、速度が速いときにはWPの通過判定基準が緩くなり、例えばp4を通過した後は、すこししか離れていないp5〜p11は通過したと判定されてしまうのかもしれない、と想像しますが、原因はそれだけではないかもしれません。
# この辺は、後述のソースコードを良く読んでみると何か分かるかもしれません。
具体的な解決策は分かりませんが、WPの位置と速度をトライアンドエラーで調整するしかないかもしれません。
なお、フライトプランの記述形式を解説した文章は、フライトプランのxmlファイル以外にこれといったものは見当たりませんでしたが、ソースコードのコミット履歴のログにいくつかのヒントが書かれています。
(AIModel/AIAircraft.cxx)
http://cvs.flightgear.org/viewvc/source/src/AIModel/AIAircraft.cxx?view=log
(AIModel/AIFlightPlan.cxx)
http://cvs.flightgear.org/viewvc/source/src/AIModel/AIFlightPlan.cxx?view=log
パフォーマンスクラス "UFO" について:
引用:
ウェイポイント"END"について:
引用:
※ENDについては、data\AI\FlightPlans フォルダにあるいくつかのサンプルファイルにも書かれています。
引用:
toshiです。
AI機の機動力を最大にするために<class>jet_transport</class>を<class>ufo</class>に変更してからFlightGearを起動し、プロパティブラウザの/ai/models/aircraft/velocities でAI機の速度を観察してみました。
速度の変化からすると、AI機は一部のWPをすっとばしてしまっている様子が伺えます。
p0 20kt -> p1 150kt -> p2 180kt -> p4 140kt -> p11 20kt -> END 0kt
もしかすると、速度が速いときにはWPの通過判定基準が緩くなり、例えばp4を通過した後は、すこししか離れていないp5〜p11は通過したと判定されてしまうのかもしれない、と想像しますが、原因はそれだけではないかもしれません。
# この辺は、後述のソースコードを良く読んでみると何か分かるかもしれません。
具体的な解決策は分かりませんが、WPの位置と速度をトライアンドエラーで調整するしかないかもしれません。
なお、フライトプランの記述形式を解説した文章は、フライトプランのxmlファイル以外にこれといったものは見当たりませんでしたが、ソースコードのコミット履歴のログにいくつかのヒントが書かれています。
(AIModel/AIAircraft.cxx)
http://cvs.flightgear.org/viewvc/source/src/AIModel/AIAircraft.cxx?view=log
(AIModel/AIFlightPlan.cxx)
http://cvs.flightgear.org/viewvc/source/src/AIModel/AIFlightPlan.cxx?view=log
パフォーマンスクラス "UFO" について:
引用:
Add a "ufo" performance entry for the AI Aircraft. This gives very agressive
accel/decel and climb/decend performance which is useful for some scripting
scenarios.
ウェイポイント"END"について:
引用:
When the airplane gets to the waypoint named "END" it vanishes. The
AIAircraft destructor deletes its flight plan (if it has one).
※ENDについては、data\AI\FlightPlans フォルダにあるいくつかのサンプルファイルにも書かれています。
引用:
Format:
<name> Waypoint name. When a waypoint named END is reached
the AI airplane will delete itself.
<lat> latitude, degrees (-90 to 90)
<lon> Longitude, degrees (-180 to 180)
<alt> altitude above sea level, feet
<crossat> Crossing altitude, feet
<ktas> Knots true airspeed
<on-ground> Set true is on the ground. The default value
is false.
<gear-down> Set true for gear down, false for gear up.
The default value is false.
<flaps-down> Set true for flaps down, false for flaps up.
The default value is false.
投票数:11
平均点:5.45