お世話になっております。九州大学の松藤です。
今度、研究で新たに「オプティカルフローセンサ」を用いて姿勢制御を行うことになりまして、APM2.5にそのオプティカルフローセンサを組み込もうと考えています。
組み込もうとしているのは、ZMP社のOpticalFlow-Z(http://www.zmp.co.jp/of-z.html)です。
このセンサを組み込む際にはファームウェアの書き換えが必要だと思います。そこでArducopterのプログラム付属のサンプルプログラムを参考に書き換えを行おうと考えています。
そこで質問なのですが、このサンプルプログラムは単純にArducopter.pdeの中に追加して、各設定値を書き換えるだけなのでしょうか?それともdefine.hの中にアドレスなどを書き加える必要があるのでしょうか?
Replies
Miwaさん
わざわざtutorialを作っていただくとは・・・、申し訳ありません。大変助かります、ありがとうございます。
方法に従ってソフトをインストールしなおして、テストプログラムを実行してみたのですが、以前Torataniさんが質問されていたような以下のコンパイルエラーが出ました。特にerrorと表示されている部分は見当たらないのですが、Arduino IDEの設定の問題でしょうか?
OFは機体の直下をみて、前後左右の移動量を推定算出するだけなので、
これで機体の姿勢を制御しつつのホバリングはむりでしょう。
姿勢制御系で水平を保ちつつ、
OFから得られた移動量に応じた、
キャンセル用の目標角度を姿勢制御系に与える、
つまり、Stabilzeモードに対して、エルロン・エレベータとして与えるべきだと思います。
これは、Arducopterを書き直すとしても、姿勢センサ回りを使わないわけにはいかないと思いますが。
こんばんは
徳島大学のUemuraです.
サンプルプログラムというのはArducopterの各ライブラリに含まれるサンプルでしょうか?
それならArducopter.pdeとは関係なく単体で動作するはずです.
Ardupilot用のArduinoIDEでサンプルプログラムを開いて,コンパイル->書き込みで動作します.
Miwa先生の書き込みにあるフローセンサではPWM出力があるようなのでRC入力の空きポートから読んで
その数値を現在のOF_Loiterの処理部分で使用すれば,なんとかいけそうな気もします.
Arucopterのサンプルではなくて、ソースコードを改造されるということだと理解しました。
OpticalFlow-Zをどう接続するかによると思います。
カタログをみると、USBでパソコンに接続することが前提のようなので、
APMに接続するには、USB-UART変換が必要なようで、メンドウそうですね。
私なら、PWM出力型超高速小型組込オプティカルフローセンサモジュール のほうにして、
フライトコントロールするArducopterをやいたAPMと、
受信機からのエルロン・エレベータ・切り替えの3つと、フローセンサからのXYの5chのPWMをうけて、
フローセンサの結果を考慮したエルロン・エレベータを出力する二つ目のAPMで、
実験系を構成します。
うちはだいたいこんな感じで外部センサやヒューマノイドロボットを動かしてます。
Arducopterのソースの改造は不可能ではないとおもいます。
uemuraくん、どうですか?