Darkside(リンクエラー修正しました)

<< 前のページ

2017年8月17日(木) 21:31

イケイケ

 2系統並行は大変だったが、その分だけ先を急ぐ。すなわち、棒磁石地帯後は、2周目+1690フレームというベストケースに遅れていなければ、どんどん先に進める。いや、更に0.5フレーム以内の遅延であれば、部分的に遅い可能性もあるので先にい進めて様子を見る。

 こうして3連続コーナーの2つ目まで、2周目+1690フレームをキープ。3つ目では+1690.4フレームの解しか発見できなかったが、いちおう先まで実走させてみる。ゴールインは、2周目+1690.24フレームとなった。ここで我に返ったが、+1690フレーム以内は無理だったとはいえ、これまた最速ラップ(精密計算版)の更新である。
 また、ゲーム内ラップとしても3周目は1690フレームとなっていて、プラクティスよりも速いペース。ここはこれで満足すべきだと判断し、4周目へ向かう。

 更に4周目最初のショートカットファールでは、再スタートが3周目+1690フレームの解あり。3周目では右旋回が遅過ぎて使い物にならなかったが、今回は実用的な右旋回が可能。

 まさにイケイケで一気に製作がはかどったのだが、さすがに巨大な壁が待っていた。S-JET 噴射最適化4つのコーナーのうち、3つ目のコーナーが解無しになったのだ。どうやら S-JET の速度周期と旋回のための連続ブレーキのタイミングが最悪で、両者が打ち消し合って猛烈に遅くなる。
 そう、スクリプトを修正して強引に解を出したら、3周目+1692フレームなどというとんでもない解しか得られなかったのだ。

written by higashino [ゲーム] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

2017年8月16日(水) 21:13

操縦は難しい

 ドローンの操縦は、難しい。
 マルチローターはハードウェアがシンプルになるが、操縦は楽にならない。空中に浮いている物体は、基本的に不安定である。上昇力が重力を僅かでも上回れば、単に上昇するだけではなく加速度が付いて上昇速度がどんどん上がる。逆に重力を僅かでも下回れば、単に下降するだけでなく加速度が付いて下降速度がどんどん上がり、すぐ地面に衝突する。これを墜落と言う。
 墜落しそうだからと上昇力をアップさせて重力を少しでも上回れば、今度は加速度が付きつつ上昇しまくる。同じ高さに留まり続けるには、上昇力を常に調整し続けねばならない。

 これが上下だけでなく、左右にも前後にも同様である。いや、更に回転まで加わる。
 大きな球体の上に置いた小さなパチンコ玉を、落とさず安定させるようなものである。いや、そんなパチンコ玉は前後左右の2軸バランスだけ取れば良いが、ドローンは上下まで加わった3軸+さらにスピン3軸までバランスさせねばならず、桁違いに難しい。
 現実には、これに風の影響まで加わるのだ。
 だからラジコンの世界で、操縦が最も難しいとされるのがラジコンヘリなのだ。ドローンも力学的にはヘリの仲間であり、操縦は同様に究極に難しい。

 懐かしの月面着陸ゲームをプレイすれば、ドローン操縦が難しい理由を実感できるだろう。

 さて、これでは実用にならないので、一般にドローンと呼ばれるものは操縦を補助する機能を内蔵している。
 具体的には、フィードバックを自動的に行って座標を安定させるのだ。例えば、コントローラーで上下の動きが指示されていない場合は、上昇力を自動的に重力と均衡させて同一高度を保つ。左右の動きが指示されていない場合も、左右に移動しないよう自動的に位置を保つ。
 操縦で移動や旋回が支持されていないなら、空中で停止するよう自動的に全ローターの回転数を調整する。

 こうして操縦は簡単になるのだが、非常に大きな問題がある。それは、フィードバック制御を行うためには、ドローンが自分自身の状態を知らねばならないという点だ。
 高度が上昇しているからローターの回転数を落として上昇力を小さくする。そういう制御を行うためには、高度が上昇していることを知らねばならない。人間ならドローンを見て判断できるが、ドローン自身はどうやって知れば良いのか?
 ここで登場するのがセンサーである。
 ドローンはいろいろなセンサーを搭載し、自らの高度や前後左右の位置や、スピン状態を把握している。それに基づいて、フィードバック制御を行い、姿勢を安定させ操縦を楽にする。
 しかし、高度や座標やスピン状態をセンサーで把握するのは、実はそれほど簡単ではない。

written by higashino [マルチローター] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

2017年8月15日(火) 20:58

2系統試す

 これまで経験しなかったほど、初期値と最速解に相関が高い。突発的な速い解が、いっさい出て来ない。仕方なく、これまでのうちで最速の解を初期値とし、続きを実走させてみる。1周目+1690.4〜0.5フレームというペースが途中でほぼ1690フレーム差まで追い付いたが、それは速遅判定の妙に過ぎず結局ゴールラインではラップ1691フレームになってしまった。

 しかし改めてプラクティスを見ると、やはり2周目はラップ1691フレームだった。ゲーム内表示でラップ25秒36。要するに、全く同じである。
 内部座標に基づいて計算した精密ラップタイムは、プラクティス2周目が1690.78フレームであり最速の4周目でも1690.72フレームだった。これに対し、今回のグランプリ2周目は1690.42フレームと断然速い。ラップ初期に1周目+1690フレームペースだったので期待値が上がってしまったが、実際にはこれまでで最速のラップを刻んだのだ。

 そこで製作を先に進めることにしたが、さっそく3周目のショートカットファールで厄介な問題に直面。2周目のラップが1690と1691の間なので、引き戻され直後の再スタートフレームは2周目+1690フレームなら上出来。+1691フレームなら残念だが許容範囲ということになる。
 +1690フレームの解は存在したが、右旋回がキツい。最大限に右ハンドルを切り続けても、ガードビームには接触するがガードビームに弾かれるほど旋回することはできない。つまり、究極イン攻めはできない。

 +1691フレームの解であれば、右旋回は最高級に余裕。するどいイン攻めで走行距離を短くできる。
 前例からすると、最初の1フレーム差は大きく、右旋回の良し悪しでは逆転できない。だが今回は、余りに両者の右旋回が違い過ぎる。最大右旋回でもガードビームに弾かれるまで旋回させられない、というのはスクリプトが誤動作するレベルに悪い。スクリプトを動かすことさえ一苦労する。

 やむを得ず両方試して速い方を採用することにしたが、この S-JET 最適化部分は計算量が膨大で、ただでさえ計算時間が掛かる。それを2系統試すのだから、ますます製作進行が遅くなる。

written by higashino [ゲーム] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

<< 前のページ

Darkside(リンクエラー修正しました)

Generated by MySketch GE 1.4.1

Remodelling origin is MySketch 2.7.4