000000 ランダム
 HOME | DIARY | PROFILE 【お気に入りブログ登録】 【ログイン】

CPUを作ろう ~計算機教材とマイコンと電子工作~

Quadcopterの製作

クアッドコプター(Quadcopter)製作、その1

檜の角棒を買ってきて、クロスで固定し、クアッドコプターの自作中。
飛ばしやすいように大きめ、およそ2時間でここまでできました。
IMUなしで飛ばせる人ならこれで完成ですが、自分には当然無理なので、次は基板製作。
昨日試した、9軸センサーとラジコン受信機をArduinoで読み取り制御してみます。
上手く飛んだら、GPSも積んで自律化の予定。

  • CIMG5744.JPG


-追記-
基板作製途中、今日はここまで。
  • CIMG5748.JPG


------------------------------------------
クアッドコプター(Quadcopter)、自作その2

基板のハンダ付け終了。
午後から回路の最チェックして火入れ。

  • CIMG5751.JPG


  • 調整用のボリュームは着脱式にしました。いったん調整したら外してアナログセンサを
    接続できるように考えました。

  • CIMG5752.JPG


  • 配線イメージ。全備重量は610g。

  • CIMG5756.JPG


ちなみに、ここまでの製作時間は約5時間。

------------------------------------------
クアッドコプター(Quadcopter)、自作その3

制御プログラムを書き始めました。
2.4GHzのラジコンの送信機の信号読取が上手くいかず、2時間ほど悩みました。
信号をオシロスコープで確認したら、信号の出方が思っていたのとずい分違い、プログラムで解決するには手間が掛かりそうなので、古いラジコンの送受信機に取り替えました。
これで先日作ったデルタ翼機のプログラムを元にクアッドコプターの制御に書き換え。
スロットルの信号を4つのロータに分配、
エルロンで左右2こずつのロータに強弱をつけ、
エレベータで前後の2こずつのロータに強弱をつけ、
ラダーで、対角のロータ2こずつに強弱をつけて、
基本的な操縦のミキシングをつくりました。
そのあと、各軸のジャイロの信号を対応する対角のロータの強弱に加え、
ヨー軸については、ラダーと同じように4ローターに強弱を加えてみました。
安定性はありませんが、もうちょっとで飛ばせそうです。
必要な部品はそろっている状態で一から始めてここまでで約10時間。
とりあえず形だけつくるならクアッドコプターもそう大変ではなさそうです。
でも安定して飛行させるには、ここからがエンドレスですね・・・・。

  • CIMG5767.JPG


動画はこちら↓ 
クアッドコプタージャイロの動作確認
クアッドコプターを少しだけ浮かせてみた

------------------------------------------
クアッドコプター(Quadcopter)、自作その4

前と比べてソフトを改良しました。でも機体の剛性が低いようで、細かい振動をジャイロと加速度センサが拾ってしまい、制御が上手く効いないようです。もう少しパラメータを?いじって改善されなかれば、機体を改造するつもり。

その動画→ 自作クアッドコプター進展

------------------------------------------
クアッドコプター(Quadcopter)、自作その5

学生のY君がボディを改造。
剛性が低かったで、少し太い角材を使って、長さ1/2で作り直しました。
これで剛性の問題はなくなったようですが、機体のレスポンスが早くなって、安定させるのが更に難しくなりました。ジャイロや加速度センサのログ取り直しです…。

------------------------------------------
クアッドコプター(Quadcopter)、自作その6

進捗の記録。
今日は時間ができたので、ソフトの続き。
本体の振動やセンサのノイズや受信機読み取りの処理のタイミングで時々外れた値がでて、
それで微分(差分)制御に大きな誤差が乗り安定を乱していることがわかり、微分値を
スムージングで対処してみたら、ちょっと安定した。
地面すれすれ(5cm位)で操縦練習もかねて浮かしてる分にはいいけど、それ以上上げると振動が始まり飛ばせない。
比例と微分とスムージングの係数をボリュームで調整できるようにして状態確認中。
半歩進んだ感じだけど、まだまだ・・・


------------------------------------------
クアッドコプター(Quadcopter)、自作その7

進捗状況。
プログラムを改良して、やっと浮かせられるようになってきました。
良いパラメータを探せばもう少し安定できるようにはなると思います。
その動画

どこをどう変えたかというと、

1)ラジコンの受信機やセンサとマイコンの通信が不定期に入ってくるので、delayを入れてサンプリングの間隔を広めにとっていた。 
-> delayなしで時間間隔を計測しながらそれを考慮してサンプリングを繰り返すようにした。その結果、以前より多いデータ点数を使ったスムージングができるようになり、微分制御での誤差の影響を抑えることができるようになった?

2)サンプリングのたびに姿勢制御を行なっていた。
-> 両者を切り離した。計測した時間を積算して、おおよそ一定周期毎に姿勢制御を行うようにした。

------------------------------------------
クアッドコプター(Quadcopter)、自作その8

PIDを前より細かく設定できるようにして更に小さい範囲で試したら水平の安定が取れそうなところまできました。スロットル操作に敏感すぎるので、次はスロットルと関連付けたI制御を入れてみようと思います。
その動画

落としてぶつけてプロペラ破損、こんな感じでだましだまし修復↓
テープで貼ったり、ピタガンで補修したり。

  • CIMG5961.JPG
  • CIMG5963.JPG



------------------------------------------
クアッドコプター(Quadcopter)、自作その9

3軸加速度センサによる高さの検出。
3軸のオフセットをキャンセルしたあと3軸を合成して全加速度の変化が高さ方向の変化だけによるとして高さを計算してみたらこんな感じ。角度も使えば横方向の移動も分離できるけど、不確かさがますので、まずは高さ方向だけパワー制御に加えてみる。

  • kasokudo-log-graph.jpg


