【シミュレータ】自作ドローンについて③

初めに

ドローンのシミュレータを整備したので紹介する。githubにアップロードした。githubなんもわからん。
github.com

道具としてはMATLABを使用しており一部外部ソースも使用している。下記のURL参照のこと。
github.com
Apache License 2.0であり編集した場合はその変化点を明記する必要があるらしいが本稿紹介のシミュレータでは外部ソース自体には手を加えていない。

制御などは下記のブログ様を参考にした。ありがてぇ・・・
mtkbirdman.com

実行したらできるもの

雑な解説

main.m

シミュレーションの全体的な流れを書いてるスクリプト。制御則とかもここに書いてる。すでに記載されているゲインとかはチューニングされてるわけではなくなんとなく動く値が入ってるだけ。

init.m

シミュレーションで使う変数の初期化。

func_drone.m

運動方程式的な内容を書いてる。現状はドローンの式を入れてる。考慮しているのは慣性力とプロペラの推進力、反トルクのみ。

runge_kutta.m

るんげくった。4次。

gen_anime.m

アニメーション描画制御用の関数。

Draw_now.m

3Dモデル描画用関数。gen_anime.mと一緒にしてもよかったかもしれん。「drone.obj」ファイルを読み込んで表示するようになっている。3Dモデルは自前で用意されたし。なお、X軸が機体前方、Y軸が機体右側、Z軸が下になっている。航空機で使う座標系はみんなこんな感じらしいよ。

read_vertices_and_faces_from_obj_file.m

.objファイルを面データにしてくれる素晴らしいスクリプト
github.com

その他変換君たち

omg2qd.m
q2c.m
q2qd.m
q2ramt.m
qdot.m
ramt2q.m
rpy2c.m
u2omgd.m
c2q.m
c2ramt.m
c2rpy.m

注意事項

計算間違ってるかもしれないので使用は自己責任で。(間違ってたらこっそり教えてほしい。)
一部外部ソース使ってるのでライセンスには気を付けてね。