So-net無料ブログ作成
検索選択
前の5件 | -

ドローンのシステム基礎を学ぶ(12) [ロボットを作ってみる!]

前回まで、PID制御の基礎理論について学びました。今回はこれをドローンに応用したいと思います。ドローンの制御系を振り返ってみます。詳しくはこちらを参照してください。


BasicDroneControl.png


この時K(-1) は、下記のように表現できます。詳しくはこちらを参照してください。


drone_control4.PNG


これにPID制御を加えると下記のようになります。システムを簡単化するために、Kr = Kp = Ky = Kt = k/4 としました。また、p1, p2, p3, p4 はそれぞれのモーターのばらつきを補正する係数です。


Drone-PID-system.png


次はこれがどのようなプログラムになるのか確認してみたいと思います。
(^_^)/~





Building Your Own Drones: A Beginners' Guide to Drones, UAVs, and ROVs

Building Your Own Drones: A Beginners' Guide to Drones, UAVs, and ROVs

  • 作者: John Baichtal
  • 出版社/メーカー: Que Publishing
  • 発売日: 2015/09/14
  • メディア: ペーパーバック



ジーフォース G-FORCE PXY CAM ドローン オレンジ・GB301 1067656 【1点】

ジーフォース G-FORCE PXY CAM ドローン オレンジ・GB301 1067656 【1点】

  • 出版社/メーカー: UNderSell(アンダーセル)
  • メディア: ホーム&キッチン



HPHELI Batfly 250 Quad Racer Drone DIY Kit [並行輸入品]

HPHELI Batfly 250 Quad Racer Drone DIY Kit [並行輸入品]

  • 出版社/メーカー: HPHELI
  • メディア:




0.5インチのOLEDディスプレイって売ってるんだ… [Arduino]

ここ数日、咳こみながらも会社に行き、早めに帰って10時間以上寝るという生活を続け、ようやく体調が復活してきました。やれやれ・・・。


glico.png


そんな寝こんでいる合間に、マイコンで駆動できる極小ディスプレイが欲しいなと思いネットを漁っていたら、0.5インチのOLEDディスプレイってあるんですねぇ。


0-5-inch-oled-display.jpg
https://www.dfrobot.com/wiki/index.php/0.5_Inch_OLED_Display_SKU:DFR0376#Specification


SPIなのでArduinoにもつながります。これで何か面白いウェアラブルガジェットを考えられないかな・・・。
σ(^_^)?





1.27インチ 16ビット色のOLEDディスプレイ(microSDスロット付き)

1.27インチ 16ビット色のOLEDディスプレイ(microSDスロット付き)

  • 出版社/メーカー: スイッチサイエンス
  • メディア: エレクトロニクス






Gikfun 0.91

Gikfun 0.91" 128x32 OLED White LCD Display Module IIC I2C for Arduino EK1826

  • 出版社/メーカー: Esooho
  • メディア: エレクトロニクス




タグ:OLED Arduino 0.5inch

風邪をひいてしまいました・・・(T_T) [徒然日記]

ここ最近、仕事を根を詰めてやっていたのが祟ったのか、風邪をひいてしまいました。昨日くらいから喉が痛くなりはじめ、今日は筋肉痛が出てきました。


neru.gif


明日あたり熱出るのかなー。いやだなぁ。インフルではなければよいのですが・・・。最近はちょっと無理をすると、すぐに体調を崩します。やっぱり年ですねぇ。今日は早めに寝ることにします。








《明日は風邪で休みます》バカんバッチ☆公式バカTグッズ(面白缶バッジ)通販☆/

《明日は風邪で休みます》バカんバッチ☆公式バカTグッズ(面白缶バッジ)通販☆/

  • 出版社/メーカー: カネコトレーディング
  • メディア: おもちゃ&ホビー







ドローンのシステム基礎を学ぶ(11) [徒然日記]

前回、PI制御について学びました。PI制御は精度は高いですが収束まで時間がかかります。動きの激しいシステムでは使えません。


PIsystem.png


収束まで時間がかかるのは、小さな値を積算してフィードバックをかけるためです。小さな値を累積させてフィードバックに意味ある値にするまで時間がかかるためです。

時間がかかるのであれば、変化に応じてフィードバック量を増やしてやればよいということで、変化量の微分値を加える方法が考えられました。これが微分制御(D制御)です。


pidformura.png


