So-net無料ブログ作成
検索選択

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

前回、速度差をベースとしたフィードバック制御について学びました。これを比例制御(P制御)と呼びます。


feedback_system3.png


せっかくなので、プログラムでこのP制御をシミュレーションをしてみましょう。質量は1g、測定間隔は0.1秒、比例係数は1.0にしてみました。

#include <stdio.h>

#define MASS 1
#define TIME_INTERVAL 0.1
#define K 1.0

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

    printf("%f, %f\n", Time, Vm);
    for (int i = 0; i < 500; i++) {
	
	float force = K * (Vt - Vm);
        float dAcc = force / MASS;

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

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



これをグラフにすると下記のようになります。理論通り、80km/h に近づいています。


P_feedback.png


ただ収束値を拡大してみると、80km/h に限りなく近づいていますが 80km/h になっていません。これはマイコンの計算分解能の限界から出る誤差です。


P_feedback2.png


これは、わずかな違いのように見えますが、これが距離として累積されていくと次第に大きな誤差となって表れてきます。次は、このわずかな違いを補正する方法について学んでいきたいと思います。
(^_^)/~





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

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

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



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
  • メディア: ペーパーバック



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

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

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




nice!(29)  コメント(0)  トラックバック(0) 
共通テーマ:趣味・カルチャー

nice! 29

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

この記事のトラックバックURL:
※ブログオーナーが承認したトラックバックのみ表示されます。