プロが教えるわが家の防犯対策術!

 ライントレースロボットの姿勢制御をプログラミングで行っているのですが、その時にPIDのゲインを変えてどんな動きをするか試してみました。Pの動作はわかるのですが、IとDの動作がよくわかりません。
 Iのゲインを少し上げるとロボットは直線でも車体が横にぶれながら走行します。また、Dは少し上げた程度では変わらないのですが、大きく上げるとIと同じように直線でも横にぶれてしまいます。
 具体的には、P、I、Dを200、0、200ならスムーズに走行できたコースでも200、2、200ならぶれてしまいます。また、200、0、3000でもぶれてしまいます。このような結果なのですがこのときのIとDは何に影響しているのでしょうか?
 まだ、未熟者ですのでヘタクソな質問かもしれませんが真剣に悩んでます。
宜しくお願い致します。

A 回答 (3件)

お礼をありがとうございます。

補足に回答します。
>「D動作は、微分ですから、偏差の起こり始めに効きますから…」
言葉がはしょってあってわかりにくかったでしょうか。
P動作が偏差量に比例して制御しようとするのに対して、D動作は、偏差があっても一定で変化が無ければ働きません。偏差に変化があったときだけ制御しようとします。
たぶん、曲がり角では、偏差量が増加して微分値がでるので、ここで効くことが期待できそうと思いました。
因みにI動作は、偏差が少しでもあれば、それを蓄積する感じで、あくまで働きます。
    • good
    • 0
この回答へのお礼

大変勉強になりました。本当に有難うございます。
後は、動作実験を繰り返し試行錯誤してみます。

お礼日時:2001/12/15 14:15

自動制御は、理論的には整然としていて、とても気持ちが良いものですが、実現しようとすると、掴みきれない制御要素が、たくさん有って結局試行錯誤になり難しいですね。


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

この回答への補足

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

補足日時:2001/12/15 10:55
    • good
    • 0
この回答へのお礼

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

お礼日時:2001/12/15 10:41

こんにちは。

私もライントレーサ作ったことがあります。(ステッピングモータ駆動、赤外線センサ確か16個。kam6さんのロボットはどんなものですか?)P制御しか使いませんでしたが、それでも難しかったです。工業高校の人などがすごく速いのを作っていると尊敬します。

センサーはロボットの前面についていますよね?すると方向転換するだけでラインの検出位置がずれてしまうことになって、単純なPID制御の理論が適用できなくなるということも一因かもしれないですね。現実的には試行錯誤しかないと思いますが、私も理論を知りたいです。アドバイスにもなっていませんが、参考までに。
    • good
    • 0
この回答へのお礼

ロボット本体の全面に8個の光センサをがあり、サーボモータを2台搭載して前輪は無く、左右のモータの回転数の差でコーナを曲がります。あとCPUはH8マイコンです。こんなロボットです。
 どうも有難うございました。

お礼日時:2001/12/15 10:49

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!