勘
pidの係数調整でなんかコツを掴んだ
調整順はp→d→iで、pは控えめに(発散しない程度)、dは発散を極限まで押さえ込む、iは目標値までの足りない分の調整、と言った感じ大抵はこれでうまく行く
4chip戦車開発記その2 〜照準編〜
照準については、その1でも触れたけど、開発を続けていくうちに問題が浮き彫りになった。それは、旋回が追いつかず目標に照準が合わないこと
自分の考えている要求仕様は、
・省Val・省chip
・150km/hを超える機動性
・数を容易に増やせる
・個別に命令を与えることが可能
・仰角上限 +90deg,-45deg
・静止目標との距離1200mでの照準誤差0.0007deg以下
・500km/hで運動する目標に対しても確実に命中させられる
・ARMのoptionは自由に設定可能
・味方識別機能
・無力化判定
・FCSの切り替え機能
・無駄撃ち防止機能
・AIによる完全自律行動
・地形データを元にした障害物の回避
予測射撃用の関数の精度はいいが、戦車の照準精度が良くない、照準している時の挙動が思っていたのとちょっと違う、見かけ上の目標の位置と実際の座標に遅延が発生している…などなど不満箇所を挙げていくと、全て照準関連なのが分かる
pidを使おうとは思うけどまだ知識不足
4chip戦車開発記 − その1 −
たまには開発記っぽいのを書いてみる
上下方向の照準は解決したものの、まだ横方向がうまく行っていない
照準精度はまずまず良いが、目標が接近した時に旋回が追いつかない.かといって係数を大きくすると今度は制度が落ちる
解決法:
1.PID制御でゴリ押す
2.何とかして式を作る
1は高速旋回に不向きな上,PID制御に関する技量が不足している
2は更に開発期間が伸びる
PID制御は研究を進めるとして,その代わりである2の数式を考えるにあたって,4つの要素を決めておくことにする
1.旋回角度
2.角速度相殺(発散防止)
3.撃った時のayのブレを抑制
4.z軸方向速度の相殺
とりあえず,射撃に関しては
「距離1200m,500km/hの目標に確実に命中させる」
が目標
走行系に関してはまた次書くときに。
4chip戦車
メインpcのHDDを整理していたら昔に開発中した4chip小型戦車を発掘したので改修してみた
その改修中に使ったテストモデルがこれ
通常の戦車は砲塔を回せば目標に照準を合わせることができるが、4chipになるとそうはいかない
GIFでないためわかりづらいが、画像の通りjetの角度を変えることで上下方向、wheelの出力調整で旋回を制御して照準を行う。
が、実はjetの角度を変えるだけではjetの角度が負になる(画像のようになる)と重心の関係でjetが浮き上がり、照準が出来なくなってしまう
そこでwheelの角度も変えて浮き上がりを抑えてやる必要があるが、その式の開発にかなりの時間を使った。こいつの開発時間の9割はこの仰角の算出式だったと言っても過言ではない
結局、一年前はいい解決策が見つからずに放置していた
単純な数式で実現できるのではと思ったそこのアナタ! いい勘してますねぇ(ぉぃ)
結局、仰角に関する数式は、たったの数行で終わってしまった。それでも、最適な角度と算出される角度には誤差がある(変動する)ため、応答性はまだよろしくない
文章だけ読んでもわからんと思うので、テスト中の動画置いときますね。