March 02, 2013

Super Sylphide 進捗状況(59) -- TinyFeather データフロー図

オートパイロットシステムTinyFeatherですが、データの流れが複雑化しつつあるので、そのまとめの図を作ってみることにしました。簡潔にまとめようと努力した結果、カラフルになってしまいました(笑)。以下、説明と共に図を示したいと思います。

まずは航法装置としての部分。

tinyfeather_data_flow_data_matrix.png

加速度計とジャイロを合わせた慣性センサ(IMU Sensors)、およびGPS受信機、 地磁気センサから、Data Matrixを経由してNavigationにデータが流れます。NavigationからはINS/GPS航法の演算結果が出力されます。図の全体的な説明になりますが、Data matrixおよびNavigationは対応するDSPのコードで、その他Guidance ControlというDSPコードがあります。その他の丸で囲まれたユニットは、Maeve(地上局ソフト)を除いて、TinyFeather内に搭載または接続された機器を表しています。

次は誘導制御の部分です。

tinyfeather_data_flow_guidance_control.png

Guidance Controlにて誘導制御が行われ、その結果がServo PWMに反映されます。計算にあたっては、航法情報に加え、地上から送信されたウェイポイントなどのXBeeからの情報、加速度ジャイロの生センサ情報、対気速度当のADS(Air data sensor)情報が入力として用いられます。さらにR/Cの受信機からPWM信号を取り込む機能もTinyFeatherあるので、赤色の千で示されるPWM Servoユニットとの通信は、出力だけでなく入力方向もあります。機体に合わせたオートパイロットを実装するには、Guidance Controlのコードを変更するだけです。

ログ機能です。SDカードへの記録となります。

tinyfeather_data_flow_sd.png

様々な情報をSDに流しています。この際情報は、Sylphide (ログ)データ形式に準じた形でSDカードへ書き込まれます。SDにはファーム書き換えや設定読み込みなど、システム全体への入力となる機能もありますが、この図では省略しました。

デバックのために、USBへも全ての情報を出力しています。

tinyfeather_data_flow_usb.png

USBへ情報を書き出す際は、頭だしやチェックサムの機能を備えるSylphide通信プロトコルに準拠した形で送信されます。Sylphide通信プロトコルは、(ログ)データをヘッダやフッタで包んだパケット形式になっていますので、上述のSDの図に示したものを斜線で包んで図示しています。

最後となりますが、通信用のXBee(等)です。

tinyfeather_data_flow_xbee.png

XBeeにも様々なデータを書き出していますが、通信速度がSDやUSBに比べて遥かに遅いので、データの更新頻度を落とした形で流し込んでいます。USBと同様、Sylphide通信プロトコルに準拠したデータ形式です。

イラストレータを触って図を描きました。時間はかかりましたが、楽しかったです。

データの流れがこの他にもあることを次の進捗記事で書きました。

23:59 fenrir が投稿 : 固定リンク | | このエントリーを含むはてなブックマーク | この記事をdel.icio.usでブックマーク | トラックバック
このエントリーのトラックバックURL: https://fenrir.naruoka.org/mt/mt-tb.cgi/875
コメント
コメントする









名前、アドレスを登録しますか?
(次回以降コメント入力が楽になります)
  • 匿名でのコメントは受け付けておりません。
  • 名前(ハンドル名可)とメールアドレスは必ず入力してください。
  • メールアドレスを表示されたくないときはURLも必ず記入してください。
  • コメント欄でHTMLタグは使用できません。
  • コメント本文に日本語(全角文字)がある程度多く含まれている必要があります。
  • コメント欄内のURLと思われる文字列は自動的にリンクに変換されます。