-追記-
スロットルがじわっと効いてくるようにプログラム、もちろん緊急時はすぐOFF.
加速度センサにより上下動を検出して、モータのパワーに補正を加えるプログラムを追加してログとってみたグラフ↓
思った通りにはできてます。飛ばしてみないと、これで良いのかどうかは分かりませんが。
パワーを上げた時の振動を加速度センサが拾ってて、この時コントロールが効くかどうかも不安な感じです。

  • gravity-log.jpg


-更に追記-

加速度センサによる上下の調整を入れて飛ばしてみたら上手くいきました。
ゲインが大きいと、浮き上がると同時にストンと落ちるような動作が起こり、ゲインを調整してやるとスムーズに浮上出来るようになりました。
これまで、下の図のように、浮上時にバランスが崩れて上に上がらないことが多かったのですが、加速度センサのおかげて浮上時にバランスが崩れた時も斜め上への加速度を検出して少し押さえてくれるので浮かせるのも楽になりました。

  • fujyou.jpg


次は、水平方向のオフセットのズレを加速度センサとジャイロを関連付けして自動補正させることを考えます。


------------------------------------------
クアッドコプター(Quadcopter)自作その10

超音波センサ付けました。
ところで、AR.Drone借りてきて飛ばしました。この安定感には脱帽です。
闘志が湧いて来ました。

  • CIMG5965.JPG


  • 大きさを比較すると、自作のクアッドコプターと偶然にもほぼ同じ。発泡スチロール板でガードを作ってもいいかもしれませんね。

  • CIMG5967.JPG


  • AR.Droneを操縦して、高さ方向の制御をかけた方が操縦しやすいなぁ、と思ったので、早速ですが超音波センサを取り付け。

  • CIMG5972.JPG


  • 置いた状態では地面に近すぎですが、地面から2センチ位までゆっくり上昇・下降できれば御の字です。

  • CIMG5978.JPG


使った超音波センサの信号は、アナログ、パルス幅、シリアルの3通り出てますが、今回はパルス幅を読み取ることにします。比較した結果、誤差と変動がすくなく安定した距離が読めます。
マイコンの処理がだんだんと込み入ってきましたが、ArduinoのDigital 3 pinに接続して、割込み処理でパルス幅読み取りを行なってみるつもりです。

------------------------------------------
クアッドコプター(Quadcopter)自作その11

制御のタイミングについて、現状の制御ループについてまとめます。このままで良いかはわかりませんが。

1)制御ループは、
 1周期の時間計測、3軸ジャイロ、3軸加速の読み取り、
 時間で補正してジャイロの積算により角度の算出、P,I,D制御値の計算
 を行なっています。通常3ms程度で回っていますが、割込み等が入ると10ms
 以上かかる時があるので角度計算に時間補正は必須。
2)制御ループ内で時間をカウントし、およそ20ms周期でモータ出力を制御
3)100ms毎に割込みで、R/C受信機を読み取り。
4)外部割込みで超音波線センサのパルスを読み取り。
5)GPSはシリアル通信で読み取る予定。


------------------------------------------
プロペラが問題?

書類仕事もあって、クアッドコプター進んでませんが。。。
振動をどう対処すればいいのかyoutubeのQuadcopterの動画を見てて思ったのは、ちゃんと飛んでるやつは、自分のと比べてモータやペラの振動が小さいなぁ、ということ。
入手できた逆ピッチのAPCのペラは結構重く15g,手持ちのGWSのペラ5gの3倍。丈夫なんですが手持ちのモータと軸径があってないこともあって中心が出てないし振動が大きいのはこのせいかも。
ということでGWSのの軽いペラで逆ピッチが入手できるものを探してからまた続きをやります。

------------------------------------------
クアッドコプター(Quadcopter)自作その12

クアッドコプター、プロペラ変えました。
前のプロペラは硬くて重くて中心がズレてて振動が大きかったので、軽い3枚ペラに変えてみました。
静かで低回転でも揚力も大きく、2セルバッテリで十分浮きそうです。全備重量573gになりました。

CIMG6146.JPG

早速飛ばしたら、ふわっと上がってくるっと半回転していきなりペラ破損。
動的なパラメータが全然違ったらしく無謀でした。
でもプログラムと調整で安定して飛ばせそうな感じ。プロペラの選定を先にやるべきでした。

CIMG6145.JPG

-----------------------------------------
クワッドコプターにも足つけた

トライコプターに簡単に足が付いたので,クワッドコプターにもつけてみた.
4本足はちゃんと長さと角度調整しないとガタガタになるのでちょっとだけ手間がかかった.
といっても製作時間は20分(1本5分).

CIMG7499.JPG

-----------------------------------------
この後,DIY Dronesで開発されているコントローラAPM2.5を使ってArduCopterに
改造しました.

こちらへ→ ArduCopterに改造

-----------------------------------------

広告: 買ったほうがたぶん簡単です↓

小型クワッドコプタークアッドコプターT80

--追記--
ラジコン技術で先月から、マルチコプター入門の特集をやってます。記事を読んでたら、見落とがあることがわました。なのでGWの子守の合間はプログラム修正。なんだか上手くいきそうな予感。
  • CIMG5866.JPG

【送料無料】ラジコン技術 2012年 05月号 [雑誌]


Android端末/iPhone/iPad/iPod touch等スマートフォンで操縦!新感覚Wi-Fi コントロールラジコンヘリコプター!ラジコン ヘリ(室内・屋外) Android端末/iPhone/iPad/iPod touchで操縦! PARROT AR.Drone

楽天から買えるのはこれ↓ どんな信号がでてるかは不明。

超音波センサー USTX-1(送信部)



Copyright (c) 1997-2018 Rakuten, Inc. All Rights Reserved.