• ベストアンサー

ライントレースロボットのPID制御を用いての姿勢制御について

ikkyu3の回答

  • ikkyu3
  • ベストアンサー率43% (535/1229)
回答No.2

自動制御は、理論的には整然としていて、とても気持ちが良いものですが、実現しようとすると、掴みきれない制御要素が、たくさん有って結局試行錯誤になり難しいですね。 もう長年ご無沙汰して記憶も薄れているので、ご質問を読んでも勘が働きませんので参考程度に読んでください。 機械系にバックラッシュや撓み、慣性があると思いますので、なかなか応答特性は、つかみにくいと思います。 P動作だけでは、ラインに対してのオフセットが大き過ぎるときに、I動作を使うと偏差を積分するので、オフセットが無くせるわけですが、無駄時間があると応答が遅くなるのでオーバーシュートして不安定になると思います。 オフセットが問題なければ、使わなくても良いと思います。 D動作は、微分ですから、偏差の起こり始めに効きますから、曲がり角などでは、有効でしょう。これは、進み要素なので効かせすぎるとやはり不安定になります。 いずれにしても、効かせ過ぎないように少しずつ試行錯誤する必要があります。 実用にするのでしたら、良い制御を期待するには、機械系の剛性を上げガタを無くし、慣性を小さくするのが一番だった記憶があります。

kam6
質問者

お礼

やはりそうですね、掴みきれない制御要素が重なりあってか、思った通り動いてくれません。これからがんばって、動作実験を繰り返してみます。  どうも有難うございました。

kam6
質問者

補足

「D動作は、微分ですから、偏差の起こり始めに効きますから…」の部分がよくわからないのですが、どういうことでしょうか? 教えていただけると助かります。

関連するQ&A

  • PID制御について。

    制御においてPID制御というのがあるのですが、それらの調整法を教えていただきたいです。 ちなみにPID制御のPは比例動作、Iは積分動作、Dは微分動作です。 ブロック線図で入力と出力の計算をして、実際にコンピュータをつかってDCモータに出力を与えていました。

  • トレースロボットの動きとPID動作の伝達関数式との関係について

    ライントレースロボットの前面に8個の光センサが搭載されていてラインを感知します。そのラインに沿って動くように2台のサーボモータの回転数を変えて追従走行するロボットです。このようなロボットで、プログラミング上でPID制御を用いているのですが、     PID制御の伝達関数の式   Gc(s) = C(s)/E(s) = Kp ( 1 + 1/Ti s + Td s ) と、関係あるとは思うのですがよくわかりません。 制御工学の初心者で参考書を読んでもわからないことが多くて困っています。 また、数学も未熟者です。こんな私ですが教えていただけると助かります。  よろしくお願いします。

  • サーボ機構 PID制御について

    先日大学でPID制御を用いて、ガイドスライダの動きを制御するという実験を行いました。実験の内容は、PID制御で制御されるガイドスライダ(サーボ機構?)に上向きに振子を取り付け、プログラミングでPゲインとDゲインの値を変え、それぞれのパターンに対して振子は安定するか、横軸を時間、縦軸を電圧とした波形はどのようなものになるかというものです。 今そのレポートで考察をまとめているのですが、PゲインとDゲインの値が変化したときの波形の特徴などが、全くといって言いほど考察できません。何しろ専攻は電気ではないので、そもそもPゲインやDゲインという定数は何の意味を持つのかというところから理解ができていません。一般的にこれらの定数は大きければ大きいほどいいのでしょうか?とにかく自動制御についての知識がほとんどないまま実験を行ってしまったため、詳しい方がいましたら、なるべく簡単な言葉で説明をお願いします...。

  • PID制御についての説明

    PID制御についての説明 P:5% 指示値が設定値より±5%以下の場合に設定値まで上昇させる数値? I:300秒 1回の信号を受けて比例制御で設定値まで上昇させる最大時間? D:10 設定値に近づいた時に、負荷を動作させ制御させる時間? 上記の内容は例(間違っていると思う)ですが、素人でも判る説明はどの様に記述すればよいかを教えて下さい。

  • PID制御の設定

    PIDパラメータの設定について教えてください。 レンジが0~50℃の温度調節器があり、PIDパラメータとして  P→3  I→10  D→1 と設定されています。 レンジを0~100℃の温度調節器に変更した時、同じ制御(操作量) をさせたいのですが、パラメータの設定値をいくつにすればよいのでしょうか? おそらく  P→1.5(レンジが倍になり敏感になるため1/2にする)  I→5  (レンジが倍になり鈍感になるため1/2にする) ではないかと思いますが、よろしいのでしょうか? また、Dについてはどう考えてよいのかわかりません。 よろしくお願いします。

  • PID制御

    PID制御で、P や I の係数をを大きくすると、立ち上がりが早くなる代わりにオーバシュートも大きくなると思っていたのですが、下記サイトの説明では逆ですね。そういうものなのでしょうか。 http://www.as-1.co.jp/academy/15/15-5.html

  • PID制御のプログラミング

    実際にPID制御のプログラミングを使用とした場合、サンプリングした離散データを元に制御を行うことになりますが、以下のページの説明ではやり方が異なるようです。どちらが正しいのでしょうか。 1.http://www.picfun.com/motor05.html   ΔMVn = Kp(en-en-1) + Ki en + Kd((en-en-1) - (en-1-en-2))   MVn、MVn-1:今回、前回操作量  ΔMVn:今回操作量差分   en,en-1,en-2:今回、前回、前々回の偏差 2.http://www.mech.utsunomiya-u.ac.jp/ozaki/education/kikaijyoho-2000/sec1.html   p=e   i=i+e   d=e-e1   y=Kp(p+Ki×i+Kd×d)

  • PID制御の学習内容と制御プログラムの関係

    PID制御の本を見ると、ボード線図、ベクトル軌跡、1次遅れ、2次遅れ、等々、色んな事が書いてありますが、これらと、実際の制御プログラムを作る際の関係がいまいち分かりません。 1次遅れだろうと2次遅れだろうと、P/I/Dのパラメータを調整するだけなのでは?と考えてしまいます。 PID制御のプログラムと、上記の諸々の関係はどうなっているのか、プログラム作成上役に立つのでしょうか? どうぞよろしくお願いします。

  • PID制御

    PID制御に関して学習しようと思っていると下記のような説明がでてきました。 >>積分時間TI は、ステップ偏差を与えたとき、P制御による操作信号>>変化に相当する操作信号変化をI制御のみで発生させるために必要>>な時間ということになります。したがって、積分時間TI を小さく>>すればするほど積分制御の影響が強くなります。 この意味が良く分かりません。なぜ積分時間を短くすればするほど、制御の影響が強くなるのでしょうか?? 比例制御と微分制御は理解できたのですが、積分制御に関しては上手く理解できていません。どなたかご教示願います。

  • PID制御について

    色々なHP等を見て分かりやすくPID制御プログラムを組み モータを駆動しているのですが友人も違った式でPID制御を実現して おり実現したプログラムのkp,ki,kdをこちらのkp,ki,kdに入れて見た所 どうも違った動きをしており不安になったので質問させていただきました。 よろしければご教授ください。 //// 各成分の計算 //// // Pパラメータ // iP = Kp * def; /* 定数 * 偏差値 */ // Iパラメータ // iI = Ki * def_inte; /* 定数 * 偏差累積値 */ // Dパラメータ // iD = Kd * (def - def_before); /* 定数 * 今回の偏差-前回の偏差 */ iRet = iP + iI + iD;    /*iRet = 出力duty*/