2022年2月24日木曜日

剛体としてのドローンのシミュレーション(3):実行

先の、剛体としてのドローンのシミュレーション(2):むだ時間ありモデルで定式化したモデルを実際にシミュレーションしてみよう。

シミュレーションで使ったプログラム(C++)は、以下のサイトからダウンロードできる。

https://github.com/toyowa/pidsimulation

そのサイトの中の、timelag-2.cppというプログラムを選択してダウンロードしてください。前の記事の最後の縮約したものではなく、その手前の漸化式をそのまま入れている。実行すると、実行した日時(秒単位)の付いたファイルの中に、ログを吐き出す。それはCVS形式なので、EXCELなどで計算やグラフィカルな処理ができる。ログファイルの冒頭に、実行時のパラメータが書かれている。

パラメータは基本以下のように定義されている。

$ホバリングプロペラ回転数 V_{0} = 13000 rpm$
$モーター起動力パラメータ \delta = 1e-08$
$機体慣性モーメント I = 0.01 Kg*m^{2}$
$\eta = 0.01924 $
$中心からモーター位置までの長さ L = 0.37 m$
$PID制御パラメータ P = 300$
$PID制御パラメータ D = 300$
$シミュレーションステップのh = 0.01 sec$
$シミュレーション期間(1期間10ms) T = 2000 periods$
$むだ時間:遅延 \tau = 20 期間、時間では 200ms$
$初期 \theta = 0.5 radian$
$初期 \omega = 0 radian/sec$

パラメータは、基本自作のドローンから取ってきているが、慣性モーメントIだけは、実測する元気が湧かず、似たような機体を使った論文の値に近いものを考えている。そうなるとI=0.1くらいなのだが、このリファレンスパラメータでは、あえてその十分の1と、小さな値に設定している。すなわち、他の諸元はやや大きなドローンだが、慣性モーメントだけは小型ドローン、下手すればマイクロドローンくらいのこじんまりしたドローンになっている感じだ。実測もしていないので、この想定も外れているかもしれないが。

このパラメータを基本に、シミュレーションを実行する。変更する場合は、変更したパラメータのみを表示する。

(1)基本パラメータによるシミュレーション

まず、上記のパラメータをそのままに実行した場合の結果を示そう。

かなり短い時間で安定したホバリングを回復していると思われる。オレンジ色がプロペラの回転数で、ホバリングの回転数は1300rpmにしているので、そこへ収束している。機体のロール角(青色の線)もまたゼロ(右の目盛りで)に向かって収束する。

収束に至るまで、約1秒周期の揺れが起こっている。機体の慣性モーメントは小さいが、モーターまでの腕の長さはかなり大型のドローンになっているので、それほど周期の短い揺れが現れることはないのだと思う。

何よりも、200msのむだ時間があるにもかかわらず、このような収束結果を見せることには驚いた。

(2)慣性モーメントを0.1でシミュレーション

慣性モーメントを10倍にした結果は次のとおりである。

収束に向けてより時間がかかっているように見えるが、そもそも揺れの振幅が小さいので、それはあまり問題にならない。慣性モーメントが大きくなったことによって、揺れの周期が大きくなっている。1周期が5秒くらいになっているようだが、収束への過程として見ると、あまり問題にはならないのではないか。

(3)慣性モーメントを0.1、制御パラメータをP=100, D=50に低下させた

慣性モーメントを大きくしたまま、制御を弱めた。
当然ながら、大きな揺れのまま、収束させる力が弱まっている。

(4)慣性モーメント 0.1で、P制御パラメータを1000に増加させた

結果は次のようになる。

慣性モーメントは大きくしたままであるにもかかわらず、収束に向けた揺れの周期が短くなった。

他にも色々試みたが、全体として収束傾向は変わらなかった。すなわち、むだ時間がしっかりあるにもかかわらず、剛体としての慣性モーメントを考慮すると、ホバリングの安定性がある程度確保できるのである。これは大きな発見だった。

これで、ドローンのホバリング安定性に関わる数値的分析は、一通りやったことになる。


0 件のコメント:

コメントを投稿

920MHz帯無線通信モジュールTY92SS-E2730を使う

 先にも書いたが、ドローン2号機上のコントローラーはラズパイ4で、それとのやりとりをもともとWIFI経由で予定していたが、機体がアルミパイプであるために通信が不安定で使い物にならなかった。そこで、プロポに変えた。プロポの信号取り出しもなんとか安定できるようになったが、そのシステム...