April 18, 2006

室内飛行機 航法系の検討

訳あって、体育館などの室内で飛ばせる模型飛行機の自律飛行を検討しています。室内で飛ばせる、というのが非常に制約になっていて、まず機体が小さくなければいけません。重さでいうと、全体の重量では150g以下、制御用のハードウェアに割り当てられる重量は最大でも50g程度、と軽いものでなければいけません。そしてGPSといった便利なものを使うこともできません(予算の関係で、室内用のLocal Positioning SystemはNG)。

目標としては、室内で旋回飛行等の簡単な自律飛行ができればよいとのことで、また模型飛行機の制御用の数値モデルはある程度推算することができる予定なので、問題となるのは制御系ではなく、現在の位置や姿勢を求める航法系の部分になります。ということで、航法系を検討することになりました。
その航法系についてですが、今のところ、2つほどプランがあります。

まず1つは機体に超音波センサ加速度計を搭載するプランです。超音波センサによって壁までの距離、つまり旋回のタイミングを計測し、かつ加速度計で重力方向をみることによって機体の姿勢を推定しようという作戦です。
ところがこのプランですが、うまくいくかどうか自信がまったくありません。なぜなら、問題点として、壁に対してできるだけ垂直に飛行しないと壁が検出できないのではないか、また乱暴な飛行をすると重力以外の加速度が発生し重力方向がわからなくなるのではないか、という点が考えられるからです。やってみてどうなるか、といったところでしょうか。
なおセンサについては秋月千石で手に入るものを考えています。

もう1つはビデオカメラを使用して、機体の外部から位置や姿勢を推定してあげようというプランです。まず、機体にマーカーをいくつかつけておき、それを左右に配置した2台のビデオカメラから撮影して三角測量を行うことにより位置や姿勢が推定できるのではないか、と考えています。ビデオカメラ自体は幸い近くに何台かDVカメラがあり、また動画の処理についてもFirewireでパソコンと接続し、DirectShowのAPIを叩けばできそうな感じがしています。DirectShowの参考ページとしては、DirectShowのビデオキャプチャプログラミングDirectShowプログラミング [VC++]がありました。

もしこれらの方法についてご感想・ご意見あれば是非コメント戴きたく思います。また、これら以外の方法も大募集中です、是非お教えください。

※その後、プロポとPCを接続して飛行機を制御する方法を検討しています。
※その後、機体側の検討をしています。
※その後、機体側に載せる基板のコードが完成しました。
※さらに、実験ではいわくつきですが、自律旋回飛行に成功しました。
※わかりやすい綺麗なコンセプト図も書きました。

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

カメラを用いた空間中の位置取得を行う場合、問題となるのがビデオカメラの解像度の低さです。普通のDVだと720*480程度だったでしょうか。これだと縦に10bit、横に9bitよりも低い量子化を行うということになってしまいます。すると、部屋の大きさによるのですが、三角測量をカメラで行う場合、奥行き方向への解像度が著しく下がることになります。20cm前進しているのにX-Yピクセルが(1,1)しか移動していない、なんてことになりがちかと。同様に、機体の姿勢の検出は困難になります。
また、カメラ→PC→画像処理→飛行機間のレイテンシの問題もでてきますね。
僕なら、(予算を考えていませんが)可能な限りローカルのセンサを用いて航行を行い、補助的に画像処理を利用する方法を取りたいですね。画像処理で空間(x-y-z)を4x4x4程度に分割しておき(もちろん奥行きがあるので正方形では区切れませんが)
|○|_|_|_|
|_|_|_|_|
|_|_|_|_|
|_|_|_|_|
○の位置に来たら旋回の準備を始め、ローカルのセンサで距離を測定。壁がセンサで発見出来たらターン。もしもx秒以上壁が見つからなかったら強制的にターン。…などのようにやるでしょうか。

Posted by: odawara : April 19, 2006 08:40 AM

odawaraさん、コメントどうもです。
確かに奥行き方向がシビアですね。カメラを3台、4台設置して対応するというのでなんとかならないかと思っています。あと画像で大体の位置を掴んで、あとはローカルなセンサに任せるというのもいいですね。検討してみたいと思います。

Posted by: fenrir : April 20, 2006 01:19 AM

室内飛行機ですか?軽量化は空を飛ぶものの究極の課題ですね.

月並みな考え方ですけど,加速度,角速度を測定し,姿勢推定を行い,積分誤差,測定誤差,ドリフトなどが無視できなくなったら,画像センサなどで補正する方法が無難でしょうね.

アクロバティックな飛行でなかったら,結構大胆な仮定を立てて,モデル化の後に実際に飛行させ,ギャップを埋める工夫を行えばそこそこうまくいくのではないでしょうか?

ただ,体育館の中だったら,磁方位センサの較正を工夫しなければ使い物にならないのが欠点ですね.

室内の6面を全て異なる色使いにして,機首にカメラを取りつけたら,少なくともどの面に向いているぐらいかは分かるのではないでしょうか?

室内飛行機の自律飛行の実現を楽しみにしております.それでは.

Posted by: Q太郎 : April 20, 2006 08:54 AM

Q太郎さん、ご意見、ありがとうございます。
室内のほうにもマーカー的なものを配置するという案はおもしろいですね。是非使ってみたいと思います。
あと、最終的には7月ぐらいに飛行させないといけないようなので、間に合うかどうかは正直厳しいですが、色々とがんばっていきたいと思います。

Posted by: fenrir : April 22, 2006 08:43 PM

 超音波を使って地上の基準点との距離を得て、それから3次元座標を得るのはどうでしょうか? GPSと原理は同じですので、Open source GPSと絡めることもできるでしょう。
 Webを検索すると卒論が結構引っかかるので、一ひねりすればそれだけで卒論のテーマぐらいはになりかねないネタのようです。が、逆に一ひねりがなければ案外簡単なのかもしれません。

 GPSとは逆に機体に超音波送信機を積んで地上に受信機をおいたほうが超音波の混信がなくて楽でしょう。
 以前に、学会発表で無指向性の超音波を得るために火花放電を使っているのがありました。ただ、当然可聴域の音も出るそうですが…。


 画像から位置を得る際にはレンズの歪みが問題になりますが、
グレイコードパターンを利用した レンズ歪みの補正手法
http://www.am.sanken.osaka-u.ac.jp/~echigo/miru2005.pdf
の補正手法が扱いやすそうです。


 大変そうですけど、とても面白そうな試みですね。成功を願っております。

Posted by: 爆竹銃 : April 29, 2006 12:01 AM

爆竹銃さん、情報ありがとうございます。
無指向性の超音波発振技術というのがあるのですね、知りませんでした。これを使えばGPSみたいなことができそうですね、面白そうです。ただ今回は期間がかなり限られているので、今回は見送ることになってしまいそうです。機会があったらチャレンジしてみたいと思います。

Posted by: fenrir : April 30, 2006 11:26 PM
コメントする









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