変化量の傾き(微分量)を加えることによって、変化がはげしいときはフィードバック量が増えターゲット値に早く近づけることができます。


d.png


しかし、ハンドル操作で容易に想像がつくように、変化が激しい状況でフィードバック量をあまりに大きくすると制御不能に陥ってしまいます。


実際にプログラムを作って試してみましょう。質量は1g、測定間隔は0.1秒、手始めに 比例係数Kp、積分項係数Ki、微分項係数Kd の値はすべて1.0にしてみました。

#include <stdio.h>

#define MASS 1
#define TIME_INTERVAL 0.1
#define Kp 1.0
#define Ki 1.0
#define Kd 1.0

void main()
{
    float Vt = 80.0;  // Target Velocity
    float Vm = 60.0;  // Measured Velocity
    float Time = 0.0;
    float err_integ = 0.0;
    float pre_err = 0.0;

    printf("%f, %f\n", Time, Vm);
    for (int i = 0; i < 500; i++) {
	
	float err = Vt - Vm;
	err_integ += err * TIME_INTERVAL;
	float derr = (err - pre_err) / TIME_INTERVAL;
	
	float force = Kp * err + Ki * err_integ + Kd * derr;
        float dAcc = force / MASS;

        Vm += dAcc * TIME_INTERVAL;
        Time += TIME_INTERVAL;

        printf("%f, %f\n", Time, Vm);

	pre_err = err;
    }
}



これをグラフにしてみました。なんと微分項係数Kd が大きすぎたのか発散をしてしまいました。


PID_Kp1Ki1Kd1.png


ということで、Kp、Ki、Kd の値を変えてみて収束の様子を観察をしてみました。


PID_adjustment.gif


どうやら、この制御系の場合は、Kp = 7.0、Ki = 0.2、Kd = 0.02 がもっともよいようです。各係数の求め方はいくつか手法が編み出されていますので、皆さんも試してみてください。

この系をシステムとして表現すると下記のようになります。


pidsystem.png


これが有名なPID制御系になります。いわゆる古典制御と言われているものですが、ドローン制御やロボット制御でも未だに使われている現役の制御理論です。

次はこれをドローンの制御系に適用してみたいと思います!
(^_^)/~





エンジニアのためのフィードバック制御入門

エンジニアのためのフィードバック制御入門

  • 作者: Philipp K. Janert
  • 出版社/メーカー: オライリージャパン
  • 発売日: 2014/07/26
  • メディア: 単行本(ソフトカバー)






ArduinoとMATLABで制御系設計をはじめよう! (Physical Computing Lab)

ArduinoとMATLABで制御系設計をはじめよう! (Physical Computing Lab)

  • 作者: 平田光男
  • 出版社/メーカー: TechShare
  • 発売日: 2012/12/07
  • メディア: 単行本(ソフトカバー)




スマホサイズのドローン登場!? [徒然日記]

究極のセルフィーはドローンで!というのはよく言われていましたが、商品にするには厳しいだろうなー。と思っていたら、ついに現実にした強者が現れました!


AirDrone.png
http://www.airselfiecamera.com/


すごいなー。世の中にはすごい人がたくさんいるなぁ。キックスターターなので商品というにはちょっと早いですが、それでもすごい進歩です。

実際の動きも上記サイトの動画で確認できます。詳細のスペックはまだ分かりませんが、動画から分かる範囲でまとめてみました。

・バッテリー 240mh@3.7V
・5MPixel カメラ
・Micro USB 充電、内蔵メモリー参照
・ジャイロ、気圧、地磁気センサー
・2.4G WiFi
・姿勢センサー(ALTITUDE SENSOR) (←なんかよくわからず)
・姿勢制御用カメラ(STABILITY CAMERA)
・ブラシレスモーター
・内蔵SDカードメモリ 4GB
・アルミ筐体 52g

動画を見ると2つのプロペラの距離が近いので制御がやや不安定ですね。カメラがついている方向なので、ブレは大丈夫なのでしょうか。動作が不安定なだけに横方向の動きは厳しそうです。

筐体だけでも52gなので、それにモーター4個、バッテリーがつくので全体で100g弱くらいでしょうか。その重さを240mAh のバッテリーで動かすとなると、持続時間はそれほど期待できそうにないですね。

しかし、この大きさのドローンにリモートカメラ機能を詰め込んだのはすごい技術力です。早く市場に出るのが楽しみです。
(^_^)
















タグ:Drone QuadCoptor
前の5件 | -