Super Sylphide 進捗状況(46) -- TinyFeatherの誘導制御スケルトン

無人航空機(UAV)用オートパイロットシステム TinyFeatherですが、ようやく足回りが終わり、楽しい匂いがするところにやってきました。誘導制御です。ちなみに僕は天邪鬼で、足回りである航法の方が面白かったりします。

誘導制御則を実装するにあたって、その骨組み、スケルトンを作ってみました。

TF_GC.png

図を説明すると、1つのループが一定時間間隔で繰り返されることで誘導制御を構成しています。中央の円がそのループで、順を追って説明すると

  1. 航法情報(どこをどういう状態で飛んでいるのか)の取得
  2. 入手した航法情報を元に誘導制御(どこをどうやって飛びたいか)の計算をする
  3. その計算結果を元に舵面やモータを、サーボ、スピードコントローラで動かす
  4. 計算結果のログを残す
  5. 地上局(Ground Station, GS)にテレメトリ(どこを飛んでいるかなど監視用情報)を送信

となっています。加えて、地上局からWay Point (WP)の変更など飛び方の指令が非同期的に送られてくる可能性があるので、それを処理できるよう、図の下に示すアップリンク通知ブロックがあります。

コードはguidance_control_skeleton.cppにあります。航法情報として得られるものはヘッダ guidance_control.h に書いてあります。TinyFeatherとこのコードを使って、皆さん独自の制御則を作ってみることが可能なようにしていきたいです。

※Tiny Feather用ADSがようやく完成しました。

※※その後、C/C++のコードを書かなくても誘導制御系が組めるようになりそうです

December 24, 2011 23:59 fenrir が投稿 : 固定リンク | | このエントリーを含むはてなブックマーク

コメント

コメントする